From 7790769dcb47996853b5f96a02cd08b0596e45bf Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Tue, 11 Jan 2011 21:41:04 +0100 Subject: [PATCH 001/168] Use StoredProcedures with ReportWizard --- .../Project/ReportWizard/ReportStructure.cs | 4 ++- .../WizardPanels/PullModelPanel.cs | 21 +++++++----- .../ReportWizard/WizardPanels/ResultPanel.cs | 33 ++++++++++++++++++- .../Project/ConnectionObject.cs | 1 - 4 files changed, 47 insertions(+), 12 deletions(-) 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 d56458363a..7916c74efe 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 @@ -5,6 +5,7 @@ using System; using System.Data; using System.Drawing; +using ICSharpCode.Data.Core.Interfaces; using ICSharpCode.Reports.Core; /// <summary> @@ -95,7 +96,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard public ICSharpCode.Reports.Core.GlobalEnums.PushPullModel DataModel {get;set;} - + public IDatabaseObjectBase IDatabaseObjectBase {get;set;} + public ParameterCollection SqlQueryParameters { get { if (this.queryParameters == null) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs index 53ea9f5a58..5de4d1b656 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs @@ -28,7 +28,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard private System.Windows.Forms.Label label3; private bool firstDrag; private string connectionString; -// private CommandType commandType; private ReportStructure reportStructure; private Properties customizer; private IDatabaseObjectBase currentNode; @@ -60,7 +59,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard base.EnableCancel = true; this.firstDrag = true; base.IsLastPanel = false; - //commandType = CommandType.Text; this.txtSqlString.Enabled = false; this.databasesTreeHost = new ElementHost() { Dock = DockStyle.Fill }; @@ -172,12 +170,16 @@ namespace ICSharpCode.Reports.Addin.ReportWizard // we insert Select * from.... otherwise we have to scan //the whole string for incorrect columnNames this.txtSqlString.Clear(); - this.txtSqlString.Text = "SELECT * FROM " + (draggedObject as ICSharpCode.Data.Core.Interfaces.ITable).Name; + ITable table = draggedObject as ITable; + this.txtSqlString.Text = "SELECT * FROM " + table.Name; reportStructure.CommandType = CommandType.Text; + reportStructure.IDatabaseObjectBase = table; break; case NodeType.ColumnImage: - string colName = (draggedObject as IColumn).Name; + IColumn column = draggedObject as IColumn; + string colName = column.Name; + if (this.txtSqlString.Text.Length == 0) { this.txtSqlString.AppendText("SELECT "); @@ -194,17 +196,18 @@ namespace ICSharpCode.Reports.Addin.ReportWizard this.txtSqlString.AppendText(colName); } reportStructure.CommandType = CommandType.Text; + reportStructure.IDatabaseObjectBase = column; break; case NodeType.ProcedureImage: this.txtSqlString.Clear(); // we can't use the dragobject because it returns an string like 'EXECUTE ProcName' - IProcedure procedure = draggedObject as IProcedure; - this.txtSqlString.Text = "EXECUTE " + procedure.Name; + IProcedure procedure = draggedObject as IProcedure; + this.txtSqlString.Text = "[" + procedure.Name + "]"; reportStructure.CommandType = CommandType.StoredProcedure; -// reportStructure.SharpQueryProcedure = new SharpQueryProcedure(new SharpQuery.Connection.OLEDBConnectionWrapper(this.connectionString), procedure.Parent.Name, procedure.SchemaName, string.Empty, procedure.Name); - break; + reportStructure.IDatabaseObjectBase = procedure; + break; case NodeType.ViewImage: this.txtSqlString.Text = String.Empty; @@ -288,7 +291,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard NodeType enm; if (node is IColumn) { enm = NodeType.ColumnImage; - } else if (node is ICSharpCode.Data.Core.Interfaces.ITable) { + } else if (node is ITable) { enm = NodeType.TableImage; } else if (node is IProcedure) { enm = NodeType.ProcedureImage; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs index 27a5c98ca9..3442add981 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs @@ -61,16 +61,22 @@ namespace ICSharpCode.Reports.Addin.ReportWizard this.txtSqlString.Text = String.Empty; SqlQueryChecker.Check(model.ReportSettings.CommandType, model.ReportSettings.CommandText); + DataSet dataSet = ResultPanel.CreateDataSet (); switch (model.ReportSettings.CommandType) { case CommandType.Text: this.txtSqlString.Text = model.ReportSettings.CommandText; + ICSharpCode.Data.Core.Interfaces.ITable t = reportStructure.IDatabaseObjectBase as ICSharpCode.Data.Core.Interfaces.ITable; + var v = reportStructure.IDatabaseObjectBase; dataSet = BuildFromSqlString(); break; case CommandType.StoredProcedure: - MessageService.ShowError("Stored Procedures are not suppurted at the moment"); + ICSharpCode.Data.Core.Interfaces.IProcedure tt = reportStructure.IDatabaseObjectBase as ICSharpCode.Data.Core.Interfaces.IProcedure; + var vv = reportStructure.IDatabaseObjectBase; + + dataSet = DatasetFromStoredProcedure(); break; case CommandType.TableDirect: MessageService.ShowError("TableDirect is not suppurted at the moment"); @@ -106,6 +112,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } + + private static DataSet CreateDataSet() { DataSet dataSet = new DataSet(); @@ -211,6 +219,29 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } } + + DataSet DatasetFromStoredProcedure() + { +// MessageService.ShowError("Stored Procedures are not suppurted at the moment"); + DbDataAdapter adapter = null; + string sqp = model.ReportSettings.CommandText; + + try { + + adapter = this.BuildAdapter(); + + DataSet dataSet = ResultPanel.CreateDataSet(); + + adapter.Fill(dataSet); + return dataSet; + } finally { + if (adapter.SelectCommand.Connection.State == ConnectionState.Open) { + adapter.SelectCommand.Connection.Close(); + } + } + } + + #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ConnectionObject.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ConnectionObject.cs index 288542681e..4cb3f88045 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ConnectionObject.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ConnectionObject.cs @@ -4,7 +4,6 @@ using System; using System.Data; using System.Data.Common; -//using System.Data.OleDb; /// <summary> /// This class handles the connection to a DataBase From ca41b2c903dbce6fec0870aba9a5cace71e5e263 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Thu, 13 Jan 2011 20:58:58 +0100 Subject: [PATCH 002/168] Wizard uses DataAccess Code from .Core --- .../ReportWizard/WizardPanels/ResultPanel.cs | 112 ++++++++++-------- .../Project/DataManager/SqlDataAccess.cs | 2 +- 2 files changed, 65 insertions(+), 49 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs index 3442add981..31f693fc76 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs @@ -11,10 +11,10 @@ using System.Xml; using ICSharpCode.Core; using ICSharpCode.Core.WinForms; +using ICSharpCode.Data.Core.Interfaces; using ICSharpCode.Reports.Core; using ICSharpCode.SharpDevelop; - namespace ICSharpCode.Reports.Addin.ReportWizard { /// <summary> @@ -58,24 +58,24 @@ namespace ICSharpCode.Reports.Addin.ReportWizard this.connectionObject = ConnectionObject.CreateInstance(this.model.ReportSettings.ConnectionString, System.Data.Common.DbProviderFactories.GetFactory("System.Data.OleDb")); - this.txtSqlString.Text = String.Empty; +// this.txtSqlString.Text = String.Empty; SqlQueryChecker.Check(model.ReportSettings.CommandType, model.ReportSettings.CommandText); DataSet dataSet = ResultPanel.CreateDataSet (); - + this.txtSqlString.Text = model.ReportSettings.CommandText; switch (model.ReportSettings.CommandType) { case CommandType.Text: - this.txtSqlString.Text = model.ReportSettings.CommandText; - ICSharpCode.Data.Core.Interfaces.ITable t = reportStructure.IDatabaseObjectBase as ICSharpCode.Data.Core.Interfaces.ITable; - var v = reportStructure.IDatabaseObjectBase; - dataSet = BuildFromSqlString(); + ITable t = reportStructure.IDatabaseObjectBase as ITable; + connectionObject.QueryString = model.ReportSettings.CommandText; + var d = new SqlDataAccessStrategy(model.ReportSettings,connectionObject); + dataSet = d.ReadData(); + dataSet.Tables[0].TableName = t.Name; break; case CommandType.StoredProcedure: - ICSharpCode.Data.Core.Interfaces.IProcedure tt = reportStructure.IDatabaseObjectBase as ICSharpCode.Data.Core.Interfaces.IProcedure; - var vv = reportStructure.IDatabaseObjectBase; - + +// var vv = reportStructure.IDatabaseObjectBase; dataSet = DatasetFromStoredProcedure(); break; case CommandType.TableDirect: @@ -111,8 +111,62 @@ namespace ICSharpCode.Reports.Addin.ReportWizard return dataSet; } + /* + private DataSet BuildFromSqlString () + { + DbDataAdapter adapter = null; + try { + adapter = this.BuildAdapter(); + DataSet dataSet = ResultPanel.CreateDataSet(); + adapter.Fill(dataSet); + return dataSet; + } finally { + if (adapter.SelectCommand.Connection.State == ConnectionState.Open) { + adapter.SelectCommand.Connection.Close(); + } + } + } + */ + DataSet DatasetFromStoredProcedure() + { + + DbDataAdapter adapter = null; + try { + DataSet dataSet = ResultPanel.CreateDataSet(); + IProcedure tt = reportStructure.IDatabaseObjectBase as IProcedure; + var paramCollection = CheckParameters(tt); + + if (paramCollection.Count > 0) { + + } else { + adapter = this.BuildAdapter(); + + } + + adapter.Fill(dataSet); + return dataSet; + } finally { + if (adapter.SelectCommand.Connection.State == ConnectionState.Open) { + adapter.SelectCommand.Connection.Close(); + } + } + } + ParameterCollection CheckParameters(IProcedure procedure) + { + ParameterCollection col = new ParameterCollection(); + +// foreach (var element in procedure.Items) { +// Console.WriteLine("{0} - {1}",element.Name,element.DataType); +// +// SqlParameter par = new SqlParameter(element.Name,element.DataType,"",element.ParameterMode); +// +// p.Add(par); +// +// } + return col; + } private static DataSet CreateDataSet() { @@ -204,44 +258,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } */ - private DataSet BuildFromSqlString () - { - DbDataAdapter adapter = null; - try { - adapter = this.BuildAdapter(); - DataSet dataSet = ResultPanel.CreateDataSet(); - adapter.Fill(dataSet); - return dataSet; - } finally { - if (adapter.SelectCommand.Connection.State == ConnectionState.Open) { - adapter.SelectCommand.Connection.Close(); - } - } - } - - - DataSet DatasetFromStoredProcedure() - { -// MessageService.ShowError("Stored Procedures are not suppurted at the moment"); - DbDataAdapter adapter = null; - string sqp = model.ReportSettings.CommandText; - - try { - - adapter = this.BuildAdapter(); - - DataSet dataSet = ResultPanel.CreateDataSet(); - - adapter.Fill(dataSet); - return dataSet; - } finally { - if (adapter.SelectCommand.Connection.State == ConnectionState.Open) { - adapter.SelectCommand.Connection.Close(); - } - } - } - - #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs index aea67f8779..750882841d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs @@ -14,7 +14,7 @@ namespace ICSharpCode.Reports.Core /// </summary> /// - internal class SqlDataAccessStrategy:IDataAccessStrategy + public class SqlDataAccessStrategy:IDataAccessStrategy { private ConnectionObject connectionObject; private ReportSettings reportSettings; From 781eca8ccad8fff0457821a02d4d897aba55bfed Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Mon, 17 Jan 2011 20:38:59 +0100 Subject: [PATCH 003/168] StoredProcedures with Parameters --- .../ReportWizard/WizardPanels/ResultPanel.cs | 193 ++++++------------ .../ICSharpCode.Reports.Core.csproj | 1 + .../BaseClasses/Printing/StandardFormatter.cs | 10 +- .../Project/BaseClasses/SqlParameter.cs | 19 +- .../Project/BaseClasses/TypeHelpers.cs | 73 +++++++ .../Project/DataManager/SqlDataAccess.cs | 2 +- .../Project/ReportParameters.cs | 7 +- 7 files changed, 151 insertions(+), 154 deletions(-) create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/TypeHelpers.cs diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs index 31f693fc76..8f20ffb37a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs @@ -2,6 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using System.ComponentModel; using System.Data; using System.Data.Common; using System.Drawing; @@ -11,8 +12,10 @@ using System.Xml; using ICSharpCode.Core; using ICSharpCode.Core.WinForms; +using ICSharpCode.Data.Core.Enums; using ICSharpCode.Data.Core.Interfaces; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Project.BaseClasses; using ICSharpCode.SharpDevelop; namespace ICSharpCode.Reports.Addin.ReportWizard @@ -55,10 +58,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard private DataSet FillGrid() { - this.connectionObject = ConnectionObject.CreateInstance(this.model.ReportSettings.ConnectionString, - System.Data.Common.DbProviderFactories.GetFactory("System.Data.OleDb")); - -// this.txtSqlString.Text = String.Empty; SqlQueryChecker.Check(model.ReportSettings.CommandType, model.ReportSettings.CommandText); @@ -67,15 +66,15 @@ namespace ICSharpCode.Reports.Addin.ReportWizard this.txtSqlString.Text = model.ReportSettings.CommandText; switch (model.ReportSettings.CommandType) { case CommandType.Text: + ITable t = reportStructure.IDatabaseObjectBase as ITable; - connectionObject.QueryString = model.ReportSettings.CommandText; - var d = new SqlDataAccessStrategy(model.ReportSettings,connectionObject); - dataSet = d.ReadData(); + this.connectionObject = CreateConnection (t); + var dataAccess = new SqlDataAccessStrategy(model.ReportSettings,connectionObject); + dataSet = dataAccess.ReadData(); dataSet.Tables[0].TableName = t.Name; break; case CommandType.StoredProcedure: - -// var vv = reportStructure.IDatabaseObjectBase; + dataSet = DatasetFromStoredProcedure(); break; case CommandType.TableDirect: @@ -111,63 +110,79 @@ namespace ICSharpCode.Reports.Addin.ReportWizard return dataSet; } - /* - private DataSet BuildFromSqlString () + ConnectionObject CreateConnection(IDatabaseObjectBase t) { - DbDataAdapter adapter = null; - try { - adapter = this.BuildAdapter(); - DataSet dataSet = ResultPanel.CreateDataSet(); - adapter.Fill(dataSet); - return dataSet; - } finally { - if (adapter.SelectCommand.Connection.State == ConnectionState.Open) { - adapter.SelectCommand.Connection.Close(); - } - } + + var conobj = ConnectionObject.CreateInstance(this.model.ReportSettings.ConnectionString, + System.Data.Common.DbProviderFactories.GetFactory("System.Data.OleDb")); + conobj.QueryString = model.ReportSettings.CommandText; + return conobj; + } - */ DataSet DatasetFromStoredProcedure() { - DbDataAdapter adapter = null; - try { - DataSet dataSet = ResultPanel.CreateDataSet(); - IProcedure tt = reportStructure.IDatabaseObjectBase as IProcedure; - var paramCollection = CheckParameters(tt); + IProcedure procedure = reportStructure.IDatabaseObjectBase as IProcedure; + this.connectionObject = CreateConnection(procedure); + + DataSet dataSet = ResultPanel.CreateDataSet(); + + var paramCollection = CheckParameters(procedure); + + + if (paramCollection.Count > 0) { - if (paramCollection.Count > 0) { - - } else { - adapter = this.BuildAdapter(); - - } + FillParameters(paramCollection); + model.ReportSettings.ParameterCollection.AddRange(paramCollection); + reportStructure.SqlQueryParameters.AddRange(paramCollection); - adapter.Fill(dataSet); - return dataSet; - } finally { - if (adapter.SelectCommand.Connection.State == ConnectionState.Open) { - adapter.SelectCommand.Connection.Close(); + } + + var dataAccess = new SqlDataAccessStrategy(model.ReportSettings,connectionObject); + dataSet = dataAccess.ReadData(); + dataSet.Tables[0].TableName = procedure.Name; + + return dataSet; + } + + + + bool FillParameters(ParameterCollection paramCollection) + { + using (var p = new ParameterDialog(paramCollection)) + { + p.ShowDialog(); + if(p.DialogResult == DialogResult.OK) + { + + } } - } + return true; } + ParameterCollection CheckParameters(IProcedure procedure) { ParameterCollection col = new ParameterCollection(); + SqlParameter par = null; + foreach (var element in procedure.Items) { -// foreach (var element in procedure.Items) { -// Console.WriteLine("{0} - {1}",element.Name,element.DataType); -// -// SqlParameter par = new SqlParameter(element.Name,element.DataType,"",element.ParameterMode); -// -// p.Add(par); -// -// } + DbType dbType = TypeHelpers.DbTypeFromStringRepresenation(element.DataType); + par = new SqlParameter(element.Name,dbType,"",ParameterDirection.Input); + + if (element.ParameterMode == ParameterMode.In) { + par.ParameterDirection = ParameterDirection.Input; + + } else if (element.ParameterMode == ParameterMode. InOut){ + par.ParameterDirection = ParameterDirection.InputOutput; + } + col.Add(par); + } return col; } + private static DataSet CreateDataSet() { DataSet dataSet = new DataSet(); @@ -175,89 +190,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard return dataSet; } - - private DbDataAdapter BuildAdapter () { - DbDataAdapter adapter = this.connectionObject.ProviderFactory.CreateDataAdapter(); - adapter.SelectCommand = (DbCommand)this.BuildCommand(); - return adapter; - } - - private IDbCommand BuildCommand () - { - if (this.connectionObject != null) { - IDbCommand command = this.connectionObject.Connection.CreateCommand(); - command.CommandText = this.model.ReportSettings.CommandText; - command.CommandType = this.model.ReportSettings.CommandType; - return command; - } - throw new MissingDataSourceException(); - } - /* - private DataSet ExecuteStoredProc () - { - - DbDataAdapter adapter = null; - try { - adapter = this.BuildAdapter(); - DataSet dataSet = ResultPanel.CreateDataSet(); - adapter.Fill(dataSet); - return dataSet; - - }finally { - if (adapter.SelectCommand.Connection.State == ConnectionState.Open) { - adapter.SelectCommand.Connection.Close(); - } - } - } - */ - /* - private DataSet ExecuteStoredProc (SharpQueryProcedure procedure) - { - - SharpQuerySchemaClassCollection tmp = procedure.GetSchemaParameters(); - this.sqlParamsCollection = new ParameterCollection(); - SqlParameterConverter converter = new SqlParameterConverter(); - - if (converter.CanConvertFrom(typeof(SharpQuerySchemaClassCollection))) { - if (converter.CanConvertTo(null,typeof(ParameterCollection))){ - sqlParamsCollection = (ParameterCollection)converter.ConvertTo(null, - CultureInfo.InstalledUICulture, - tmp, - typeof(ParameterCollection)); - } - } - - if (sqlParamsCollection.Count > 0){ - using (ParameterDialog inputform = new ParameterDialog(sqlParamsCollection)) { - if ( inputform.ShowDialog() != DialogResult.OK ){ - return null; - } - else - { - IDbCommand command = this.BuildCommand(); - DbDataAdapter adapter = this.BuildAdapter(); - DataSet dataSet = ResultPanel.CreateDataSet(); - try { - SqlDataAccessStrategy.BuildQueryParameters(command,sqlParamsCollection); - adapter.SelectCommand = (DbCommand)command; - - adapter.Fill (dataSet); - return dataSet; - } catch (Exception e) { - MessageService.ShowError(e.Message); - } finally { - if (adapter.SelectCommand.Connection.State == ConnectionState.Open) { - adapter.SelectCommand.Connection.Close(); - } - } - } - } - } - return null; - } - -*/ #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index 264bb5786e..b8625d0a3f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -77,6 +77,7 @@ <Compile Include="..\..\..\..\Main\GlobalAssemblyInfo.cs"> <Link>Project\Configuration\GlobalAssemblyInfo.cs</Link> </Compile> + <Compile Include="Project\BaseClasses\TypeHelpers.cs" /> <Compile Include="Project\BaseClasses\CurrentItem.cs" /> <Compile Include="Project\BaseClasses\GroupColumn.cs" /> <Compile Include="Project\BaseClasses\PageInfo.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardFormatter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardFormatter.cs index 0a3411dfc0..5e58f993aa 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardFormatter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardFormatter.cs @@ -3,6 +3,7 @@ using System; using System.Globalization; +using ICSharpCode.Reports.Core.Project.BaseClasses; /// <summary> /// This Class handles the formatting of Output Values depending on there @@ -17,18 +18,11 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing internal static class StandardFormatter { - private static TypeCode TypeCodeFromString (string type) { - if (String.IsNullOrEmpty(type)) { - throw new ArgumentNullException("type"); - } - return Type.GetTypeCode( Type.GetType(type)); - } - public static string FormatOutput(string valueToFormat,string format, string dataType, string nullValue ) { - TypeCode typeCode = TypeCodeFromString(dataType); + TypeCode typeCode = TypeHelpers.TypeCodeFromString(dataType); return StandardFormatter.FormatItem(valueToFormat,format, typeCode,nullValue); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SqlParameter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SqlParameter.cs index d75552f965..49f2eb2bfe 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SqlParameter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SqlParameter.cs @@ -19,9 +19,7 @@ namespace ICSharpCode.Reports.Core /// </remarks> public class SqlParameter : BasicParameter { - DbType dataType; - - ParameterDirection parameterDirection = ParameterDirection.InputOutput; + // ParameterDirection parameterDirection = ParameterDirection.InputOutput; #region Constructor public SqlParameter () @@ -50,7 +48,7 @@ namespace ICSharpCode.Reports.Core ParameterDirection parameterDirection):base(parameterName,parameterValue) { this.DataType = dataType; - this.parameterDirection = parameterDirection; + this.ParameterDirection = parameterDirection; } #endregion @@ -62,20 +60,15 @@ namespace ICSharpCode.Reports.Core /// <see cref="System.Data.DbType">DbType</see> /// </summary> /// - public DbType DataType { - get {return dataType;} - set {dataType = value;} - } + public DbType DataType {get;set;} + - ///<summary> /// Direction of Parameter /// <see cref="System.Data.ParameterDirection">ParameterDirection</see> ///</summary> - public ParameterDirection ParameterDirection { - get {return parameterDirection;} - set {parameterDirection = value;} - } + public ParameterDirection ParameterDirection {get;set;} + } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/TypeHelpers.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/TypeHelpers.cs new file mode 100644 index 0000000000..a1c67a2cc9 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/TypeHelpers.cs @@ -0,0 +1,73 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 16.01.2011 + * Time: 17:46 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Data; + +namespace ICSharpCode.Reports.Core.Project.BaseClasses +{ + /// <summary> + /// Description of . + /// </summary> + public class TypeHelpers + { + //http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/16e981bd-4fa1-4ad2-9f45-5f434489e1e2/ + + public static DbType DbTypeFromStringRepresenation(string type) + { + switch (type.ToLower()) + { + case "int16": + return DbType.Int16; + case "int32": + return DbType.Int32; + case "int64": + return DbType.Int64; + case "uint16": + return DbType.UInt16; + case "uint32": + return DbType.UInt32; + case "uint64": + return DbType.UInt64; + case "single": + return DbType.Single; + case "double": + return DbType.Double; + case "decimal": + return DbType.Decimal; + case "datetime" : + return DbType.DateTime; + case "datetime2" : + return DbType.DateTime2; + case "boolean" : + return DbType.Boolean; + case "nvarchar": + return DbType.String; + case "varchar": + return DbType.AnsiString; + case "binary": + return DbType.Binary; + case "currency": + return DbType.Currency; + case "guid": + return DbType.Guid; + case "xml": + return DbType.Xml; + default: + return DbType.Object; + } + } + + public static TypeCode TypeCodeFromString (string type) { + if (String.IsNullOrEmpty(type)) { + throw new ArgumentNullException("type"); + } + return Type.GetTypeCode( Type.GetType(type)); + } + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs index 750882841d..0dacb10733 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs @@ -86,7 +86,7 @@ namespace ICSharpCode.Reports.Core } - public static void BuildQueryParameters (IDbCommand cmd, + private static void BuildQueryParameters (IDbCommand cmd, ParameterCollection parameterCollection) { if (parameterCollection != null && parameterCollection.Count > 0) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportParameters.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportParameters.cs index c38bcaccfd..ef09c03dd5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportParameters.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportParameters.cs @@ -11,8 +11,11 @@ using System; /// created by - Forstmeier Peter /// created on - 17.11.2005 22:41:26 /// </remarks> -namespace ICSharpCode.Reports.Core { - public class ReportParameters : object { +namespace ICSharpCode.Reports.Core +{ + + public class ReportParameters + { private ConnectionObject connectionObject; private ParameterCollection sqlParameters; From 9aa1c28e12ef7efafa787da7679f8dcb6b1662e6 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Mon, 17 Jan 2011 20:39:17 +0100 Subject: [PATCH 004/168] http://community.sharpdevelop.net/forums/t/12555.aspx --- .../Project/Exporter/ExportRenderer/PrintRenderer.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PrintRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PrintRenderer.cs index 7e05a601a3..b6a11580f5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PrintRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PrintRenderer.cs @@ -45,9 +45,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer{ { this.PrintDocument = new PrintDocument(); this.PrintDocument.PrinterSettings = new PrinterSettings(); - - -// doc.QueryPageSettings += new QueryPageSettingsEventHandler(OnQueryPage); + this.PrintDocument.BeginPrint += new PrintEventHandler(OnBeginPrint); this.PrintDocument.EndPrint += new PrintEventHandler(OnEndPrint); this.PrintDocument.PrintPage += new PrintPageEventHandler(OnPrintPage); @@ -91,7 +89,9 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer{ base.RenderOutput(); if (this.printerSettings != null) { this.PrintDocument.PrinterSettings = this.printerSettings; + } + this.PrintDocument.Print(); } From 0d73f428e8312f46b96fc2423ccab8f8684f9f3f Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Tue, 18 Jan 2011 20:26:26 +0100 Subject: [PATCH 005/168] Add Type to ParametersDialog --- .../ReportWizard/WizardPanels/ResultPanel.cs | 56 +++++-------------- .../Project/BaseClasses/BasicParameter.cs | 23 +++----- .../Project/BaseClasses/SqlParameter.cs | 8 +-- 3 files changed, 24 insertions(+), 63 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs index 8f20ffb37a..ab8cc64885 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs @@ -14,6 +14,7 @@ using ICSharpCode.Core; using ICSharpCode.Core.WinForms; using ICSharpCode.Data.Core.Enums; using ICSharpCode.Data.Core.Interfaces; +using ICSharpCode.Reports.Addin.Commands; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.Project.BaseClasses; using ICSharpCode.SharpDevelop; @@ -66,7 +67,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard this.txtSqlString.Text = model.ReportSettings.CommandText; switch (model.ReportSettings.CommandType) { case CommandType.Text: - ITable t = reportStructure.IDatabaseObjectBase as ITable; this.connectionObject = CreateConnection (t); var dataAccess = new SqlDataAccessStrategy(model.ReportSettings,connectionObject); @@ -74,7 +74,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard dataSet.Tables[0].TableName = t.Name; break; case CommandType.StoredProcedure: - dataSet = DatasetFromStoredProcedure(); break; case CommandType.TableDirect: @@ -83,33 +82,11 @@ namespace ICSharpCode.Reports.Addin.ReportWizard default: throw new Exception("Invalid value for CommandType"); } - - - if (model.ReportSettings.CommandType == CommandType.StoredProcedure){ - /* - if (reportStructure.SharpQueryProcedure == null) { - throw new IllegalQueryException(); - } - - SharpQueryProcedure procedure = reportStructure.SharpQueryProcedure; - SharpQuerySchemaClassCollection sc = procedure.GetSchemaParameters(); - - if ((sc != null) && sc.Count > 0) { - dataSet = ExecuteStoredProc (procedure); - }else { - dataSet = ExecuteStoredProc (); - } - */ - } - - // from here we create from an SqlString like "Select...." -// if (model.ReportSettings.CommandType == CommandType.Text){ -// this.txtSqlString.Text = model.ReportSettings.CommandText; -// dataSet = BuildFromSqlString(); -// } return dataSet; } + + ConnectionObject CreateConnection(IDatabaseObjectBase t) { @@ -120,6 +97,10 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } + + + + DataSet DatasetFromStoredProcedure() { @@ -132,33 +113,24 @@ namespace ICSharpCode.Reports.Addin.ReportWizard if (paramCollection.Count > 0) { - FillParameters(paramCollection); - model.ReportSettings.ParameterCollection.AddRange(paramCollection); reportStructure.SqlQueryParameters.AddRange(paramCollection); - - } + } var dataAccess = new SqlDataAccessStrategy(model.ReportSettings,connectionObject); - dataSet = dataAccess.ReadData(); - dataSet.Tables[0].TableName = procedure.Name; + dataSet = dataAccess.ReadData(); + dataSet.Tables[0].TableName = procedure.Name; return dataSet; } - bool FillParameters(ParameterCollection paramCollection) + void FillParameters(ParameterCollection paramCollection) { - using (var p = new ParameterDialog(paramCollection)) - { - p.ShowDialog(); - if(p.DialogResult == DialogResult.OK) - { - - } - } - return true; + model.ReportSettings.ParameterCollection.AddRange(paramCollection); + CollectParametersCommand p = new CollectParametersCommand(model); + p.Run(); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/BasicParameter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/BasicParameter.cs index 807858ca77..f8030e4416 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/BasicParameter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/BasicParameter.cs @@ -15,8 +15,7 @@ namespace ICSharpCode.Reports.Core public class BasicParameter { - string parameterName; - string parameterValue; + public BasicParameter () { @@ -25,23 +24,15 @@ namespace ICSharpCode.Reports.Core public BasicParameter(string parameterName,string parameterValue) { - this.parameterName = parameterName; - this.parameterValue = parameterValue; + this.ParameterName = parameterName; + this.ParameterValue = parameterValue; } + public string ParameterName {get;set;} - /// <summary> - /// Name of the Parameter - /// </summary> - /// - public string ParameterName { - get {return parameterName;} - set {this.parameterName = value;} - } + public string Type {get;set;} + + public string ParameterValue {get;set;} - public string ParameterValue { - get { return parameterValue; } - set { parameterValue = value; } - } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SqlParameter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SqlParameter.cs index 49f2eb2bfe..276c52154d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SqlParameter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SqlParameter.cs @@ -8,9 +8,6 @@ namespace ICSharpCode.Reports.Core { /// <summary> - /// According to the definition in - /// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rsrdl/htm/rsp_ref_rdl_elements_qz_629g.asp - /// /// This Class definies a Reportparameter /// </summary> /// <remarks> @@ -19,9 +16,9 @@ namespace ICSharpCode.Reports.Core /// </remarks> public class SqlParameter : BasicParameter { - // ParameterDirection parameterDirection = ParameterDirection.InputOutput; #region Constructor + public SqlParameter () :this(String.Empty,DbType.String,String.Empty,ParameterDirection.Input) { @@ -48,7 +45,8 @@ namespace ICSharpCode.Reports.Core ParameterDirection parameterDirection):base(parameterName,parameterValue) { this.DataType = dataType; - this.ParameterDirection = parameterDirection; + this.ParameterDirection = parameterDirection; + base.Type = DataType.ToString(); } #endregion From 5ee2c427571b52dd4f9fb35da9d64298e9784cb7 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 30 Jan 2011 18:00:11 +0100 Subject: [PATCH 006/168] Reduce size of ExportCollection for about 50% --- .../Project/Collections/Collections.cs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) 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 710b951c4d..7cbc1a064c 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 @@ -355,15 +355,12 @@ namespace ICSharpCode.Reports.Core{ } #region ExporterCollection + public class ExporterCollection : Collection<BaseExportColumn> { public void AddRange (IEnumerable <BaseExportColumn> items){ foreach (var item in items) { - IExportContainer container = item as IExportContainer; - if (container != null) { - AddRange(container.Items); - } this.Add (item); } } From 1f90834ddfdb4d966dc8114a418d5322530939fb Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 30 Jan 2011 20:10:29 +0100 Subject: [PATCH 007/168] Adjust Evaluation of Rows --- .../ICSharpCode.Reports.Core.csproj | 1 + .../BaseClasses/Printing/StandardPrinter.cs | 45 +------------ .../Exporter/Converters/BaseConverter.cs | 26 +++++++- .../Converters/GroupedRowConverter.cs | 10 +-- .../Converters/GroupedTableConverter.cs | 5 +- .../Project/Expressions/EvaluationHelper.cs | 65 +++++++++++++++++++ .../Project/Printing/AbstractRenderer.cs | 2 +- 7 files changed, 98 insertions(+), 56 deletions(-) create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index b8625d0a3f..a836439159 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -138,6 +138,7 @@ <Compile Include="Project\Exceptions\WrongColumnException.cs" /> <Compile Include="Project\Exceptions\WrongSectionException.cs" /> <Compile Include="Project\Exporter\Converters\GroupedTableConverter.cs" /> + <Compile Include="Project\Expressions\EvaluationHelper.cs" /> <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\ReportingService\FieldReference.cs" /> <Compile Include="Project\Exporter\BasePager.cs" /> <Compile Include="Project\Exporter\Converters\BaseConverter.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs index 484c4efd86..cf2b618977 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs @@ -179,6 +179,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing #endregion + #region Container @@ -228,48 +229,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing } #endregion - - #region Evaluate - - - public static IExpressionEvaluatorFacade SetupEvaluator () - { - return new ExpressionEvaluatorFacade(null); - } - - - public static IExpressionEvaluatorFacade CreateEvaluator (ISinglePage singlePage,IDataNavigator dataNavigator) - { - if (singlePage == null) { - - throw new ArgumentNullException("singlePage"); - } - if (dataNavigator == null) { - throw new ArgumentNullException("dataNavigator"); - } - singlePage.IDataNavigator = dataNavigator; - IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(singlePage); - return evaluatorFacade; - } - - - public static void EvaluateRow(IExpressionEvaluatorFacade evaluator,ExporterCollection row) - { - try { - foreach (BaseExportColumn element in row) { - ExportText textItem = element as ExportText; - if (textItem != null) { -// if (textItem.Text.StartsWith("=",StringComparison.InvariantCulture)) { -//// Console.WriteLine(textItem.Text); -// } - textItem.Text = evaluator.Evaluate(textItem.Text); - } - } - } catch (Exception) { - throw ; - } - } - - #endregion + } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index 1c0bff7623..6f01362ef1 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -48,7 +48,7 @@ namespace ICSharpCode.Reports.Core.Exporter this.DataNavigator = dataNavigator; SectionBounds = this.SinglePage.SectionBounds; this.Layouter = layouter; - this.Evaluator = StandardPrinter.CreateEvaluator(this.SinglePage,this.DataNavigator); + this.Evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.DataNavigator); } @@ -247,6 +247,26 @@ namespace ICSharpCode.Reports.Core.Exporter } + protected Point ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer) + { + var rowSize = simpleContainer.Size; +Console.WriteLine("ConvertStandardRow"); + + Point curPos = new Point (DefaultLeftPosition,CurrentPosition.Y + simpleContainer.Size.Height); + + ExporterCollection ml = BaseConverter.ConvertItems (simpleContainer, curPos); + //curPos = new Point (DefaultLeftPosition,curPos.Y + simpleContainer.Size.Height); + EvaluationHelper.EvaluateRow(Evaluator,ml); + mylist.AddRange(ml); + // + simpleContainer.Size = rowSize; + Console.WriteLine(""); + return curPos; + + } + + + /* protected Point ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer) { var rowSize = simpleContainer.Size; @@ -258,11 +278,11 @@ Console.WriteLine("ConvertStandardRow"); return curPos; } - + */ protected void AfterConverting (ExporterCollection convertedList) { - StandardPrinter.EvaluateRow(Evaluator,convertedList); + EvaluationHelper.EvaluateRow(Evaluator,convertedList); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index 5ff2050a82..3a285aca66 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -5,6 +5,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Interfaces; +using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core.Exporter { @@ -68,7 +69,6 @@ namespace ICSharpCode.Reports.Core.Exporter childSize = section.Items[1].Size; } - do { base.SaveSectionSize(section.Size); PrintHelper.AdjustSectionLocation (section); @@ -103,8 +103,6 @@ namespace ICSharpCode.Reports.Core.Exporter FillRow(simpleContainer,childNavigator); FireRowRendering(simpleContainer,childNavigator); PrepareContainerForConverting(section,simpleContainer); - -// FireRowRendering(simpleContainer,childNavigator); base.CurrentPosition = ConvertStandardRow(exporterCollection,simpleContainer); CheckForPageBreak(section,exporterCollection); } @@ -121,12 +119,10 @@ namespace ICSharpCode.Reports.Core.Exporter else { // No Grouping at all, the first item in section.items is the DetailRow - Size containerSize = section.Items[0].Size; FillRow(simpleContainer,base.DataNavigator); FireRowRendering(simpleContainer,base.DataNavigator); base.PrepareContainerForConverting(section,simpleContainer); -// FireRowRendering(simpleContainer,base.DataNavigator); base.CurrentPosition = ConvertStandardRow (exporterCollection,simpleContainer); section.Size = base.RestoreSectionSize; section.Items[0].Size = containerSize; @@ -180,10 +176,10 @@ namespace ICSharpCode.Reports.Core.Exporter base.FireSectionRendering(section); ExporterCollection list = StandardPrinter.ConvertPlainCollection(groupCollection,offset); - StandardPrinter.EvaluateRow(base.Evaluator,list); + EvaluationHelper.EvaluateRow(base.Evaluator,list); exportList.AddRange(list); - AfterConverting (list); + //AfterConverting (list); retVal = new Point (DefaultLeftPosition,offset.Y + groupCollection[0].Size.Height + 20 + (3 *GlobalValues.GapBetweenContainer)); } else { FillRow(groupedRows[0],base.DataNavigator); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs index 6ebcc10687..e6b102f288 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs @@ -8,6 +8,7 @@ using System.Linq; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Interfaces; +using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core.Exporter { @@ -207,9 +208,9 @@ base.PrepareContainerForConverting(section,simpleContainer); groupCollection = section.Items.ExtractGroupedColumns(); base.DataNavigator.Fill(groupCollection); base.FireSectionRendering(section); - ExporterCollection list = StandardPrinter.ConvertPlainCollection(groupCollection,offset); - StandardPrinter.EvaluateRow(base.Evaluator,list); + ExporterCollection list = StandardPrinter.ConvertPlainCollection(groupCollection,offset); + EvaluationHelper.EvaluateRow(base.Evaluator,list); exportList.AddRange(list); AfterConverting (list); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs new file mode 100644 index 0000000000..29a22550c4 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs @@ -0,0 +1,65 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 30.01.2011 + * Time: 19:59 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Interfaces; + +namespace ICSharpCode.Reports.Expressions.ReportingLanguage +{ + /// <summary> + /// Description of EvaluationHelper. + /// </summary> + public class EvaluationHelper + { + + public static IExpressionEvaluatorFacade SetupEvaluator () + { + return new ExpressionEvaluatorFacade(null); + } + + + public static IExpressionEvaluatorFacade CreateEvaluator (ISinglePage singlePage,IDataNavigator dataNavigator) + { + if (singlePage == null) { + + throw new ArgumentNullException("singlePage"); + } + if (dataNavigator == null) { + throw new ArgumentNullException("dataNavigator"); + } + singlePage.IDataNavigator = dataNavigator; + IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(singlePage); + return evaluatorFacade; + } + + + public static void EvaluateRow(IExpressionEvaluatorFacade evaluator,ExporterCollection row) + { + try { + foreach (BaseExportColumn column in row) { + var container = column as IExportContainer; + if (container != null) { + EvaluateRow(evaluator,container.Items); + } + ExportText textItem = column as ExportText; + if (textItem != null) { +// if (textItem.Text.StartsWith("=",StringComparison.InvariantCulture)) { + //// Console.WriteLine(textItem.Text); +// } + textItem.Text = evaluator.Evaluate(textItem.Text); + } + } + } catch (Exception) { + throw ; + } + } + + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractRenderer.cs index 6143349652..6d0d5238b5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractRenderer.cs @@ -85,7 +85,7 @@ namespace ICSharpCode.Reports.Core this.reportDocument.RenderPageEnd += new EventHandler<ReportPageEventArgs> (PrintPageFooter); this.reportDocument.RenderReportEnd += new EventHandler<ReportPageEventArgs> (PrintReportFooter); - this.Evaluator = StandardPrinter.SetupEvaluator(); + this.Evaluator = EvaluationHelper.SetupEvaluator(); } From 4eef7e398d75de3d89f92c7ccd516873f68e01e7 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier <peter.forstmeier@t-online.de> Date: Mon, 31 Jan 2011 15:03:31 +0100 Subject: [PATCH 008/168] ListStrategy return String.Empty if Property = null, Update UnitTest's --- SharpDevelop.Tests.sln | 544 +++++++++--------- .../ListStrategy/CollectionStrategy.cs | 12 +- .../DataManager/IListDataManagerFixture.cs | 39 ++ .../{ => ListStrategy}/GroupListFixture.cs | 2 +- .../Strategy/TableStrategyFixture.cs | 18 +- .../{ => TableStragy}/GroupTableFixture.cs | 2 +- .../TableDataManagerFixture.cs | 0 .../ICSharpCode.Reports.Core.Test.csproj | 8 +- .../TestHelpers/ContributorsList.cs | 2 +- 9 files changed, 338 insertions(+), 289 deletions(-) rename src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/{ => ListStrategy}/GroupListFixture.cs (98%) rename src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/{ => TableStragy}/GroupTableFixture.cs (98%) rename src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/{ => TableStragy}/TableDataManagerFixture.cs (100%) diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln index 40e0e7cb51..6ca7138c49 100644 --- a/SharpDevelop.Tests.sln +++ b/SharpDevelop.Tests.sln @@ -1,69 +1,69 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -# SharpDevelop 4.0.0.6797 +# SharpDevelop 4.1.0.7253-alpha Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -72,45 +72,45 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{ ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" - ProjectSection(SolutionItems) = postProject - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -119,239 +119,239 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{393278 ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Irony", "src\AddIns\Misc\Reports\Irony\Irony.csproj", "{D81F5C91-D7DB-46E5-BC99-49488FB6814C}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" + ProjectSection(SolutionItems) = postProject + EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -361,235 +361,235 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\Add {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Irony", "src\AddIns\Misc\Reports\Irony\Irony.csproj", "{D81F5C91-D7DB-46E5-BC99-49488FB6814C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -1221,126 +1221,126 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} {870115DD-960A-4406-A6B9-600BCDC36A03} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {D81F5C91-D7DB-46E5-BC99-49488FB6814C} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} - {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} - {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} - {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} - {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} - {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} - {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} - {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} + {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} + {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} + {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} + {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} + {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} - {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} - {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} - {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} - {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} - {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} - {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} + {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} + {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} + {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} + {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} + {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} + {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} + {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {D81F5C91-D7DB-46E5-BC99-49488FB6814C} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} EndGlobalSection EndGlobal 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 d770b24086..eb5c44af87 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 @@ -213,8 +213,15 @@ namespace ICSharpCode.Reports.Core { BaseDataItem baseDataItem = item as BaseDataItem; if (baseDataItem != null) { PropertyDescriptor p = this.listProperties.Find(baseDataItem.ColumnName, true); - if (p != null) { - baseDataItem.DBValue = p.GetValue(this.Current).ToString(); + if (p != null) + { + var o = p.GetValue(this.Current); + if (o != null) { + baseDataItem.DBValue = p.GetValue(this.Current).ToString(); + } else { + baseDataItem.DBValue = String.Empty; + } + } else { baseDataItem.DBValue = string.Format(CultureInfo.InvariantCulture,"<{0}> missing!", baseDataItem.ColumnName); } @@ -233,6 +240,7 @@ namespace ICSharpCode.Reports.Core { } } } + #region test /* diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs index 3552a67579..789770fe67 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs @@ -94,6 +94,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager #region Standart Enumerator + [Test] public void EnumeratorStartFromBegin () { @@ -110,6 +111,44 @@ namespace ICSharpCode.Reports.Core.Test.DataManager Assert.AreEqual(this.contributorCollection.Count,start); } + + + [Test] + public void NullValue_In_Property_Should_Return_EmptyString () + { + ContributorsList contributorsList = new ContributorsList(); + var contColl = contributorsList.ContributorCollection; + + foreach (Contributor element in contColl) { + element.GroupItem = null; + } + + IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(contColl, new ReportSettings()); + IDataNavigator dataNav = dm.GetNavigator; + dataNav.MoveNext(); + + ReportItemCollection searchCol = new ReportItemCollection(); + searchCol.Add(new BaseDataItem () + { + Name ="GroupItem", + ColumnName ="GroupItem" + + } + ); + + do + { + dataNav.Fill(searchCol); + BaseDataItem resultItem = searchCol[0] as BaseDataItem; + + Assert.That (resultItem.Name,Is.EqualTo("GroupItem")); + Assert.That(resultItem.DBValue,Is.EqualTo(String.Empty)); + + } + while (dataNav.MoveNext()); + } + + #endregion #region Available Fields diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/GroupListFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs similarity index 98% rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/GroupListFixture.cs rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs index 6a2f91c0c4..07001ec304 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/GroupListFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs @@ -6,7 +6,7 @@ using System.ComponentModel; using ICSharpCode.Reports.Core.Test.TestHelpers; using NUnit.Framework; -namespace ICSharpCode.Reports.Core.Test.DataManager +namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy { [TestFixture] public class GroupListFixture diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/Strategy/TableStrategyFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/Strategy/TableStrategyFixture.cs index 0fedbdce30..eef8954d6e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/Strategy/TableStrategyFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/Strategy/TableStrategyFixture.cs @@ -19,7 +19,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.Strategy [Test] public void TableStrategy_CanInit() { - TableStrategy ts = new TableStrategy(this.table,new ReportSettings()); + var ts = new ICSharpCode.Reports.Core.TableStrategy(this.table,new ReportSettings()); Assert.That(ts != null); } @@ -30,7 +30,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.Strategy public void Add_GroupColumn_IsGrouped_true() { GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending); - TableStrategy tableStrategy =GroupTableStrategyFactory (gc); + ICSharpCode.Reports.Core.TableStrategy tableStrategy =GroupTableStrategyFactory (gc); tableStrategy.Bind(); Assert.That(tableStrategy.IsGrouped == true); } @@ -42,7 +42,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.Strategy public void CanGroup_All_Elements_are_GroupComparer () { GroupColumn groupComparer = new GroupColumn("GroupItem",1,ListSortDirection.Ascending); - TableStrategy tableStrategy = GroupTableStrategyFactory (groupComparer); + ICSharpCode.Reports.Core.TableStrategy tableStrategy = GroupTableStrategyFactory (groupComparer); tableStrategy.Bind(); foreach (BaseComparer element in tableStrategy.IndexList) { @@ -56,7 +56,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.Strategy public void CanGroup_All_Elements_Contains_Children () { GroupColumn groupComparer = new GroupColumn("GroupItem",1,ListSortDirection.Ascending); - TableStrategy tableStrategy =GroupTableStrategyFactory (groupComparer); + var tableStrategy =GroupTableStrategyFactory (groupComparer); tableStrategy.Bind(); foreach (BaseComparer element in tableStrategy.IndexList) { @@ -142,7 +142,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.Strategy reportSettings.SortColumnsCollection.Add(sc); reportSettings.SortColumnsCollection.Add(sc1); - var tableStrategy = new TableStrategy(this.table,reportSettings); + var tableStrategy = new ICSharpCode.Reports.Core.TableStrategy(this.table,reportSettings); string v1 = String.Empty; foreach (BaseComparer element in tableStrategy.IndexList) { @@ -155,20 +155,20 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.Strategy #endregion - private TableStrategy SortTableStrategyFactory (SortColumn sortColumn) + private ICSharpCode.Reports.Core.TableStrategy SortTableStrategyFactory (SortColumn sortColumn) { var reportSettings = new ReportSettings(); reportSettings.SortColumnsCollection.Add(sortColumn); - var tableStrategy = new TableStrategy(this.table,reportSettings); + var tableStrategy = new ICSharpCode.Reports.Core.TableStrategy(this.table,reportSettings); return tableStrategy; } - private TableStrategy GroupTableStrategyFactory (GroupColumn sortColumn) + private ICSharpCode.Reports.Core.TableStrategy GroupTableStrategyFactory (GroupColumn sortColumn) { var reportSettings = new ReportSettings(); reportSettings.GroupColumnsCollection.Add(sortColumn); - var tableStrategy = new TableStrategy(this.table,reportSettings); + var tableStrategy = new ICSharpCode.Reports.Core.TableStrategy(this.table,reportSettings); return tableStrategy; } [TestFixtureSetUp] diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/GroupTableFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs similarity index 98% rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/GroupTableFixture.cs rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs index d0d7eccd38..b2bbf0bb4e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/GroupTableFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs @@ -8,7 +8,7 @@ using System.Data; using ICSharpCode.Reports.Core.Test.TestHelpers; using NUnit.Framework; -namespace ICSharpCode.Reports.Core.Test.DataManager +namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy { [TestFixture] diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs similarity index 100% rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableDataManagerFixture.cs rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj index dc0796d1c9..1e05756f20 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj @@ -70,13 +70,13 @@ <Compile Include="Collections\ColumnCollectionFixture.cs" /> <Compile Include="Collections\ParametersCollectionFixture.cs" /> <Compile Include="Collections\ReportItemCollectionFixture.cs" /> - <Compile Include="DataManager\GroupListFixture.cs" /> - <Compile Include="DataManager\GroupTableFixture.cs" /> <Compile Include="DataManager\IConnectionDataManagerFixture.cs" /> <Compile Include="DataManager\IListDataManagerFixture.cs" /> + <Compile Include="DataManager\ListStrategy\GroupListFixture.cs" /> <Compile Include="DataManager\MockDataAccess.cs" /> <Compile Include="DataManager\Strategy\TableStrategyFixture.cs" /> - <Compile Include="DataManager\TableDataManagerFixture.cs" /> + <Compile Include="DataManager\TableStragy\GroupTableFixture.cs" /> + <Compile Include="DataManager\TableStragy\TableDataManagerFixture.cs" /> <Compile Include="Printing\SectionBoundFixture.cs" /> <Compile Include="Printing\Shapes\BaseLineFixture.cs" /> <Compile Include="Printing\Shapes\EllipseShapeFixture.cs" /> @@ -117,6 +117,8 @@ <Name>ICSharpCode.Reports.Core</Name> </ProjectReference> <Folder Include="BaseItems" /> + <Folder Include="DataManager\ListStrategy" /> + <Folder Include="DataManager\TableStragy" /> <Folder Include="DataManager\Strategy" /> <Folder Include="DataManager" /> <Folder Include="Collections" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/TestHelpers/ContributorsList.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/TestHelpers/ContributorsList.cs index cfad666d05..56d6a2f9bf 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/TestHelpers/ContributorsList.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/TestHelpers/ContributorsList.cs @@ -132,7 +132,7 @@ namespace ICSharpCode.Reports.Core.Test.TestHelpers get { return randomDate; } } - public string GroupItem {get; private set;} + public string GroupItem {get; set;} } From 0b51f93ed93805a62fad4912d8d0634054faaccd Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Mon, 31 Jan 2011 20:18:14 +0100 Subject: [PATCH 009/168] Remove the Value 'unbound' if a Column or Property = String.Empty or null. Adjust test's, cleanup TestClasses --- SharpDevelop.Tests.sln | 544 +++++++++--------- .../Project/BaseItems/BaseDataItem.cs | 24 +- .../ListStrategy/CollectionStrategy.cs | 2 + .../Project/Globals/GlobalValues.cs | 8 +- .../BaseItems/BaseDataItemFixture.cs | 3 +- .../IListDataManagerFixture.cs | 2 +- .../TableStragy/GroupTableFixture.cs | 13 +- .../TableStragy/TableDataManagerFixture.cs | 15 +- .../TableStrategyFixture.cs | 9 +- .../ICSharpCode.Reports.Core.Test.csproj | 5 +- 10 files changed, 314 insertions(+), 311 deletions(-) rename src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/{ => ListStrategy}/IListDataManagerFixture.cs (99%) rename src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/{Strategy => TableStragy}/TableStrategyFixture.cs (97%) diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln index 6ca7138c49..d8bb06e5a1 100644 --- a/SharpDevelop.Tests.sln +++ b/SharpDevelop.Tests.sln @@ -1,69 +1,69 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -# SharpDevelop 4.1.0.7253-alpha +# SharpDevelop 4.1.0.7258-alpha Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -72,45 +72,45 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{ ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" + ProjectSection(SolutionItems) = postProject + EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -119,244 +119,234 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{393278 ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" - ProjectSection(SolutionItems) = postProject - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Irony", "src\AddIns\Misc\Reports\Irony\Irony.csproj", "{D81F5C91-D7DB-46E5-BC99-49488FB6814C}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -366,230 +356,240 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\Add {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Irony", "src\AddIns\Misc\Reports\Irony\Irony.csproj", "{D81F5C91-D7DB-46E5-BC99-49488FB6814C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -1221,126 +1221,126 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {870115DD-960A-4406-A6B9-600BCDC36A03} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {870115DD-960A-4406-A6B9-600BCDC36A03} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} - {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} - {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} - {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} - {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} - {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} - {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} - {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} - {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} - {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} - {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} - {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} - {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {D81F5C91-D7DB-46E5-BC99-49488FB6814C} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} - {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} + {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} + {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} + {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} + {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} + {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} + {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} + {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {D81F5C91-D7DB-46E5-BC99-49488FB6814C} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} + {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} + {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} + {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} + {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} + {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} EndGlobalSection EndGlobal diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs index cd080b21f4..6943d26f51 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs @@ -22,7 +22,7 @@ namespace ICSharpCode.Reports.Core { private string columnName; - private string dbValue; +// private string dbValue; #region Constructor @@ -40,16 +40,20 @@ namespace ICSharpCode.Reports.Core #region privates + /* private string CheckForNullValue() { + if (String.IsNullOrEmpty(this.dbValue)) { if (String.IsNullOrEmpty(this.NullValue)) { return GlobalValues.UnboundName; } else return this.NullValue; } + return this.dbValue; } +*/ #endregion @@ -57,10 +61,10 @@ namespace ICSharpCode.Reports.Core public new BaseExportColumn CreateExportColumn() { - string toPrint = CheckForNullValue(); +// string toPrint = CheckForNullValue(); TextStyleDecorator st = base.CreateItemStyle(); ExportText item = new ExportText(st, false); - item.Text = StandardFormatter.FormatOutput(toPrint, this.FormatString, base.DataType, this.NullValue); + item.Text = StandardFormatter.FormatOutput(DBValue, this.FormatString, base.DataType, this.NullValue); return item; } @@ -69,8 +73,8 @@ namespace ICSharpCode.Reports.Core public override void Render(ReportPageEventArgs rpea) { - string toPrint = CheckForNullValue(); - base.Text = StandardFormatter.FormatOutput(toPrint, this.FormatString, base.DataType, this.NullValue); +// string toPrint = CheckForNullValue(); + base.Text = StandardFormatter.FormatOutput(DBValue, this.FormatString, base.DataType, this.NullValue); base.Render(rpea); } @@ -83,17 +87,11 @@ namespace ICSharpCode.Reports.Core [XmlIgnoreAttribute()] [Browsable(false)] - public virtual string DBValue { - get { return dbValue; } - set { dbValue = value; } - } - + public virtual string DBValue {get;set;} + public virtual string ColumnName { get { - if (String.IsNullOrEmpty(columnName)) { - this.columnName = GlobalValues.UnboundName; - } return columnName; } set { 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 eb5c44af87..70b5d87f63 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 @@ -213,8 +213,10 @@ namespace ICSharpCode.Reports.Core { BaseDataItem baseDataItem = item as BaseDataItem; if (baseDataItem != null) { PropertyDescriptor p = this.listProperties.Find(baseDataItem.ColumnName, true); + if (p != null) { +// Console.WriteLine("PPPPPPPPPPPP {0}",p.PropertyType); var o = p.GetValue(this.Current); if (o != null) { baseDataItem.DBValue = p.GetValue(this.Current).ToString(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs index 84dd7863f6..0eb4b9512b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs @@ -172,10 +172,10 @@ namespace ICSharpCode.Reports.Core { } } - public static string UnboundName - { - get {return unbound;} - } +// public static string UnboundName +// { +// get {return unbound;} +// } public static string TableName { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseDataItemFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseDataItemFixture.cs index 5f814219fb..3b533fd953 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseDataItemFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseDataItemFixture.cs @@ -23,11 +23,10 @@ namespace ICSharpCode.Reports.Core.Test.BaseItems { BaseDataItem bdi = new BaseDataItem(); Assert.AreEqual("System.String",bdi.DataType); - Assert.AreEqual(GlobalValues.UnboundName,bdi.ColumnName); Assert.IsTrue(String.IsNullOrEmpty(bdi.BaseTableName)); - Assert.AreEqual("." + GlobalValues.UnboundName,bdi.MappingName); } + [Test] public void ConstructurWithColumnName() { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs similarity index 99% rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs index 789770fe67..facac386ae 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs @@ -10,7 +10,7 @@ using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.Test.TestHelpers; using NUnit.Framework; -namespace ICSharpCode.Reports.Core.Test.DataManager +namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy { [TestFixture] diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs index b2bbf0bb4e..0485610012 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs @@ -17,6 +17,18 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy DataTable table; + + [Test] + public void Can_add_GroupColumn () + { + GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending); + ReportSettings rs = new ReportSettings(); + + rs.GroupColumnsCollection.Add(gc); + Assert.AreEqual(1,rs.GroupColumnsCollection.Count); + } + + [Test] public void GroupingCollection_EmptyGrouping_IsGrouped_False() { @@ -183,7 +195,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy #endregion - private IDataNavigator PrepareStringGrouping () { GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs index 04668e7933..85178faa59 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs @@ -10,7 +10,7 @@ using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.Test.TestHelpers; using NUnit.Framework; -namespace ICSharpCode.Reports.Core.Test.DataManager +namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy { [TestFixture] public class TableDataManagerFixture @@ -109,19 +109,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager DataNavigator dataNav = dm.GetNavigator; } - #region Grouping - - [Test] - public void can_add_GroupColumn () - { - GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending); - ReportSettings rs = new ReportSettings(); - - rs.GroupColumnsCollection.Add(gc); - Assert.AreEqual(1,rs.GroupColumnsCollection.Count); - } - - #endregion #region Sorting diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/Strategy/TableStrategyFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableStrategyFixture.cs similarity index 97% rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/Strategy/TableStrategyFixture.cs rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableStrategyFixture.cs index eef8954d6e..d8d52c6196 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/Strategy/TableStrategyFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableStrategyFixture.cs @@ -7,7 +7,7 @@ using System.Data; using NUnit.Framework; using ICSharpCode.Reports.Core.Test.TestHelpers; -namespace ICSharpCode.Reports.Core.Test.DataManager.Strategy +namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy { [TestFixture] @@ -155,6 +155,9 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.Strategy #endregion + + #region Setup7TearDown + private ICSharpCode.Reports.Core.TableStrategy SortTableStrategyFactory (SortColumn sortColumn) { var reportSettings = new ReportSettings(); @@ -171,6 +174,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.Strategy var tableStrategy = new ICSharpCode.Reports.Core.TableStrategy(this.table,reportSettings); return tableStrategy; } + + [TestFixtureSetUp] public void Init() { @@ -183,5 +188,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.Strategy { // TODO: Add tear down code. } + + #endregion } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj index 1e05756f20..940a068b55 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj @@ -71,12 +71,12 @@ <Compile Include="Collections\ParametersCollectionFixture.cs" /> <Compile Include="Collections\ReportItemCollectionFixture.cs" /> <Compile Include="DataManager\IConnectionDataManagerFixture.cs" /> - <Compile Include="DataManager\IListDataManagerFixture.cs" /> <Compile Include="DataManager\ListStrategy\GroupListFixture.cs" /> + <Compile Include="DataManager\ListStrategy\IListDataManagerFixture.cs" /> <Compile Include="DataManager\MockDataAccess.cs" /> - <Compile Include="DataManager\Strategy\TableStrategyFixture.cs" /> <Compile Include="DataManager\TableStragy\GroupTableFixture.cs" /> <Compile Include="DataManager\TableStragy\TableDataManagerFixture.cs" /> + <Compile Include="DataManager\TableStragy\TableStrategyFixture.cs" /> <Compile Include="Printing\SectionBoundFixture.cs" /> <Compile Include="Printing\Shapes\BaseLineFixture.cs" /> <Compile Include="Printing\Shapes\EllipseShapeFixture.cs" /> @@ -119,7 +119,6 @@ <Folder Include="BaseItems" /> <Folder Include="DataManager\ListStrategy" /> <Folder Include="DataManager\TableStragy" /> - <Folder Include="DataManager\Strategy" /> <Folder Include="DataManager" /> <Folder Include="Collections" /> <Folder Include="BaseClasses" /> From 6d8a95be6a068713e1952c766494a5b7ff3ad86a Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sat, 5 Feb 2011 20:24:27 +0100 Subject: [PATCH 010/168] PushModel can work with SubClasses in List --- .../DataManager/ListHandling/IndexList.cs | 2 + .../ListStrategy/CollectionStrategy.cs | 106 ++++++++++++++++-- .../ListStrategy/IListDataManagerFixture.cs | 87 +++++++++++++- .../TestHelpers/ContributorsList.cs | 17 ++- 4 files changed, 198 insertions(+), 14 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListHandling/IndexList.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListHandling/IndexList.cs index 3543a2088e..0d3fc0a661 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListHandling/IndexList.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListHandling/IndexList.cs @@ -158,6 +158,8 @@ namespace ICSharpCode.Reports.Core } return ExtendedTypeDescriptor.GetProperties(elementType); } + + public string GetListName(PropertyDescriptor[] listAccessors){ return elementType.Name; } 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 70b5d87f63..87bc7cd130 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 @@ -52,7 +52,7 @@ namespace ICSharpCode.Reports.Core { for (int criteriaIndex = 0; criteriaIndex < col.Count; criteriaIndex++){ PropertyDescriptor descriptor = c.Find (col[criteriaIndex].ColumnName,true); - + if (descriptor == null){ throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, "Die Liste enthält keine Spalte [{0}].", @@ -64,7 +64,7 @@ namespace ICSharpCode.Reports.Core { } - private IndexList BuildSortIndex(SortColumnCollection col) + private IndexList BuildSortIndex(SortColumnCollection col) { IndexList arrayList = new IndexList(); PropertyDescriptor[] sortProperties = BuildSortProperties (col); @@ -113,9 +113,9 @@ namespace ICSharpCode.Reports.Core { } return arrayList; } - - private void BuildAvailableFields () + + private void BuildAvailableFields () { base.AvailableFields.Clear(); foreach (PropertyDescriptor p in this.listProperties){ @@ -149,7 +149,7 @@ namespace ICSharpCode.Reports.Core { } } - public override int CurrentPosition + public override int CurrentPosition { get { return base.IndexList.CurrentPosition; @@ -171,9 +171,9 @@ namespace ICSharpCode.Reports.Core { } - public override void Sort() + public override void Sort() { - base.Sort(); + base.Sort(); if ((base.ReportSettings.SortColumnsCollection != null)) { if (base.ReportSettings.SortColumnsCollection.Count > 0) { @@ -187,7 +187,7 @@ namespace ICSharpCode.Reports.Core { } - public override void Reset() + public override void Reset() { this.CurrentPosition = 0; base.Reset(); @@ -208,6 +208,92 @@ namespace ICSharpCode.Reports.Core { #endregion public override void Fill(IDataItem item) + { + if (current != null) { + BaseDataItem baseDataItem = item as BaseDataItem; + + if (baseDataItem != null) { + + if (baseDataItem.ColumnName.Contains(".")) { + + string[] splittedNames = SplitNames(ref baseDataItem); + + + PropertyDescriptor p = this.listProperties.Find(splittedNames[0], true); + + var propCollection = ExtendedTypeDescriptor.GetProperties(p.PropertyType); + + + foreach (ExtendedPropertyDescriptor element in propCollection) + { + Console.WriteLine ("{0} - {1} - {2}",element.Name,element.ComponentType,element.PropertyType); + } + + + PropertyDescriptor ppp = propCollection.Find(splittedNames[1], true); + object classValue = p.GetValue(this.Current); + var v = ppp.GetValue(classValue); + + baseDataItem.DBValue = v.ToString(); + +// Console.WriteLine("{0} - {1}",p.Name,p.PropertyType); + + + } + else + + { + PropertyDescriptor p = this.listProperties.Find(baseDataItem.ColumnName, true); + + if (p != null) + { + var o = p.GetValue(this.Current); + + if (o != null) { +// baseDataItem.DBValue = p.GetValue(this.Current).ToString(); + baseDataItem.DBValue = o.ToString(); + } else { + baseDataItem.DBValue = String.Empty; + } + + } else { + baseDataItem.DBValue = string.Format(CultureInfo.InvariantCulture,"<{0}> missing!", baseDataItem.ColumnName); + } + } + + + return; + } + + //image processing from IList + BaseImageItem baseImageItem = item as BaseImageItem; + + if (baseImageItem != null) { + PropertyDescriptor p = this.listProperties.Find(baseImageItem.ColumnName, true); + if (p != null) { + baseImageItem.Image = p.GetValue(this.Current) as System.Drawing.Image; + } + return; + } + } + } + + object getvalueFromproperty(PropertyDescriptor p) + { + throw new NotImplementedException(); + } + + string[] SplitNames(ref BaseDataItem baseDataItem) + { + var i = baseDataItem.ColumnName.IndexOf("."); + char[] delimiters = new char[] { '.' }; + var splittedNames = baseDataItem.ColumnName.Split(delimiters); + return splittedNames; + } + + + + public void old_Fill(IDataItem item) { if (current != null) { BaseDataItem baseDataItem = item as BaseDataItem; @@ -264,7 +350,7 @@ namespace ICSharpCode.Reports.Core { } return ci; } - */ + */ public override CurrentItemsCollection FillDataRow() { @@ -284,7 +370,7 @@ namespace ICSharpCode.Reports.Core { } #endregion - + #region IDisposable public override void Dispose(){ diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs index facac386ae..55b17f82e3 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs @@ -23,7 +23,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy public void DefaultConstructor() { IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection as System.Collections.IList,new ReportSettings()); - Assert.IsNotNull(dm,"IDataanager should not be 'null'"); + Assert.IsNotNull(dm,"IDataManager should not be 'null'"); } @@ -158,7 +158,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy { IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,new ReportSettings()); DataNavigator dataNav = dm.GetNavigator; - Assert.AreEqual(6,dataNav.AvailableFields.Count); + Assert.AreEqual(7,dataNav.AvailableFields.Count); } @@ -391,9 +391,90 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy */ #endregion + #region get included class + [Test] + public void checkIfPropIsClass() + { + IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,new ReportSettings()); + IDataNavigator dn = dm.GetNavigator; + int start = 0; + MyDummyClass dummy = new MyDummyClass(); + + while (dn.MoveNext()) { + dummy.DummyString = "dummy" + start.ToString(); + dummy.DummyInt = start; + Contributor view = dn.Current as Contributor; + view.DummyClass = dummy; + Console.WriteLine(view.Last); + start ++; + } + + dn.Reset(); + dn.MoveNext(); + start = 0; + while (dn.MoveNext()) { + Contributor view = dn.Current as Contributor; + Console.WriteLine("{0} - {1} - {2}",view.Last,view.DummyClass.DummyInt,view.DummyClass.DummyString); + start ++; + } + Console.WriteLine(start); + } + + ContributorCollection ModifyCollection () + { + var newcol = this.contributorCollection; + MyDummyClass dummy; + int start = 0; + foreach (var element in newcol) + { + dummy = new MyDummyClass(); + dummy.DummyString = "dummy" + start.ToString(); + dummy.DummyInt = start; + element.DummyClass = dummy; + start ++; + } + return newcol; + } + + + [Test] + public void Prop () + { + var modifyedCollection = this.ModifyCollection(); + IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(modifyedCollection,new ReportSettings()); + IDataNavigator dn = dm.GetNavigator; + ReportItemCollection searchCol = new ReportItemCollection(); + searchCol.Add(new BaseDataItem () + { + Name ="GroupItem", + ColumnName ="DummyClass.DummyString" + } + ); + + searchCol.Add(new BaseDataItem () + { + Name ="GroupItem", + ColumnName ="GroupItem" + } + ); + + dn.Reset(); + dn.MoveNext(); + + while (dn.MoveNext()) { + dn.Fill(searchCol); + var a = (BaseDataItem)searchCol[0]; + var b = (BaseDataItem)searchCol[1]; + var c = modifyedCollection[dn.CurrentRow]; +// Console.WriteLine ("{0} - {1} - {2}",a.DBValue,b.DBValue,c.DummyClass.DummyString); + Assert.AreEqual(a.DBValue,c.DummyClass.DummyString); + Assert.AreEqual(b.DBValue,c.GroupItem); + } + } + #region Setup/TearDown + #endregion [TestFixtureSetUp] - public void Init() { ContributorsList contributorsList = new ContributorsList(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/TestHelpers/ContributorsList.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/TestHelpers/ContributorsList.cs index 56d6a2f9bf..4d1d844d23 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/TestHelpers/ContributorsList.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/TestHelpers/ContributorsList.cs @@ -133,10 +133,25 @@ namespace ICSharpCode.Reports.Core.Test.TestHelpers } public string GroupItem {get; set;} - + public MyDummyClass DummyClass {get;set;} + + } + + + + public class MyDummyClass + { + public MyDummyClass() + { + + } + + public string DummyString {get;set;} + public int DummyInt {get;set;} } + public class ContributorCollection: List<Contributor> { } From 5483f5d692308e6b1273c6ef14c8880428ec7bb7 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 6 Feb 2011 19:49:10 +0100 Subject: [PATCH 011/168] Cleanup test --- .../Project/BaseItems/BaseDataItem.cs | 2 - .../ListStrategy/CollectionStrategy.cs | 166 ++++++------------ .../ListStrategy/IListDataManagerFixture.cs | 89 ++++++---- 3 files changed, 111 insertions(+), 146 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs index 6943d26f51..8fd1231f9e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs @@ -22,8 +22,6 @@ namespace ICSharpCode.Reports.Core { private string columnName; -// private string dbValue; - #region Constructor 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 87bc7cd130..faf120fbbc 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 @@ -207,64 +207,48 @@ namespace ICSharpCode.Reports.Core { #endregion + public override void Fill(IDataItem item) { - if (current != null) { - BaseDataItem baseDataItem = item as BaseDataItem; - - if (baseDataItem != null) { + if (item is BaseDataItem) + { + if (item.ColumnName.Contains(".")) { + string[] splittedNames = SplitNames(ref item); - if (baseDataItem.ColumnName.Contains(".")) { - - string[] splittedNames = SplitNames(ref baseDataItem); - - - PropertyDescriptor p = this.listProperties.Find(splittedNames[0], true); - - var propCollection = ExtendedTypeDescriptor.GetProperties(p.PropertyType); - - - foreach (ExtendedPropertyDescriptor element in propCollection) - { - Console.WriteLine ("{0} - {1} - {2}",element.Name,element.ComponentType,element.PropertyType); - } - - - PropertyDescriptor ppp = propCollection.Find(splittedNames[1], true); - object classValue = p.GetValue(this.Current); - var v = ppp.GetValue(classValue); - - baseDataItem.DBValue = v.ToString(); - -// Console.WriteLine("{0} - {1}",p.Name,p.PropertyType); - - + // PropDes for SubClass + + PropertyDescriptor classProperty = this.listProperties.Find(splittedNames[0], true); + if (classProperty == null) + { + WrongColumnName (item); } else - { - PropertyDescriptor p = this.listProperties.Find(baseDataItem.ColumnName, true); - - if (p != null) - { - var o = p.GetValue(this.Current); - - if (o != null) { -// baseDataItem.DBValue = p.GetValue(this.Current).ToString(); - baseDataItem.DBValue = o.ToString(); - } else { - baseDataItem.DBValue = String.Empty; - } - - } else { - baseDataItem.DBValue = string.Format(CultureInfo.InvariantCulture,"<{0}> missing!", baseDataItem.ColumnName); - } + //all Props for SubClass + var propCollection = ExtendedTypeDescriptor.GetProperties(classProperty.PropertyType); + + var subProperty = propCollection.Find(splittedNames[1], true); + + var classValue = classProperty.GetValue(this.Current); + SetReturnValue(subProperty,classValue,item); + } + } + else + { + PropertyDescriptor p = this.listProperties.Find(item.ColumnName, true); + if (p != null) { + SetReturnValue(p,this.Current,item); + } else { + WrongColumnName (item); } - - return; } + return; + } + else + { + //image processing from IList BaseImageItem baseImageItem = item as BaseImageItem; @@ -277,80 +261,42 @@ namespace ICSharpCode.Reports.Core { } } } - - object getvalueFromproperty(PropertyDescriptor p) - { - throw new NotImplementedException(); - } - string[] SplitNames(ref BaseDataItem baseDataItem) + + void WrongColumnName(IDataItem item) { - var i = baseDataItem.ColumnName.IndexOf("."); - char[] delimiters = new char[] { '.' }; - var splittedNames = baseDataItem.ColumnName.Split(delimiters); - return splittedNames; + item.DBValue = string.Format(CultureInfo.InvariantCulture, "Error : <{0}> missing!", item.ColumnName); } + - - - public void old_Fill(IDataItem item) + void SetReturnValue(PropertyDescriptor p,object component,IDataItem item) { - if (current != null) { - BaseDataItem baseDataItem = item as BaseDataItem; - if (baseDataItem != null) { - PropertyDescriptor p = this.listProperties.Find(baseDataItem.ColumnName, true); - - if (p != null) - { -// Console.WriteLine("PPPPPPPPPPPP {0}",p.PropertyType); - var o = p.GetValue(this.Current); - if (o != null) { - baseDataItem.DBValue = p.GetValue(this.Current).ToString(); - } else { - baseDataItem.DBValue = String.Empty; - } - - } else { - baseDataItem.DBValue = string.Format(CultureInfo.InvariantCulture,"<{0}> missing!", baseDataItem.ColumnName); - } - return; - } + if (p != null) + { + var o = p.GetValue(component); - //image processing from IList - BaseImageItem baseImageItem = item as BaseImageItem; - - if (baseImageItem != null) { - PropertyDescriptor p = this.listProperties.Find(baseImageItem.ColumnName, true); - if (p != null) { - baseImageItem.Image = p.GetValue(this.Current) as System.Drawing.Image; - } - return; + if (o != null) { + item.DBValue = o.ToString(); + } else { + item.DBValue = String.Empty; } + + } else { + WrongColumnName(item); } } - - #region test - /* - public override CurrentItems FillDataRow() + + string[] SplitNames(ref IDataItem item) { - CurrentItems ci = base.FillDataRow(); - DataRow row = this.Current as DataRow; - - if (row != null) { - CurrentItem c = null; - - foreach (DataColumn dc in table.Columns) - { - c = new CurrentItem(); - c.ColumnName = dc.ColumnName; - c.Value = row[dc.ColumnName]; - ci.Add(c); - } - } - return ci; + var i = item.ColumnName.IndexOf("."); + char[] delimiters = new char[] { '.' }; + var splittedNames = item.ColumnName.Split(delimiters); + return splittedNames; } - */ + + + #region test public override CurrentItemsCollection FillDataRow() { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs index 55b17f82e3..a1e6af8380 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs @@ -89,7 +89,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy items.Add(item); dataNav.Fill(items); string str = "<" + item.ColumnName +">"; - Assert.That(item.DBValue.Contains(str)); + Assert.That(item.DBValue.StartsWith("Error")); } @@ -288,8 +288,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy Contributor view = dataNav.Current as Contributor; string actual = view.Last; Assert.GreaterOrEqual(compareTo,actual); -// string ss = String.Format("< {0} > <{1}>",compareTo,actual); -// Console.WriteLine(ss); compareTo = actual; } Assert.IsTrue(dataNav.IsSorted); @@ -392,33 +390,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy #endregion #region get included class - [Test] - public void checkIfPropIsClass() - { - IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,new ReportSettings()); - IDataNavigator dn = dm.GetNavigator; - int start = 0; - MyDummyClass dummy = new MyDummyClass(); - - while (dn.MoveNext()) { - dummy.DummyString = "dummy" + start.ToString(); - dummy.DummyInt = start; - Contributor view = dn.Current as Contributor; - view.DummyClass = dummy; - Console.WriteLine(view.Last); - start ++; - } - - dn.Reset(); - dn.MoveNext(); - start = 0; - while (dn.MoveNext()) { - Contributor view = dn.Current as Contributor; - Console.WriteLine("{0} - {1} - {2}",view.Last,view.DummyClass.DummyInt,view.DummyClass.DummyString); - start ++; - } - Console.WriteLine(start); - } + ContributorCollection ModifyCollection () { @@ -438,15 +410,15 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy [Test] - public void Prop () + public void Collection_Contains_Subclass () { var modifyedCollection = this.ModifyCollection(); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(modifyedCollection,new ReportSettings()); IDataNavigator dn = dm.GetNavigator; + ReportItemCollection searchCol = new ReportItemCollection(); searchCol.Add(new BaseDataItem () { - Name ="GroupItem", ColumnName ="DummyClass.DummyString" } ); @@ -466,14 +438,63 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy var a = (BaseDataItem)searchCol[0]; var b = (BaseDataItem)searchCol[1]; var c = modifyedCollection[dn.CurrentRow]; -// Console.WriteLine ("{0} - {1} - {2}",a.DBValue,b.DBValue,c.DummyClass.DummyString); Assert.AreEqual(a.DBValue,c.DummyClass.DummyString); Assert.AreEqual(b.DBValue,c.GroupItem); } } - #region Setup/TearDown + + [Test] + public void SubClassName_Is_Wrong () + { + var modifyedCollection = this.ModifyCollection(); + IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(modifyedCollection,new ReportSettings()); + IDataNavigator dn = dm.GetNavigator; + ReportItemCollection searchCol = new ReportItemCollection(); + searchCol.Add(new BaseDataItem () + { + ColumnName ="wrong.DummyString", + DataType = "System.Int32" + } + ); + + dn.Reset(); + dn.MoveNext(); + + while (dn.MoveNext()) { + dn.Fill(searchCol); + var a = (BaseDataItem)searchCol[0]; + Assert.That(a.DBValue.StartsWith("Error")); + } + } + + [Test] + public void SubPropertyName_Is_Wrong () + { + var modifyedCollection = this.ModifyCollection(); + IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(modifyedCollection,new ReportSettings()); + IDataNavigator dn = dm.GetNavigator; + ReportItemCollection searchCol = new ReportItemCollection(); + searchCol.Add(new BaseDataItem () + { + Name ="GroupItem", + ColumnName ="DummyClass.Wrong", + DataType = "System.Int32" + } + ); + dn.Reset(); + dn.MoveNext(); + while (dn.MoveNext()) { + dn.Fill(searchCol); + var a = (BaseDataItem)searchCol[0]; + Assert.That(a.DBValue.StartsWith("Error")); + } + } + #endregion + + #region Setup/TearDown + [TestFixtureSetUp] public void Init() { From 8f01821afda44b34b2ef18d8dc8b1e6c01498fda Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Tue, 8 Feb 2011 20:24:23 +0100 Subject: [PATCH 012/168] Cleanup --- .../Project/DataManager/ChildNavigator.cs | 23 +++++++++------ .../Project/DataManager/DataNavigator.cs | 18 ++++++------ .../ListStrategy/CollectionStrategy.cs | 7 ++--- .../Exporter/Converters/BaseConverter.cs | 28 ++++++++++--------- .../Converters/GroupedRowConverter.cs | 11 ++++---- .../Converters/GroupedTableConverter.cs | 4 +-- .../AggregateFunctions/AggregateFunction.cs | 2 +- .../ReportingService/FieldReference.cs | 2 +- .../Project/Interfaces/IDataNavigator.cs | 5 ++-- .../ListStrategy/GroupListFixture.cs | 8 +++--- .../ListStrategy/IListDataManagerFixture.cs | 4 +-- .../TableStragy/GroupTableFixture.cs | 12 ++++---- .../TableStragy/TableDataManagerFixture.cs | 4 +-- 13 files changed, 68 insertions(+), 60 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs index 17090a985c..e59b324185 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs @@ -109,20 +109,25 @@ namespace ICSharpCode.Reports.Core this.indexList.CurrentPosition = -1; } - public CurrentItemsCollection GetDataRow() + + public CurrentItemsCollection GetDataRow { - var st= store as TableStrategy; - return st.FillDataRow(this.indexList[CurrentRow].ListIndex); + get { + var st= store as TableStrategy; + return st.FillDataRow(this.indexList[CurrentRow].ListIndex); + } } - public IDataNavigator GetChildNavigator() + public IDataNavigator GetChildNavigator { - var i = BuildChildList(); - if ((i == null) || (i.Count == 0)) { - return null; - } - return new ChildNavigator(this.store,i); + get { + var i = BuildChildList(); + if ((i == null) || (i.Count == 0)) { + return null; + } + return new ChildNavigator(this.store,i); + } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs index 9529e9f401..de83f8124b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs @@ -23,9 +23,9 @@ namespace ICSharpCode.Reports.Core #region test - public CurrentItemsCollection GetDataRow() + public CurrentItemsCollection GetDataRow { - return this.store.FillDataRow(); + get {return this.store.FillDataRow();} } #endregion @@ -125,13 +125,15 @@ namespace ICSharpCode.Reports.Core #region Try make recursive with ChildNavigavtor - public IDataNavigator GetChildNavigator() + public IDataNavigator GetChildNavigator { - var i = BuildChildList(); - if ((i == null) || (i.Count == 0)) { - return null; - } - return new ChildNavigator(this.store,i); + get { + var i = BuildChildList(); + if ((i == null) || (i.Count == 0)) { + return null; + } + return new ChildNavigator(this.store,i); + } } #endregion 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 faf120fbbc..34b4bcbb4e 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 @@ -263,13 +263,13 @@ namespace ICSharpCode.Reports.Core { } - void WrongColumnName(IDataItem item) + static void WrongColumnName(IDataItem item) { item.DBValue = string.Format(CultureInfo.InvariantCulture, "Error : <{0}> missing!", item.ColumnName); } - void SetReturnValue(PropertyDescriptor p,object component,IDataItem item) + static void SetReturnValue(PropertyDescriptor p,object component,IDataItem item) { if (p != null) { @@ -287,9 +287,8 @@ namespace ICSharpCode.Reports.Core { } - string[] SplitNames(ref IDataItem item) + static string[] SplitNames(ref IDataItem item) { - var i = item.ColumnName.IndexOf("."); char[] delimiters = new char[] { '.' }; var splittedNames = item.ColumnName.Split(delimiters); return splittedNames; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index 6f01362ef1..8fdcfa7b34 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -246,39 +246,41 @@ namespace ICSharpCode.Reports.Core.Exporter LayoutRow(simpleContainer); } - protected Point ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer) { var rowSize = simpleContainer.Size; -Console.WriteLine("ConvertStandardRow"); - - Point curPos = new Point (DefaultLeftPosition,CurrentPosition.Y + simpleContainer.Size.Height); + Point curPos = new Point(DefaultLeftPosition, CurrentPosition.Y); ExporterCollection ml = BaseConverter.ConvertItems (simpleContainer, curPos); - //curPos = new Point (DefaultLeftPosition,curPos.Y + simpleContainer.Size.Height); EvaluationHelper.EvaluateRow(Evaluator,ml); mylist.AddRange(ml); - // + + curPos = new Point (DefaultLeftPosition,CurrentPosition.Y + simpleContainer.Size.Height); simpleContainer.Size = rowSize; - Console.WriteLine(""); return curPos; } - - + /* - protected Point ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer) + protected Point old_ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer) { var rowSize = simpleContainer.Size; Console.WriteLine("ConvertStandardRow"); - Point curPos = ConvertContainer(mylist,simpleContainer,DefaultLeftPosition,CurrentPosition); - AfterConverting (mylist); + + Point curPos = new Point (DefaultLeftPosition,CurrentPosition.Y + simpleContainer.Size.Height); + + ExporterCollection ml = BaseConverter.ConvertItems (simpleContainer, curPos); + //curPos = new Point (DefaultLeftPosition,curPos.Y + simpleContainer.Size.Height); + EvaluationHelper.EvaluateRow(Evaluator,ml); + mylist.AddRange(ml); + // simpleContainer.Size = rowSize; Console.WriteLine(""); return curPos; } - */ + + */ protected void AfterConverting (ExporterCollection convertedList) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index 3a285aca66..49cd8cc81a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -78,12 +78,12 @@ namespace ICSharpCode.Reports.Core.Exporter if (section.Items.IsGrouped) { // GetType child navigator - IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator(); + IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator; base.Evaluator.SinglePage.IDataNavigator = childNavigator; - + Console.WriteLine("Header start {0}",base.CurrentPosition); base.CurrentPosition = ConvertGroupHeader(exporterCollection,section,base.CurrentPosition); - + Console.WriteLine("Header end {0}",base.CurrentPosition); section.Size = base.RestoreSectionSize; section.Items[0].Size = groupSize; section.Items[1].Size = childSize; @@ -94,6 +94,7 @@ namespace ICSharpCode.Reports.Core.Exporter //Convert children if (childNavigator != null) { StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); + Console.WriteLine("child start {0}",base.CurrentPosition); do { section.Size = base.RestoreSectionSize; @@ -107,7 +108,7 @@ namespace ICSharpCode.Reports.Core.Exporter CheckForPageBreak(section,exporterCollection); } while ( childNavigator.MoveNext()); - + Console.WriteLine("child end {0}",base.CurrentPosition); // GroupFooter base.ConvertGroupFooter(section,exporterCollection); @@ -179,7 +180,7 @@ namespace ICSharpCode.Reports.Core.Exporter EvaluationHelper.EvaluateRow(base.Evaluator,list); exportList.AddRange(list); - //AfterConverting (list); + retVal = new Point (DefaultLeftPosition,offset.Y + groupCollection[0].Size.Height + 20 + (3 *GlobalValues.GapBetweenContainer)); } else { FillRow(groupedRows[0],base.DataNavigator); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs index e6b102f288..05af0a6d9c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs @@ -87,7 +87,7 @@ namespace ICSharpCode.Reports.Core.Exporter do { // GetType child navigator - IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator(); + IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator; base.Evaluator.SinglePage.IDataNavigator = childNavigator; // Convert Grouping Header @@ -148,7 +148,6 @@ base.PrepareContainerForConverting(section,simpleContainer); CheckForPageBreak(section,simpleContainer,headerRow,exporterCollection); FillRow(simpleContainer,base.DataNavigator); -// base.PrepareContainerForConverting(section,simpleContainer); FireRowRendering(simpleContainer,base.DataNavigator); base.PrepareContainerForConverting(section,simpleContainer); @@ -177,7 +176,6 @@ base.PrepareContainerForConverting(section,simpleContainer); if (PrintHelper.IsPageFull(pageBreakRect,base.SectionBounds)) { base.CurrentPosition = ForcePageBreak(exporterCollection,section); - base.CurrentPosition = ConvertStandardRow (exporterCollection,headerRow); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs index 952d204901..bda9d86930 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs @@ -112,7 +112,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.AggregateFunctions navigator.Reset(); List<object> list = new List<object>(); while ( navigator.MoveNext()) { - CurrentItemsCollection row = navigator.GetDataRow(); + CurrentItemsCollection row = navigator.GetDataRow; CurrentItem currentItem = ExtractItemFromDataSet (row,data); if (currentItem != null) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs index a94626164d..545f74df46 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs @@ -33,7 +33,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.ReportingService Variable variable = Arguments[0] as Variable; if (singlePage.IDataNavigator.CurrentRow > -1) { - var dataRow = singlePage.IDataNavigator.GetDataRow(); + var dataRow = singlePage.IDataNavigator.GetDataRow; var item = dataRow.Find(variable.VariableName); string retval; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs index 5fbac758cb..d502c5b189 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs @@ -12,7 +12,8 @@ using System.ComponentModel; bool MoveNext () ; void Reset(); - CurrentItemsCollection GetDataRow(); + CurrentItemsCollection GetDataRow {get;} + bool HasMoreData { get; @@ -20,7 +21,7 @@ using System.ComponentModel; #region Try make recursive with ChildNavigator - IDataNavigator GetChildNavigator(); + IDataNavigator GetChildNavigator{get;} #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs index 07001ec304..b601382bee 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs @@ -38,7 +38,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy { var dataNavigator = PrepareStringGrouping(); dataNavigator.MoveNext(); - IDataNavigator child = dataNavigator.GetChildNavigator(); + IDataNavigator child = dataNavigator.GetChildNavigator; AvailableFieldsCollection availableFieldsCollection = child.AvailableFields; Assert.That(availableFieldsCollection,Is.Not.Null); Assert.That(availableFieldsCollection.Count,Is.GreaterThan(0)); @@ -64,7 +64,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy { if (dataNavigator.HasChildren) { - var childNavigator = dataNavigator.GetChildNavigator(); + var childNavigator = dataNavigator.GetChildNavigator; Assert.That(childNavigator.Count,Is.GreaterThan(0)); } } @@ -78,7 +78,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy while (dataNavigator.MoveNext()) { if (dataNavigator.HasChildren) { - var childNavigator = dataNavigator.GetChildNavigator(); + var childNavigator = dataNavigator.GetChildNavigator; do { Assert.That(dataNavigator.HasChildren,Is.True); @@ -106,7 +106,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy Console.WriteLine("start datetime"); while (dataNavigator.MoveNext()) { if (dataNavigator.HasChildren) { - var childNavigator = dataNavigator.GetChildNavigator(); + var childNavigator = dataNavigator.GetChildNavigator; do { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs index a1e6af8380..23ed302ebf 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs @@ -304,7 +304,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs); DataNavigator dataNav = dm.GetNavigator; while (dataNav.MoveNext()) { - CurrentItemsCollection c = dataNav.GetDataRow(); + CurrentItemsCollection c = dataNav.GetDataRow; Assert.AreEqual(typeof(string),c[0].DataType); Assert.AreEqual(typeof(string),c[1].DataType); Assert.AreEqual(typeof(string),c[2].DataType); @@ -321,7 +321,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy DataNavigator dataNav = dm.GetNavigator; int count = 0; while (dataNav.MoveNext()) { - CurrentItemsCollection c = dataNav.GetDataRow(); + CurrentItemsCollection c = dataNav.GetDataRow; if ( c != null) { count ++; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs index 0485610012..5345ad4367 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs @@ -44,7 +44,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy { var dataNavigator = PrepareStringGrouping(); dataNavigator.MoveNext(); - IDataNavigator child = dataNavigator.GetChildNavigator(); + IDataNavigator child = dataNavigator.GetChildNavigator; AvailableFieldsCollection availableFieldsCollection = child.AvailableFields; Assert.That(availableFieldsCollection,Is.Not.Null); Assert.That(availableFieldsCollection.Count,Is.GreaterThan(0)); @@ -77,7 +77,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy { if (dataNavigator.HasChildren) { - var childNavigator = dataNavigator.GetChildNavigator(); + var childNavigator = dataNavigator.GetChildNavigator; Assert.That(childNavigator.Count,Is.GreaterThan(0)); } } @@ -91,7 +91,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy while (dataNavigator.MoveNext()) { if (dataNavigator.HasChildren) { - var childNavigator = dataNavigator.GetChildNavigator(); + var childNavigator = dataNavigator.GetChildNavigator; do { Assert.That(dataNavigator.HasChildren,Is.True); @@ -115,7 +115,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy while (dataNavigator.MoveNext()) { if (dataNavigator.HasChildren) { - var childNavigator = dataNavigator.GetChildNavigator(); + var childNavigator = dataNavigator.GetChildNavigator; do { Assert.That(dataNavigator.HasChildren,Is.True); @@ -164,7 +164,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy DataRow r = dataNavigator.Current as DataRow; - IDataNavigator child = dataNavigator.GetChildNavigator(); + IDataNavigator child = dataNavigator.GetChildNavigator; string v2 = r["last"].ToString() + " GroupVal :" + r[3].ToString() ; Console.WriteLine(v2); Assert.That (child,Is.Not.Null); @@ -183,7 +183,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy string v1 = r["last"].ToString() + " :" + r[3].ToString(); Console.WriteLine("\t {0}",v1); if (startNavigator.HasChildren) { - IDataNavigator child = startNavigator.GetChildNavigator(); + IDataNavigator child = startNavigator.GetChildNavigator; Console.WriteLine("header {0} - Child_Count:{1}",v1,child.Count); RecursiveCall (child); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs index 85178faa59..ede27012cc 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs @@ -284,7 +284,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs); DataNavigator dataNav = dm.GetNavigator; while (dataNav.MoveNext()) { - CurrentItemsCollection c = dataNav.GetDataRow(); + CurrentItemsCollection c = dataNav.GetDataRow; Assert.AreEqual(typeof(string),c[0].DataType); Assert.AreEqual(typeof(string),c[1].DataType); Assert.AreEqual(typeof(string),c[2].DataType); @@ -302,7 +302,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy DataNavigator dataNav = dm.GetNavigator; int count = 0; while (dataNav.MoveNext()) { - CurrentItemsCollection c = dataNav.GetDataRow(); + CurrentItemsCollection c = dataNav.GetDataRow; if ( c != null) { count ++; } From ad5e0a4e9c06b9f8ec2f46f36fe5fa6676317b39 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Wed, 9 Feb 2011 20:18:13 +0100 Subject: [PATCH 013/168] Better Solution to walk down PropertyPath from StackOverflow.com --- .../ListStrategy/CollectionStrategy.cs | 90 +++++++++++++++++-- .../ListStrategy/IListDataManagerFixture.cs | 11 ++- 2 files changed, 92 insertions(+), 9 deletions(-) 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 34b4bcbb4e..e43d5ec6e2 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 @@ -4,9 +4,9 @@ using System; using System.Collections; using System.Collections.Generic; -using System.Collections.ObjectModel; using System.ComponentModel; using System.Globalization; +using System.Reflection; /// <summary> /// This Class handles all List's with IList @@ -207,6 +207,7 @@ namespace ICSharpCode.Reports.Core { #endregion + /* public override void Fill(IDataItem item) { @@ -262,13 +263,92 @@ namespace ICSharpCode.Reports.Core { } } + */ - static void WrongColumnName(IDataItem item) + public override void Fill(IDataItem item) { - item.DBValue = string.Format(CultureInfo.InvariantCulture, "Error : <{0}> missing!", item.ColumnName); - } + if (item is BaseDataItem) + { + + var retVal = FollowPropertyPath(Current,item.ColumnName); + //var retVal1 = ResolveValue(Current,item.ColumnName); + if (retVal != null) { + item.DBValue = retVal.ToString(); + } else { + item.DBValue = String.Empty; + } + } + else + { + + //image processing from IList + BaseImageItem baseImageItem = item as BaseImageItem; + + if (baseImageItem != null) { + PropertyDescriptor p = this.listProperties.Find(baseImageItem.ColumnName, true); + if (p != null) { + baseImageItem.Image = p.GetValue(this.Current) as System.Drawing.Image; + } + return; + } + } + } + + #region Proppath from StackOverflow + + //http://stackoverflow.com/questions/366332/best-way-to-get-sub-properties-using-getproperty + + + private static object FollowPropertyPath(object value, string path) + { + Type currentType = value.GetType(); + foreach (string propertyName in path.Split('.')) + { + + PropertyInfo property = currentType.GetProperty(propertyName); + + if (property != null) { + + value = property.GetValue(value, null); + currentType = property.PropertyType; + } else { + + return WrongColumnName(path); + } + } + return value; + } + /* + static object ResolveValue(object component, string path) + { + foreach(string segment in path.Split('.')) + { + if (component == null) return null; + if(component is IListSource) + { + component = ((IListSource)component).GetList(); + } + if (component is IList) + { + component = ((IList)component)[0]; + } + var r = ExtendedTypeDescriptor.GetProperties(component.GetType()); + + //component = GetValue(component, segment); + } + return component; + } + */ + #endregion + + static string WrongColumnName(string propertyName) + { + return String.Format(CultureInfo.InvariantCulture, "Error : <{0}> missing!", propertyName); + } + + /* static void SetReturnValue(PropertyDescriptor p,object component,IDataItem item) { if (p != null) @@ -294,7 +374,7 @@ namespace ICSharpCode.Reports.Core { return splittedNames; } - + */ #region test public override CurrentItemsCollection FillDataRow() diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs index 23ed302ebf..f6f6ba39e0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs @@ -81,14 +81,16 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy [Test] public void DataNavigator_Return_ErrMessage_If_ColumnName_NotExist () { - IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection as System.Collections.IList,new ReportSettings()); + IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,new ReportSettings()); IDataNavigator dataNav = dm.GetNavigator; BaseDataItem item = new BaseDataItem(); item.ColumnName = "ColumnNotExist"; var items = new ReportItemCollection(); items.Add(item); + dataNav.Reset(); + dataNav.MoveNext(); dataNav.Fill(items); - string str = "<" + item.ColumnName +">"; +// string str = "<" + item.ColumnName +">"; Assert.That(item.DBValue.StartsWith("Error")); } @@ -125,7 +127,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(contColl, new ReportSettings()); IDataNavigator dataNav = dm.GetNavigator; - dataNav.MoveNext(); + ReportItemCollection searchCol = new ReportItemCollection(); searchCol.Add(new BaseDataItem () @@ -135,7 +137,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy } ); - + dataNav.Reset(); + dataNav.MoveNext(); do { dataNav.Fill(searchCol); From 21e807ce494c80bb4dc336052e9ec2e6b542b55f Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Thu, 10 Feb 2011 20:36:56 +0100 Subject: [PATCH 014/168] Remove 'Irony' from Projects, set reference to Libraries/Irony.dll --- SharpDevelop.Tests.sln | 557 +++++++++--------- .../ICSharpCode.Reports.Core.csproj | 7 +- .../ICSharpCode.Reports.Core.Test.csproj | 7 +- src/AddIns/Misc/Reports/Libraries/Irony.dll | Bin 0 -> 229376 bytes 4 files changed, 275 insertions(+), 296 deletions(-) create mode 100644 src/AddIns/Misc/Reports/Libraries/Irony.dll diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln index d8bb06e5a1..5a91492c87 100644 --- a/SharpDevelop.Tests.sln +++ b/SharpDevelop.Tests.sln @@ -1,69 +1,69 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -# SharpDevelop 4.1.0.7258-alpha +# SharpDevelop 4.1.0.7286-alpha Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -72,45 +72,45 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{ ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" - ProjectSection(SolutionItems) = postProject - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -119,239 +119,239 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{393278 ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Irony", "src\AddIns\Misc\Reports\Irony\Irony.csproj", "{D81F5C91-D7DB-46E5-BC99-49488FB6814C}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" + ProjectSection(SolutionItems) = postProject + EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -361,235 +361,233 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\Add {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -1072,22 +1070,6 @@ Global {01DF0475-0CB2-4E81-971B-BADC60CDE3A5}.Release|x86.ActiveCfg = Release|Any CPU {01DF0475-0CB2-4E81-971B-BADC60CDE3A5}.Release|Debug.Build.0 = Release|Any CPU {01DF0475-0CB2-4E81-971B-BADC60CDE3A5}.Release|Debug.ActiveCfg = Release|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Debug|Win32.Build.0 = Debug|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Debug|Win32.ActiveCfg = Debug|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Debug|x86.Build.0 = Debug|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Debug|x86.ActiveCfg = Debug|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Debug|Debug.Build.0 = Debug|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Debug|Debug.ActiveCfg = Debug|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Release|Any CPU.Build.0 = Release|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Release|Win32.Build.0 = Release|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Release|Win32.ActiveCfg = Release|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Release|x86.Build.0 = Release|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Release|x86.ActiveCfg = Release|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Release|Debug.Build.0 = Release|Any CPU - {D81F5C91-D7DB-46E5-BC99-49488FB6814C}.Release|Debug.ActiveCfg = Release|Any CPU {4B2239FF-8FD6-431D-9D22-1B8049BA6917}.Debug|Any CPU.Build.0 = Debug|Any CPU {4B2239FF-8FD6-431D-9D22-1B8049BA6917}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4B2239FF-8FD6-431D-9D22-1B8049BA6917}.Debug|Win32.Build.0 = Debug|Any CPU @@ -1221,126 +1203,125 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} {870115DD-960A-4406-A6B9-600BCDC36A03} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {D81F5C91-D7DB-46E5-BC99-49488FB6814C} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} - {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} - {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} - {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} - {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} - {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} - {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} - {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} + {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} + {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} + {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} + {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} + {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} - {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} - {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} - {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} - {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} - {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} - {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} + {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} + {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} + {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} + {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} + {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} + {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} + {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} EndGlobalSection EndGlobal diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index a836439159..d3c92910f3 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -53,6 +53,9 @@ <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow> </PropertyGroup> <ItemGroup> + <Reference Include="Irony"> + <HintPath>..\Libraries\Irony.dll</HintPath> + </Reference> <Reference Include="itextsharp"> <HintPath>..\Libraries\itextsharp.dll</HintPath> </Reference> @@ -387,10 +390,6 @@ <Folder Include="Project\Exporter\ExportColumns" /> <Folder Include="Project\ReportViewer" /> <Folder Include="Project\ReportViewer\Resources" /> - <ProjectReference Include="..\Irony\Irony.csproj"> - <Project>{D81F5C91-D7DB-46E5-BC99-49488FB6814C}</Project> - <Name>Irony</Name> - </ProjectReference> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> </Project> \ No newline at end of file diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj index 940a068b55..54df47fb98 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj @@ -40,6 +40,9 @@ </PropertyGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> <ItemGroup> + <Reference Include="Irony"> + <HintPath>..\..\..\Libraries\Irony.dll</HintPath> + </Reference> <Reference Include="nunit.framework"> <HintPath>..\..\..\..\..\..\Tools\NUnit\nunit.framework.dll</HintPath> </Reference> @@ -108,10 +111,6 @@ <EmbeddedResource Include="Resources\ArtikelSchema_Data.xsd" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\..\..\Irony\Irony.csproj"> - <Project>{D81F5C91-D7DB-46E5-BC99-49488FB6814C}</Project> - <Name>Irony</Name> - </ProjectReference> <ProjectReference Include="..\..\ICSharpCode.Reports.Core.csproj"> <Project>{4B2239FF-8FD6-431D-9D22-1B8049BA6917}</Project> <Name>ICSharpCode.Reports.Core</Name> diff --git a/src/AddIns/Misc/Reports/Libraries/Irony.dll b/src/AddIns/Misc/Reports/Libraries/Irony.dll new file mode 100644 index 0000000000000000000000000000000000000000..f0cdf03c1d76fe0170a146a4f3e3a5f53ff3a829 GIT binary patch literal 229376 zcmeFad7Nccb@zShoO90|tEz8RajOTqtD2^pOP#8wyP1k+MsNT`5JYf*21Esw3%3A; z%Ox0R1r<dN4ydh0jRT^h#(9XEs2EKiQCsaKniw;g!NfdIo}_)hzqR){_uT4g<$dye zKJOnd{pq@ApS{=Kd+oK?UTf{Ohx6Dcy*h}3Ac*<<)vto!6Fl|r6#M=4Kev%QHuK4` z;G@+CHhyB{><2bp@XV{0X0Ppbp3%MRIkQ(>cFi@N>t`>&a<+TJHM3V;Gkf~u&Yyiw z=V@1N9UZM5>We=2j379BBnsa0>FBXpZGRqw8|x#LAUGGyW?k&qGky3rVS9>;U*+%? zgz&e2pC_Go{fmNAUSu!!&X14x4}<x{Gos*pg(&yYDth_9w?#pNxTAnOczN2dd!G#g zT9E&%@c!uhEeN(=f93P8=Y2|*l4fl!B1RO^yS8?hx>pc3+`!S=uxl96Qy|FJ?v>B( z04Q7oa5lJW_k%l4$q)Z~m;w(|;9&|pOo4|f@Gu1)roh7#c$fkYQ{Z6=JWPTA|54zd znAhr`=B8m#3O@bak>Gi+8VRzQ<3D|SB>1C}fjp$2$!$@v4akuoXa-B=AV_LS)Hx^! zYC+Oz@wnqe66;C1)tOdgSZ=T8*+_%R+=j5dhOnM%^_<)mQi$;45q2r^+BT>pwKPcP zh*$b(mL7#|09+actWyDVVVgO74UoArvtSst4Vz%j@-HtR;NM(61+JrRS|U18MA%tR zJ(2zH3tRg}>g9#_pxWM<U~g$l5bOmaYHt9<C$(y6JWVrPJ4S5YKN76p5R_=c$U12F zT*}6$LA!epF`n)>M|cl=%<p3g8Lci%gk6YnZP<eZar<z}3c@zwq*jEQ4U&a&_a*?- zQuhNq>S4K<B}f{3$9*L&SIH0Qia<Dtx))s;jDrfaih}>alPbZfO&lFNwQt1XQf@UC z<vA+WTn^iG5=bSz*9b!>lmuyq%oLr}%Vee%#|2^78za5<Vf}oTANPKX-rL^;v`sR_ zlzXpL3{*^l=|*~X*oN?VIpd@ks-be&DiKCj_`Oyx?{V)J5Ypqlv-7K8{i<cW_sSrg z>I*dN!2)q-Mtl?Y>V%`X^RFY61wTf?U9^&7nnAimvPj>1q2;o&|BbRIg3c_N=f{%X zouoh@{--0;jmkot)YFT?UX|$1Mqs8bO$k%=^kkp#6)M;QQ4H#<y!1W}d|y>jV<E4K zZd7*OKpV&&l;^~gH-jGxBfc@@UPLx1O&w!}n0k6)1|aM^hk#6H6F;Nr!4pyYP(n3_ z{s6_KzIP*On@OXz@9!O-i1xLPW+ZgB5Ec9|5E5Vk0~_xw2I&<8-g$XOw<*}OK(@Sh zJlPf=<9qCb;5C0-;idO+h&zAS{<#HdiM|L&?sTLDnp4G25TWS-5!>*b+*S(83^@FB zqF0Ve*t5>e8HK@I?|z%HQ(Jrm&B!SCQb$^<17MUMQ?uHW;tyAX8@evu72nwy4#o|+ zPU?<~WJ9>8@;Zk>%lU)5>y|}V$k%R@#wb3TGz*JCB^-)142DtCx<kUGlZbc29wSza zK&5N_Tha$tGAm`ek5G(}iIP1X^1)}#AX=(Y@8-$4FWj1O&ED%l)O!i<ox{OrvXnk` zqNI^tYXp@W&VxFmRVNoFlV-9IrY9xU4vbM-XjOYNbYXj5FV(V(WndWGbO6`_DO<|b z-pPP<w(<h8Df|dR2K0KEuC%XpOo8c^;qr(am!#rq-B|X4)s-7A1iOXN$^Z?RBtxJ= z2CILl#t-dZV^Uxbs{#fv>?Vd%wy7;yjO4<~u$E%5$Xt|F7;Fiyxyy~4F!*qAK{7)B z1i{~iOJ9Ps`WpW}2zBDHz1_$ZM*WIjqh6m!U;G=!eMv9Vb0g*#CPO9{OodKvbMb&> z{O{wV;0EeM*AO4|jmI3Tt?q=dQ(szWMR{rB$;r;JCyaW(#g7RuC%X!<OW&YDoj=fc zNm22p^ie7c{|YmiZaz21!O3Ka%$BKFpc-CKJ8@YAkh}!|6@WDX>wCbjihLU5CdY52 zY{qModQHf8eoDJ!qhS9evobk4<Aml{yO=_sdwJesBz-ANmcE`9>#FhN+*;*D%EzeF z2?<bwa>*7NDA}``aRx#e?cJzBNM*_^*QUg^X@>QKNtuFn@D=V88XC!F`sBJ<A`r?> zkjg`q*B9SG({p(Mz-srBbap^rCrdOE5;V`96gXNv19lQcU`?Y~fYc98=I=55rRNVT z_|yGs;?(tFDkwdI$bt4wXTwA~hJ+R&Gzy^xA<9pJ77}{eB((JH1T>;q8Q=E2KAS`u zEi@gn7B{;1w;<yw{z1^Lm*?wcQwz{lgIqaw1um))$_PwMbyo&z!(fgNkQm>i?|o^N z{=FirsfS8$6C=6*p+dx=inx!6WHh~+EHG7O5{TJ)%Dk)wfuikgc-%^|1c<O(pV>mP zT3r`fyx?V{S<x>h!)O{*jfbM(Nwj*E=o9tsC#7JM#Z!&+)B-+<LuI5hYr{y!R||5e zi=C1uA}%-5Q7kq?pw5d-L9_i%qaN5t{a_-<$PsnEtR6!|2(_GD8GIP0$K@)ljrbS) znMG#h#lc4@kHIJT(neljv=(@JVDaQ-!l#FX-7_dNGCu7-Ra)@KoMU|*LqvtHWZRih z?uFnO_1?&D=P2^kU4@CW8+}XMi!-*;7CCExdm$A%@eyEW#lbJYpHU^czey!BBx<!V zniy##rIM^i%jMBU1O$ro0b=WAC_77_|6!F1P!UeU64TsKSHET=CVM)lyINnJn@k_M zs%+id69<wx<Lg6%av{O^Gm8*w8h?U?L-kn7Lv2r@Di;YhFs)ndLqN-v?Qu#KH~zU( zeL&|HUfD68v+sUCIP^yY`>qG}m=n;$H4A21<42<!YleMm>ATd@NH5s0m62;D(#IMu zQC&|4rc8M-87Rc|K1IQMe3@d@N&4lz;4vjU;;HkBU6Zu7w_WGY-Uf&h?kxw=>g=S^ zE>$!|w7YTF8ci>Otyk`n^Wt-h-5JK`PCF|4MtsHEikh+}*;^$(chKiQo%X}n#uv;P zAd<52)e$^{xi8z_jog`8LmKj;dBXH!7dwlFcdc;=)ATZ9i#+;`JAXns2<a47<{5A3 zjAGF_&<f~d^Cwx3xbtlThQE{G`QXzMK0c$<KFn~*PKFOq)_grOk>cblNR7Jps52$$ z8SFhRGf<;JS9ULB+$NplA-LJF(`KYLDs+V;Wp4xGba$o0JXj?#aR-lVetg1-!D+~# z5$T1iiJx}#l3I+Gz9@pZMkbvN!ZPW-lazY-j0o5*{7Hq;pddXIb@VRM++>p1$mWhd z(y6R*AL-|<!5nhLfthp=Uh+S{Is5n9uc5W0V-MRRPWrzG4iu#JTtYd>NBUo6q3gk0 z`09@~2k8`o(oLajVTL$;gKqTmyF>h2_d6zdmC$2E#ztl{^+inK{65OVG|G7miB+54 zQ(IJ@Q;7IAF{xvdbeP3PLzwO=XL4r{ceac3LtSENz~NIqRw8IVlBL~9SMLYE&81XE z)71%Bz?_*vbklP;N<^a#pyzcE4|E;FU{&U2h+?M#tc|4rp}8OIL$;xOpFr-c3{PgN zWE!m(oB|6PEpxXPOmGyj%x-ur4oiL11J?IxQjh8f5)e$Wyjv$g@VQ5Z?Gt%I@u<&8 z16207_>(?Y-zd^_of+kTZ+GCWK7;`LKSG<1^%=uV3BJXM=^tvrQx(LjD$WjO^&0hH z*SJrAlYMJA)jrAwd@y%m7<K;+wz>5bs%WFj7<|^WQ!@-v18M;ZLrp_Tczng19$$eB z%`1Go@~jlELh|{B#?e}9_qQNH*glPlr#p|}x0cM;lUH8l41ahC%`%1vd*cm)lZ_%n z2l3wxm%uvdpG2`at)jkK9L((wmp-CI+EYxVxlm;Zn52(EYi$aH*MZAA*9QXVK^cuP zm|j|qo)KtI^>pzOT-!MvEVrary7(pH8NMB0WI<XDmZ38vq2z(yL2A9+K|tkE7ZPq% zqRta7PQ0-!|E%)Q)q=T~7n%p1VoWDJT<1bEn!z}agFUnZOA=mk0Pc5b2PJQ=^%22{ zAaF;+xnE_q#+np%78b&&w)6-w)FC-!&joYvuxCN}OWMq7lKu&V!ZuA;3sknclW-fj zJnE5!@S_Xi$GEVHTwTysC{iowOiON`r3d3wKChS4PR1(jZ1v9=V7ZB4hxZzMVtIRF z{NB$%u0!RudfLWZdlVt&eY4`?&ML6afR#PTTmmC)P?X>60j#2teJyx8w~C;yFf*#O zVKBqX*+|=hW1rz{q;<^q4x$Q%E;dq!M%KPXk2^+h(<r%yCri!JLTT}zMskdWM3j3D zTrwW{B94*6F*4svX8-$=eizWhdeiZ*MPEXcdT4&aJuTh5GBPJs$7E7S=}RT2?WBu7 zx;EV06NNWVCesfZt((d1P-aB^Q8P$ic%i;|u%-X~h&hW=97^415Hu6sjiAN<Nk97R zz0=i8XH)28dGWJEPn6q_<*kmR`7Hutj>f31<-R7NeSWc`b+*tjS!q^U-S<(^?q+4$ z)k|n~_q#4?%|zHfhjNHp+f5?_Yd?+%Kd84=Z#W-nO99d%BhFMX)r^-O1E-9ZE7i`q z00U8VJs(u2A8b_0HXYa(3x4N$_-DcXJmBno2k$UZd0z_wm^0BFZE`$w#K?Ez5EUcd zj)NQNLFPx2bv<L~!zpJpeLS96vWRo7->3G;?lwI=5%whelk2H5>^xrRCFc1WhB?$= z#DX1KNE0aW2m)5d+d&ZT?lA=f!=7?X?Mt3S%a<+yvhxJx3vE=b%|@!S?|iYacNsd= zpxMR~nQb81YW1Le!*fV%R6K`hsu8A(mCn~F*A`G(+gt9f)wzfq?Th)LaoJp_QJD>9 zv#}~?-IG*<ig~k}u^`xTvJO*iRYtWW>@+mgi*5eN{%wZBBM86{FU=L#Wj?vj1<yRp z`Q*aj^pTBMy0HAFKcUrNW^xDt6Sr!MA14YNOg>nzbe=3ClzS(Mzn?-lSUL+#;29f} zj_;qU_;T+=U^1?o06^~rfS}?ANRn=wNNjX4b+@X@)iyOE$p|o9lgZds*o-@usOSLr zj2{=iM7xt=W(*kJHGG#j+MP?u=J|O6{>|2ht_@DTFPj6Fg8!ne8`XX{9bSz|`6IO- zF{-h8140jlEw{`ZEm>z%E$g__;(dTcPVGFIQ5bFRVZ<P2N{AVSnk6S@c2SP0BXL2T zaY1G2vCz=e4w#RohX$1aHCvs_$P`x%htB1M@oocEby(6W@y-Kr;@+8XUm=*d;$Ypd z^S)s>v?^{?L8W1Hb<!xKahn9s9SMR%Ox7=bh90O*)u9R&lH}Q+(O4t`Iz&G6_Ez+I z?;mNTvz(Dw=zvcFQ!$E}h?5*!*cfQhOygW{$r5W97!lRZ(}eHh%PfZmv>GJ75!7~c zeeZ7iVD+xP9?iH1zr||@<&1fNwGJRa#EW@1PeP==Ld`1b;7tTfs+E_1M;uj3dT&-* zsdJ@jcL1Jbw3X%|-D*N%XEPUgv_Bu2g(7KD)~F1b4GtMs$wR`(<1v|}L6g;CCrc-T zUskj683w-%g^;1Ltu+>F=`({R*~)bU&(p!yEq*<NP@^KdfN=w7R8Tc0MG+RyRGSp} zT_-F~C^pCjN!bmR+_Mv=6J^L_v6!%y`DKzT%oRdrVGEDU?1L!y8TcJ4{6Ns;!&O$@ zqULK8ar<iCGD=%lc)CgT;pCmwI+n9wrbmDD7V;#kJE%@`MhPZNubif-1t(CFu0|3# zJ}fh!RDitRm(qcW>p*4vfs+u$-Ycualm;<}D&BjTP<@sVCwb=?uJ7Z0trH8R!mq*@ zoOA0PR|ki`Hj}O6!56=s(IYf@N=F$z)M3_1lcmM?iyo!6I*PHJ6lj&COCT;np=XRi zJJ05&QJLN|nx5&SsvQ)Nb>npZdhu}FVPyEl?8$Od-j%gJazGQGFoEpYGg|eNQ~|$N zw6X^4?KVfNVrzw~F%IcFPj>`i6|2ZQ+1gJUyzt%uExz<887<;~BNFmqETctz@%KfG z`bxBDr2UD8rv)vy0c-+jG(CM{H0$-=Jy5_)x1@Ipq9K3LDx7~Q@W$j=a|{BF1(ab! zT<`bN>d}3zB8LQ2Zd4(C=aOr6W0(zuxDiGm$2ySuFkxDwt;yJ?x%7LCObu}4`|<18 zp}zRFA_)*kXVAN13tL4zTwOh$o;)#b_R?g6bTEra{W;%kmU~QY@Rps%@4i?zhT1dU zERj-Jh9tWgM@sxCjU690j*{wTG)iBE_<9dhy%qNYPFsajA*orhbu6o_5zxk@+7}|$ znK@0itVolfX$}$*?dSVAv*V;$MvaHY5ak{M0;@p1?^jy=iznEQj9}HES#<=fHEYr; zBEh7~->e;oMqk*UM*nvhVvf!pLE&M01y8s;8!KsW=clvqc<`-1%fiQuocrR;R+||4 zi(h2nXM~UVJ!fNw!3p7=4`kul@LT_s+1_FB9_peWhsWG#dIO5U$sQA@1xcMA>cw=U zGEkV)uBRm|OIq9-Ey%}(KZZ`rgkvsR8_Ddz#F43Ld?BgYb9{k?J|sk(JUu)(`jV{u zW5LVb;KH&`KR|ohYLA<+J6|w6NKoiOV1rEN{OPcS=|`^<xBBK{wrzn!7Z@0uc}}&j zfu~UeZlgsdDZ6>7$CIh@S83Za6cgLu;9NOCY%ER;*@%W?80Um@47&+f?*9#gh2X@i z2W=Te7Qm`%%UR;#js{rRk{O)T7Qdnvp>?k%wt;yZwyz^p*KV`N5if_xW7N#&D{Gge z={?<xO3X%|s?-4ZB_i?me3>?c`&uUzlvkD)Ya(uAHVjI$7-o~pVhp9_70!O59t6f2 z-lz0v;X^%f_Yx5C)6WIkAoQTvXm#ft-5&NHC7jV)iiG@RXT6xIn7JLiU9l-R`Eo}q z`Fo!SEf_cK$GZ=(T2xQZfowSe%AFf14VHbGO6~(PzuLX@nC7`HDbCcOtIdE3(<-|q zZX_2I@#zOy*BX>&_<E!IZWb=l^TOfX;E)Q3sJ8e*bxt8mVhF%rLZEjsKU4>M)aWiS zU~#xY2<}hNV>yxz<{0%UIzCG(qAc=I%!ELg<7z(C#*(9h`EfIxoCqFmM#JS$+3kZl zrxXP9#$!>NX};DyRC{gd^}N)VkoHLfp?;o-^jwHBxoYuFik?{2hT^r+pxVRG@JY?| zNfS+rM}J|2BS4(l;bbeL+MD(h%?Z@&LbGI|HR(N3fH$dhmxA7kJ2&&brGj4RDG*Td zEg8h!aBOp53-@DgYJ*Ugyz^382gIsjh^5`M2;Epw_tz#T)9%D%`&I=@0hkO#+*Eqp z#FQBo(x0Y83MfKv!}6eJLgJgjyk)jl=eL9=8O<P2J3a{xQ^VE(HQtsr;`t;`?rWV= zXat0&4>Cfhi=N8Tu_95kG9YR0FH=q9;NsI976W1|d}@D66xh;OVzL@G6DJ!k6OCA6 z8s?d16|26UG;95fKqDw;oba9jC#>A#%L)6Whd|h40#vSeu!k6nhiQC=&}%dsy{nZJ z_paj6LBNSW3X~UrETg<QHfNAWugD<7)VFPL548g>&v91&WqskXtuz~b26mjGT`}xC zNYYwBoZ29pLmj!szf*#udvr%Ez=ZY{@V|0J{KICgy$e|W4~^F^4ti-+X*Svp7aJaw zE=(NcY{t=Q4@D9;M~4_|ERWqLA_Hs|qEP(`G(Kq9LZob_<|bY>z813aMJcGRxH-0B z*<)U(7KVn(UOqI6?ccg$`y<-_NgCLHF_n2awsK>~Bij|z9Phk<W@RIKERRKa|Hj5T zIccKU2aT>TBC8b9$X&AE&Iq3Mq0CO13*O`BI$_WlIrGBIPWzYO1vg~j*N!~qhgtZ_ z@LAu=Y__Aq&;23`H>2GjiN@(u%Kv3_(owMwKR!O`)meB?^!<-y;h)4OZ7dm#bkrF6 z8p!)FbC=fKMsxXL&kqAE5a}<c101WcNkP5ZD7#5VrSlRs(M+jPH*1N97_QEQyY93= zsfqKXhYjWJZ{lqXGJ<Ww%|xgu!<+G~X9K%1i3b+#k}SQHnr>568dyr_W$Kv4SB=n! zW~{yNsZ%Wp6(t?x(JBFyu=T3yDJ|{-PO&ttwxu;$W_DzgK)1JZbg@c06FoYO*-X%^ zG!y5mak>AFy2?$rzfzo{*eWx$^5VCJh1(7~S#4J5M=Q;0=M}DMO|o46_W>0~&5E3n zh}I?>qNTGf^;+_;&UQRl%noKE5(dh<DNuo?{i+@Ti?7jGzmF6G94=ghpfzuhdlgs@ z?=lV2jg&rL16QL^hT~9q5aI|C0t9ycH8U?pB9q=@3QDSJ#=DULQhDu+zCO%a9$L;z z$eB1Z#b&B=!Kp`yU)`2EWKV!VbOS@=;qT}C&C(HLyco0cu5~Y(A8Zv*wrbgs&TWy= zRGYPBhhSHAV3WcAQ~9shOY~q30Ao2t{0WW0STC}iAG%mfD`jRM&)}TELBWnkIn*>( z>i8-kR6bU0B-HJ<;l{>(=uVC;zLC~UjAbU0Y$O{TCXC0^OSAcCi2)^)Fn%&tUe#Q+ zunu+V*kw|$)hg-M>p{A<ybQJ~%gGXz;-In#zB1nhEtXC2g_+Tc^qm(v5j!?auB!F& z!dS)kwp@T>Bb8WM{15uiNd$I9SKXAmi4jfzVMN0#uAPfx8gSlMQO?L@inH8#l}3q1 zp|df@(ybZ2U|VPYyjdWsanel`vUq3u4BB85n`I5iYRh?OaxA?(tHF%c=ZNke5A<`* z;nC#GfH!T~Q}-yr)EzdiR&SgNE4fXV8K*_cF5F4_a;yqHv-8Jp)Gh0rFsfGC%wf>( z6;H?Xv;h&F#s}}$iZ~3;HsdHY40}wj;`YZB&*mjm8_h$_-)@~!sCePN{aGUEG3jDi z!FtfW`0jM0+eLM}(mVD2ZY-Y#mt#x>pW-hY%NpZwVQ?RRdzZyaKr<+VxAH8)vx;qb zw5D8)|040sU4x^S#UDvL)Arz^W$``UnHvS)EW~RJe;-(M26ILo0q`6DZJN-?_=KsM zKLb!+#EmYWzx2dt;ARuKnK9s}%Hl7nYNFybAjOvoQ>5zR{YtI6R5|JfCVdsTkA7ev z-3g4BOy{V-JkTA~EY%^P&4~9xUN^###|5Sg(zB!%UCeM^#^<2kmGh1d@*0Z^X_F4r zzVmn|9je39L9Na~{=>0xWjRRM=@*r9uLEI~xTs&snI_4aIu>^S26sVJZr>>WFZx%E z6r^9Ake;~oFe)c<Z8%@SshAIRd+==jzQNxjomk{0=o`q-^5kXlTZq4ixLXVH+TSpW z+}~c1`z@_D40^x1$O)dTe_8l)UH?jB8E^N$ikHb+di6xD{b~hc4}~(=C2phhB`v-2 zZ_st5Pu)S6T#+!<0GPDbs3hrRNgvFr(}Ka&IH0CH{bi)rhSLj3!h)G?Qd;~6NHATm zI29%BKAN@XxvFh6-Gs3q?W;+(LG8~~GOUaxgxj~M8)Jf@o=@8gr5EZB)9Wjy(0#Ir zA76(Peq-qlq_&xC*mGrP1+oyA*-n!#Kl7-fgL^EuZ5HIbMG6-gFXwP@-Fckj&1D?U z!fw>l^n!Xa^XZ@<nzAW}pIMo~1N#kg1+?^|zJUa{#$_#89BRph@az1zpYWH547IU} zo1=Lzq_oNrS-)$VzpOnDx}d3zL5>K!UuU$ewmqqn<IQn)r7{bOcQ?nUoe#kj2Cr?p z8FiD5d!x#V<DPB^GTDC(VafS7@mCyYr|>RYZn;i~7%rHG!LfyLrtx|k?~ma5rDgG} ziTfsT9Az0Q|4cGHhP2o6EY{1ybMQ^#|FaM;Ke6=F4wL<8OqSTZ&yiUh&eR#4qpu^x z5ni_u|Jh~yrfp(6ujgkA$#39^Tk=83j_(vqbCwRfU7!nIUUx>#QFG3%iB1JuPjhJg zI5bVtmr3FG@1Z`6`}ZEL*RZFD+x>PXA@dpQd<|PXf+N+AqK{b1*X$|OlAqRPu{t>k z;EE^|6fM1<4&FRD)<1y~n`3?Gm)CSW;Yiz3Byd$g!#zer?M2BVS<|t^$r5hqrx)TA zACKGi8HMPIkFJJtljWs=s;a=n<euz<6D~cxbN<|h7?o*P*gjj?JW7)wgK>k;vwgjL zT%`wlyGMf4=wJA%$!ID#v*>lU#Id{0eC1U8L1o|-eW9IiKczd_`G$)+?@pLITW8;} z-SwIH=lhg@w4=NFqxW-`3vge5nP}<m&BVFYs(2A8uk~W+0G};ePAR32V&(K|)y{UW z!Gg;C=EBSLkyGx?ZQ`G{8KXPacWJ#07lvs=3$Tz>Jo!Ny!P@JIg+^$~MoNX%a@+nV ze3*d&ZLVN4us{PB<gIpV5(i6no)TR6de`od-5&4ys^?pX{$wM1tNVjWwyF@epJH)F z@*?5srdt2EAqwQQeVg>7_Ag_5?Iwpd;uwRA?QD~w`D0t1H<52YC#x$sOkBm6lfRFN z;?BImoWZfKUyOy6U`B7)vwqS(S34Txot*CAcK<fOJiZDRbJ&*8-=`91GSdLrj;Ap0 z7F7?v{yO0zn|WWqcjVhl&dK_UTgtAO;-bTyoAX>Mtk}dyo9&jUpG_H6*#T@pX~to* z6t^!^BU!kS(^HQ&W+cw+vLUKz`0Wr1H;0?8RMVp}6I0sJ=NWRU!i}*8ThhTYOw2!- zOM2OtpMxisDL<Karf+1s`K4^kyCD^NfF%dnX*<7<N@aupCDeyUq<yKLet*R4gEM}R z@z~bjTl=zc76y~h_Bc=HpF`$fL+A6=q*p-)meJn~BqM^M$G}40Qki$FC+QXJWsupT z#R~=jd!y200og?`TXukAMxeXFalh>mhmh*>4J~qD63BMa28sK$UE&sDqPJH=N;aRJ zTpV8DW+oZwJ1=lbl_7gt5#&ImRF+>t%4|QynZfm+9nkJ0e=(pP?h~Eea6C$Q1==|l zl%YDHUNyZL?h)xkA-XGe<`vYDc_r?+DC6D7IikH1I@vOc<G*@3ow)!t)3_R-s&mt4 z9zYfHL+G;118CNU5k?GiV{UB>5oQ?ID|1{ycF@iBbUs4?f?03&P!hJQK$VYGi4|hb zy<WsiYr4zvqLK`)g;%<vu?#1T;;i*I=T$TM9IsTkjR0#@H5Mwy!Qedo?9%YYmq$|8 zrSNQJ5QSW<1^{g=C{KxJJVC!%+f9t|3iMmvmIE=CvV8x)V62f-B=@^P`;8f2Z3|wR z^Vq)yC+^66)ISVve0&zZcI1`&Tv&d)x4>=)bM&vD$maBEF!c#-0BX00T2W8WhMz<l z$184Wq-;wd^PC3MP|P|Hx}eCWfJfIC;Gv15G@GIvK>%ahQfTBL{0e#vORYEx=fE-3 z?Kj=-+Nv`J2)W<{8#nEz!PsaDnPkbtNC&Z^892r16lo)jlDK^ZAkI&yye;ygc^Pv) zZw68y+{bVsFqjz4ptM{?4)&QZeLyuQNfa;LM5zBVFepGLZe`kGh7kt2p{B1x`e`3^ z&{ph1zmA^o)~k2_41GPixEF|}x2qOl?vk)7rK^xjnc;h-isW6EuC0h`^DsiHXzM1n z^~@cuHJH_jTMg~q2)>gEV(=WYkEYkN^(>*pWa%E>J8xClv%eAsZzISGa|cWim&_^4 z?cD_H0h@tUNar2AZK-ts0;HYwEho%71udVh=9D-P&L~LEirMV`;Gx?uvJh-MC*$RN zgQI?u^>rxS;_kNzt+vR1?Q|B0{kYyHT|bl{Dk>qn+{W(c5xswao;pSJZq=4vL_6zI zWAUYwU6i>M+XEn>s@@!uxF>iirZx>kuHVhBk&W*+ZuOxc0Ifc38EcLF`J#>Vb}pPg zzLId#e*FUTbh>0?`+^4iQ;@NSFiNvR8v^&jRs*L>tBc<tGRF>YR_9&hrlrFUimeD9 zsSH~(cWCy6rK`qoHoJ@nH@Jb$QP%#GWiE?moUqxfX6?)>`dyV?@o%8<+d`w5nC&+c zxz>=9IC8Nz)Vn;dcv!<6x}t_@vRk&?QGMFYDk}Zd>D#vC;xWNvUy$+AzXvBDlgYnt z2S54fK>nQp)ebcOn8@ZII)#n^WI{8Tf@qZOKLyF<)W)M+-SS0U9Ww70&t>a%)BTHS z=#cB7yto-CMvN?;I!jqj>6w{SNw37DQ?JPueGXZj735t|6}S9spw)D(=YdfNSv7mf zK^FN>cjjO>o>mx-vK#Zxmh!}C97=a3X3BF@raakb;Jiu&V=P<A7-%_@0LxUITMcr# z^PPX!hzAa*v6Bs)M-AsZ($<e`2~oRaP3N-nuLCfaOVN4M$c<lf9<k5!m|`Pco~(lT zyaLL<5Vk1{Wme{#A17azDHJW^V_DG-+O51C>a`&wIJRT{%jZqbFQp+c?C2S7j^>V@ z(dj}dyPKn#qo+JD9lnko047M*WeW3DGzAP5Ft)YVDS$g1L-JI-<SAl1xR<|i{`61r z5Aer$2u6@G#rW;KqfvtEm&Lz^cl2oR$IIf^6L$gyUd&%sj_i$xJl-%f{?Eo+7<`4g zPb-W!2HN8@rW#ETVyO{}qK1d?CBzQ43LYVzldjqeMVFm88XBvm^eptP2C5A5&VRFL ziZV-3HNS_NQQgb>(w+M`DA;nmBPGYhf-U)6|Ki{&_q%w}_X)K9K=SO6Or9mC*lc?p zdJ=z%j^9691Ruz^KLwRvBj2{4KB!YJN_ZoaZ&t1mvb1;uN#3x$Ky;$}{hoyVmx-}! zI-ag30I$sm%Q=c;uu#-#SRjKXeo<_ySiE0c7t8{{XxzjJ13`X<1~I)G5(Y)uzi@xr zXJzNy112YXOh)}xQuC9(eNP14!GisMxMe#5iYRIK_A-<T#PUIUG<GX@`=_Z+m&QaL zMzje#3c~NdG(GsF;8AbS_~z8$wl8GizYNYjD$|2e@LTZB>4QGx#x<+=FvzHt6YD$) z<x%eHaN~!&I--g;-fGiR;k=&i>R2{<3Wb&3t_qQdBcCdEcx}?z`5S{n&v1C^to?hy z4aUj%tHxPeoeZ&yt|~1IqL%{T#<<&AU@0Y1((9aiKklH|bjX<raJI2SH-Z_=W6QP( z+i;7n&g;ZBD{`P`ZBElA*#0;rOmb<<3wZ&3=gD!%+xh$277na(;HQLNGYa|-nV!vz zo+2ka&mb&N^T+=!YG(7Mjlm(07|?SQxZ!PK&cQ_m*HI%vK=<Sn7|yrI?LGZVWcVWs z^dF*Ww#%@wco)T@PE9U)!rcI^q^;3v3(rGV8Z{N!c{d%wn*QmmjnKU~IPDyspP>kR zE(15>e{3b<Pfyl=^k{ISjQ6TIWz*>o)>l9`_mP5=30RWNj0OVDU6iqIJEu9Nitdp{ zdZTZT7;1og)}o8DW#L}2Nt=e71a0|mxM@35{YS4yBo;B&%;?u(e6ursmtpK!cEFvJ z<&1k@03{ZpskE6z97TjN^JHb|c9D?{8kpt3M>J-pv*sG?(D6OT)}u=2eM%(YmPH+C zfsD38XBkF-civC7$??TI#0cZ<59kdGXMe(Vv<-7VUf4NIxHSX9&Eh?2mfN2=02Aze zWRae~zXCnS+aDA%;(#k0J=wPLr~;3)ChJ&9&HCKPMY4k)A3WjRnVj4Zyzh^)@aB=D zF3#o={~Wx$mxX^YvST#c_jgHn)_b$?Vc|Q!?!uaTeiph==?ZHdlkwtji)c0+S$%K{ zn%z<+cMk)1&qg}A!F@aB&aKd*k!|m>jcQ6_iT$sbe<u~U#9r2B=Va9F269{U?VucB zlU2Z~ekDGsRNYFvFwhc<otL}DQHm9ZlM0kV3ukL%cYnaqMe+_8weIcBWpq$-CU%@2 zPnl#gHF6$9zihIYQ;m$=<vU;e#uv_!!l|$)S<Na_+de_Rf=f|<XVQ18fZa=eylH>c z;_+?<XFqj-_oEq&k2z4EXwh!}J~>zNONvBCkJKWsRW#1!4ivIm0(|~TTd9@(7m=`d zFBJ0~U08xn(&u6!INK5lIIw}r=}Gyf7I#@(HQyEMxMG8kE-Ed_&5V|QM~8s#hnCB> zbL6gY(s$nEx_&=zc!4|q(k;9%=Z<V2$8H+;IR5^bzj6Nbj}8xB#@{RW<65Sn_$lHx z5m#JamY)vRbGj<uxCoW)>Ko&96xfY45pHvXL?gkaiov6jONISpM_}IsXR5E=eGK(- zE81P2?mhy@-R0G>TV5}(>7H*9YfI*z+HJ>lxKGXBVd~e1wMTbbj@x`aF5C(O0#y*B zgKMis{KSuTaCrt8)V5$Bgu!RXdltC(W#w~74wqg}Q~FRX3yRZxta!=avGaHf!b3@4 zivd1X{O*IY+(J7N(!X#JD_gN}S<7SfTI#b77sJ7Kfmj{4;)uBwX>7Yk`CE8@11Zc9 z{tAv^I)Is<>s7b*xJvzcdoc69Y)rYfo&EoL+ot<Zc5QoZ-Zl*@wGDH?raCeU25l=^ z1P5qaWOoHZI<4cYqas_DvztzA+*dFWZChB_6M>_p7gJSUWn_nY&5w~^XQkm-B3F6| z?uNnPmL#1+4qPn+gRoLqTD6WDO?uCw_^La6lOOt3S${-FF>aZY=N+Ze@w53o4VMMS zzuEPbcvyC7qu8DgQKcJ1Vfyr}kv9{$CG3eyBU9Y&6patRg*Lh@<DrSN$l;Z4flA_G z{~p>j+-JI*On#Qe@ML_-W0&JH5Ublbm^XMka+NF5L@pZ5t*-mM@hSr`5P)X3SCI8; z4Gh0A(jm~fkJe;P_=lQ@;g;u-zIz+>I3Bk_yNgOfbIJBE8w4*`FuN)%>OV!VasLuM zO8raqh&msp;MjgI?q5NaH^OaXd%tlwSTA#%B8-oduzwZs3{lU<epAFS8#`TnZLr~$ zgFY9%VP5gDkd3UG8s-H4^12L1!`oFpSgUaIlkRkTyv^-AnoclTc{NR_Cmd*dK7G1N zTe)9DjClb50&Zk7cv_JgZ4t)dRS!08&G3o>M$9t#9QH&rFPNvh*EvZY+R}P1uAl3~ zb!h&0ySF2g+3v^$yyfl|hK<x_QQ0_#+s{4%qH_^?261Qqd?zyS=uhif4KyEojs>*| zwSUbZ*ck+`RdCSZPuFYQe}*1z_f}WP#<qAdxJ0D?Yyglr(s!qV1p;1pDx0Yw7Pc(x z#~J-}aMI;!Jnq|9g>LK9^LcN7l;&_<pIgGR@-Sz$r}lv5X^D(wv14p&tqxCGiCZZr zC`Zn<;Og=_tP0gwKWhAJq7Fux>bMSk+_E04FKjA$IUM1m-5{0j(|jHs1-zrMGP$gw zi8be~wzL`yc>{vtej(%wa#NNVM_%j<rKD2GMx@4rNn<(kFi?sk!qsEqW7LHcS6v~2 z9gZw4AknOl=X<$%Qn2M|8Lzs#@jO4N_iO-XO!YD9*BDb<(eZwLHI(JRrnQ5!RaG~m zjBJ`?-JnbD^L0=;=$Ea7W|!K#u~QAwe2pOt7_z~IqNyVryM9#LD68xF$qVt2?HM$O zw5!(!sm@EAga_7WC-00uF<qpcUq1DA^muUM*^VA+=Ti?*|6#-Rn*#hzRe!??jg_j- z>t4*ycsLqA(b~Qnc4L{;w_ToIiAuHy7L-=8k>1n0LQRgw<H44r2W@;BZCt4yol3WQ zd^OC4Y>mP>xeAf~>}i3@T2otg)WuObtN&!b9x57R&#c(Tn+Nr4^bYQ569OxC?l%uq zZBE}~y#MVX)+=%Nf4yF8(-qr$=%BqO7iCJwCv(8&>Slu#shrJa$AhC!AM`WMqyV|e zSkkRV89!k}b-l!4Vr~`RL&cexxDfNrM%cg?l%$7X!^yqHfp%Rp<r!aQny&bVpIEt1 zobyVN-v&=?w;|_ML7eF%@-lJe4z+`?TR%TFIP!Yej*y$UU*PYuLC<}hs^)g$?<-BU ze+R6|G55=Yrn-^-LsND2DD{{07>oOAN*LavMB5)=Qm&6+$@aB|b{>SqOv!%B<pj)| z0P*+EK_65B_b;n#+c@bU?FuYDJu~I>g63zZfE9hdtgJVyEMzSABJAS^UA|9JOV|10 zl;(<?e$Y;LTVc{k<CN7Hl!d97)w4p{$RKUQaJ~ZCu00;q?A4h8tSB{)ZEBtW36OQR z>7d+cU_*zG5!tBK{ybfg!3^0bqOm2=cfYT`<M~NFi}!6JbF>dw54Yp^CPHRML;<FX z<b`NyU=Hed0G1AcsW;dAClW4eL#J}}*ry$LK1B_EjHNh>{VT#A;4cZf>wAw7K>J<d zqNM%1?(uFtGM$GI3ZA06seB$_yRFYI->au5Vy`}tYA~i}gWLQaPw)sv%|^gkW@MKP z1`Fx#t@CMKKH5Kr1e`G=cEcXP@&+*<r9t^L$Ls0I;OtAYu^b0~I1)%Vi4KO!MjDGf zwLo#5�QPw^eoa{zfsMRZIqYD4_1j!1CfgnuPmBm}}3$#ky{xGSB(C&k+Oq{MUsP zy5(%MFS6YEJZTn%rJ+j7u3>h;9H+y+pyX<LD~{7I5@f%LU3^JVmMKi1R&}=yvU|Jt zWAa;cl>@b3QcgNXt!Ty*C4IQU)wCwC%Xiu5?Gy3zewjolP%0pV1K1-Yx9wMa?wwt^ zeWu*mR5eBCTDK_o53Ti#O{-<+zc}9y9;71uX}6K}tAKU>P_Q+wJE^t*NI@Lv)|38J ztxBJ2YO@gsdWu�{=B%jok*w8JM$+eVqB1?xsUt!(U4OPVv+~#+Uhv4kGS+{v-qR zPw~3D@>HHW_LId+x6yXpcP;+d0W}L;())YfJ6{JGooQXp$)o88w2<*bd8Uz{4VDTj z1$<6xlvJaaV!q?_Pmx%rH<X5vjD|?WbwZ%?4Yj_6aa(FXKu{Zk#JHX7B7lherqY#B zwhL>;OqvEGAkzcegClmiW`?Z%Zz-$~gHv#+ADel7b#{%6Sar4JhBtzW+XcZe3-@j% zMRoF`yVn?V#Tp&bOE-dC=Z}H1%Uzu9G8P<utiwU`t4C0;{uOl2&5SR^mmWO{qa}De z>Guk;Cn(%g%o2T^^lu^L=Sc|2V3*o~N?U^2_~3|jpMc{I!b;N)y+oa#xEE!P^r1K1 zog(1g`-tg$3#^@M9Nn_MkOFUBAm02o0J^$f3)aeJV)>P!-CxsxK1CFo)Yog=zm-QY zcTc$VX(9GPMcVwT|B_+w7Z@B~k}2CaI7geZxvJL{g0Kp+`?&p_L-9j%jz0xKDT)8# zpWo5*)&gpGs_MAUn30BmEf15|nsbg(@3Ep~E1X*TC@4FXWb?;7ZF(v^VA^W#tzMRI z6=hzgGS_5jZdy82-@2&-*SB_mTz-!-FISnNeJO-n=@~XQy4UjD!5_S2Um@x8OrO_% zk<F3SWOEjn`r@X=?%ftI8ra;~$DiB1cNo6=-DPmJu~tjl-G3a0^Z8eGM{0bRE3I_L z?a2rA=#U515x?X<aCr^hB<kB{&i<P%XugEE41)J4IB+1mkyqWt9-55v_6(vgjxKdd z$MZ(v+k@dj?avRokUorp_d|^<M7P<G6RIuIa8BZfHVrg?N$2&%Y$<nVz}toS5Z%c^ zr8rS5^YI~r3eAXfR~{SrvfN14Z0D!lJnR6y8E7Kw15q)~)<q@BDtXyfp6v*Qa^Ism zYkLQ*p9cN~!n{><ih6Yo<66XzhI;>PqD&!DLmua=KKYpR->xk7-N&TATjAJNMf>k? zVR1trqbBC!?sxJC=1vM{5iCLb`{2QIZjSZx_8z^=Jrc2FpTo#wMCbKDU1|K;MhD{d z4ci+5pWf5{fpQi6GLh~+^WSPP7}uNLx@`_J9z#a!<DZ60e<JaSu7HCq$TWrE6BH{+ zR-n%B>NW1an@6C#=>Jshhk1)IANX~N_gbRl_H)2f|5h&KgDNw!?^N}b2XU@P;mbrW zv3DpPWnX@w(>_Ev>ikf$6^?QrprH_U<|h4*S;YrH8SbS$d}?5&_I$)uuZJ=A%J>9x zUt2l5$N|Z$5vBfz^u`3}KAvv;A$N2osbr5}avxWvd$<kuM}<8RgLpcT?=tAcxVe_j zhxUn*JPWBR!l&}4y8WAdgj3_aFt<?0X>OrsM+`MQw}^sSa5LGUQxp7W{iz<dqV^BP zb=+5$ajkgtK(If`VfQK|$@OOh<}QKh`=6p_h=Vqh?)VH3#$_CAqu!@Gnkb3O*RU1N zAy@Y?&?M{$a1d#?tLO6SMDj+;J094#bH+#PQQXlzvn)wX(+C;t>9+4#d{$V+{m%(2 zw~nxyvb~;Eq7@wW1n{8MueJCKsr(tL-=v}JyAuTZe11CD(uB$CVg(Sk%wESETcEm+ zqfO<39`RCdXeXWRN^K<Fr{;1r>HL`NTl`gVx5Dnji}u<8I-PWHB7@rwZ@Q%OlR~E7 zBGd2^zR&a}GF6Rl_RHk1CwnEOIMc=uyMjiH*OAdyI_`>>sm152#m@zj9S|GyExk#1 z0Z4W^p;i4Ih?Wb0TLdc<bWO{$4ZT^RP~WYJ7plL8>W|&8dV}=U=O=;Uta^{*6II+x zp+ljeMNH(YT#gC5zraSeSLZLmxbs&+yRnD{)+VK&>P`3b34p1|QF_+_q&s<^Z}<Q= zQ)lOUn2j|{S^qv!%`lzGYQJVSqLPd7Io&|a;I(eyl64ndZjbmV8!av@)c#tiK;NBD zaEtKlv!Rc28-IwS+_hPUk)uH9vy!#ik!gF5THWV>D|?68N^ISI5$)r3b@u}<eoc|Y zYKHb1|4hxX{`R$L94uvc{p>$&&oR5lPa48YxhE^EG*%dgr#{VDW(_bQAz)=QpLd14 zzk+wk0L{<GdFr3y|B?3(^L#rm#dukGGZFii`OD%pf4hSCXAX_y<7wf*<4~BVu_dF> zQF+UL!#vHh*iwi0jjjofc(g-7>wrI`{;T${e=|s|aIP3RQZ86rNqKN+kuM|byiZ!{ z{&CJ-8IHw;;Sxu0vXjV3_wNR<PJZ~o4al?99opom4Q5Ofp?1zh+SLNpEPdy$e4h^@ zFb8o=ZMK;6EnXcQb&qRz$k%b+?e~#h5_Eq74q-QHu>N!;WiI^<KQ|Y@DD-)V5zJj) zFi^fg3^MzRmSDa#2<CKH)U!nUJ#tml6HI8o=3+4co*6@5QkpY{{y@Qj;rwOGrO2rF z9)3H23sTr{sI|W%q_sBpZSbq<yRi2SK=hfbsQve(UXNm1*9dP>Y^B_W<I-AE&emzZ zhwfWB@6R7X-mevq{0ikmg|F(-vzN|YoC*oTgAQ8SE6eDQND1biq<xx$h;X|9HR9)- zuG^H;Epr~B{mV=!|1d8#>fEVPwU^VabHW+S_3Gi~2KxFRjWA(P@O(6I>CaWMUgT0| zS?XvGzx0gI2GSE{d%w$%eIFxP_P$5tO&H1!$zbm)f26%!Y5$XI`XP8Y|3DNx{VIJf zaxmvL8z$_jb=J+YG0+d$xi7_||HJeV;VoY$Jl+0hO4LWXWEO<7vqZ|yzYv?n@jX!^ z@4n=3!E5OkBz69kAAR=J=pkA2Y|$g^iQ2dZ)ppyRq1C^gFCkrbVuyTYhC$=0Rqlzk z5@XWDn6pjia|0{hGdsF!F8*ecwb^mleA8Tp|7Q4Ur&6|Cj87&Si7SpxD@#A3Fr0>B zz_8l+B^khiiHS(SL#?L)j*hdz;g4}HFn#Oc4FF=ZH=$bR-^n+cJ{wQe|0INs;~M91 zZ%vG_*!cHUv~ciH0y_$Pf??=x*~LfUx?k-scm9_!@-gC#O6NZuj@0$P3E6D#CCD9C zUFgAFsAPR#4Y-NL#JKLpxB#555zb>wCSsc(n9WvtP(7SnFczQ59ryI{p}|-w;;r+a z)Nx)IkCo0Xwf_MS*WLPz{V0VTbir6@>O9OutZCWOPtMABa}Qs3p`zTbJjP8|Vw=(A zv9nR{KISa3{kH#$x_x~EOVni8_0-c*J4__iqK<lcdQUxlTo9EFXV!r<`*9d-TU&Um z*o5do&fyiP9;UjM%}7fDMs)5t-owVV{JV4u@67HscIRQQb-Zk&StFRz@Z9M$<9y!M z4c7P2VQf!hIQki><QY5@TsOd7JHti$ddMC+1sYkM;_R?h=i^{%9mfV0QO(-g;Io`l zK@wH1xt=TR3n%`Pc|reKwjqf+C*j$fcy?8HG(YAF0&7PGt&1PjNS_jA6<E2PPRPla zIKtKAsAXw`lpWRBoi@NT@5|xCg>fq@s*Rw?mbAg6q<urWuZ;7)(+`f(6UtO-q$iZd z;s;khxfUf>0gHcm<+1L<X1W)}$yn^m8|AH(3<|%sAn_l7^ho?~>QU<dF^}Po_Az3W z&VW}sqn30h=cmBU%SZTN*#Co4+ecr_aYqd~lRjs+in<VnRiS|Jn6JgXUlE#q5USkY zS5Q@$K4c6A@UUc|iir4BFzI4;u@KDi_^_u^U@Ia{1x#;I2Ru0fJwKWBgufN<%u(bU zfP8vUC~WTiX&A&av%C6wQks}DC{wxYxF=Be4XWE$-U&t!)u7>bOoW8!c9Fz+rPMiz z+c6Q5#;e~kaehJGWIHA@SveV`CuMRcHXqE5)?WNlYH^3JI@Ff_Rn74vNc8p3%ylDK zGBM}}qme#o?>sa}T*lG4r0XA2x~6W>5^}AN6&!~%Q~gnk+Nw@krQp=kf642?X4qnf z$*aY8W~w}<clGsfcjZXe*F22|o-gKOv3a;^dpU_SRohGHPR`QmV9nY944Dj|OV^YC zxymn}`MhhT&`3I*D9#!QOlIFa57@BB%^pSDXglP^Hc~9MQG6iVXnEeBgZlLkA@5Pt z@A+I+I0=SH6Q;9aPjrepzk+0NiIP!Vit9ild=|_6q$1ohKWU_U`Uk!e%3b9N9XUd$ z<JtSuFEz@$vB4Q$@*$_Bqvji9#ofMeUJVK1w);k4v_jWJC4adTeIeWpq$<DVPI?c% z{x{)DuY8Ae|E+6olb<50ZCPlW!@<)=3lRm{T*!w&i5aYD@U3m$_fa&ITig$4qKh~W zGRLK8>G9yufq9)52vloxJHjYxLr*NbVD63Z_9jXXSNG-CD~PuZdX4)tJc7A%q(fXD zWSKtGusm*y#a$>5(?;ct?DK8?LkQE}5q*Cs^SP-=GjOp2s$oyBwUmHr%=NtH5Rv-G z#XI_tK^`OAY=RxEnE<<tUuH=k;+L&pHr;Nj+2FG>?^vc?eLakK>>b|G)A5d*E8J{j z=`dmo^NbyCEGd?;R65XDTAtU&(nH8AUhg@2sEV8(VR}%s#B5tqP6>F$;TF2vXcFlj z-vFu73<jSA3)|};gLVsuirvFB*=sYT?K6v+V_Pytc0}LR*>-iJ0q7{b)b+J(%b#ZX z@y@$1dMe#P&E7^4+1D>E+QswDc2F=p+($iqnWjSMOTJGysQd6@-Fm5~PxW;lv0vRv z4}1C@s#_5S3K+otNVvic3Gve?INWOOkJ>afTS_yTI-RFku~BE9J}5vbe-2|Hp@9@j zT3!bu;UUy9fI4s;MVQFWZs2)jEZIjVoq9hVigd<c6}O6y1wrSQ!=<y0H|%qOiTfy^ z0qyBr28%@Q+jRw7^HtE{wqn_iGZCa&S&>!B_xU(sQ>fG#g}PW~Jtt?B;F8^E^|T0& z7HgzOxinjH^O3&+H}mh@7<P{oZ&YXv3Owp-%NF7+<zb!!bfqojA*_=Af)d@Aj<vVL z2ep4CT)Ktj@V-{p3$k&Z*I@3LFludR17(tww|MYo^5_U?^L%Ji$hlJmmHLZ%#Qo#+ zm<aYAgs+983@2Gp@@EX~9}=+1MJ8^MWo2+LgHcHX7`+)xsPFV<I@oG!gMs@TrcFC? zd5Z|rckCo@_k;6d7u(O!Hvs#DrsZ}v#xcYBrymT9HTe=+#S+-%brCG(%g}sxfig_y zgT$bw2qPbBrxx>7UD=J8uyt8Stvc3`Oir6S%Rbt4Xl5Td`r&p|dsNhbHhMGKxHXR# z3}C`rjwj8pFc=XA5qmnADA{)GjP~kV%2%#I`Fbn#kHevT3RE{3`57++=NBq3mjEFY z5#1ehFt)<Xh6f9M!_a6X#97siy@%rR#6YSw_O9I$bWeo4!w#A_x&2Jq-aZQoH6V!m zwels19*f5XYq2p#m{YKg#<mo+^!!-3^aYu%@EZ(n%ho3kf}o1}p2|&xhXS1$2f^GY zA41s}LYO2rY91muhRZ_+pNjuql@54T`kAb*J;G{YZ0bwKXi>@7El~6EuCJx>(6oAF zK03r^(!GN2@SF9a_Oz&cW7vMIE6fCzlWSgpYD39XCY<a;t$j&AK9a?6LDp%m5Sw56 zMXvrcNJqlj9d|gD^g5Z?M?GOgWj2w1$BFd1w%cFqW6LJJS*|)7HnCKF|1O<o0~)vc zxG$I@0a!3#GAW0TgTy1iI?BTLlX6#DzS>?bnC#O`d37G_wPE+UKqUs%7it-Td)Kpo z)9sPS7B+nPweB5+&BHvIz_ff=)A8*3;GRzf>&3I8dkeao{w?TFr=Q$m5WxWJb@U+R zK=H-d`y+*3+<%lFrT(LN$Sxd`8%nb=tMa7F&vSjCtWi(D+7RM~HJy${Q=2;zXX#m_ zz)4Q^1Vlyc3p1`#nzzkHf-+^kSY_t>W?dY9%0gVRZd<^J?6<v!`V2ke(c>t~+skNh z@YAo|&mh_B?$jzI?7#lHCyds#pP1qKIJIF31e5-`3ik9{($o}R;q1?-sjt#Rvr=$B zb-&bT6SW&Efr*pgJ9J>}4vDA!dAwq|p9?=KCF!gMdv5htd{TB>Bj3VwjrmGk?%oM^ zbTCqDyZVaYs29HyhvBS@jrJ--)8DC=*JMtfdpN8IaBhXnP@{4$#51)toT)a#%IcPU z$4OsszAs9_duhYV)Q0F5?47uGBtOnsvdTxb`icuuKKsRFXcs6j^5yry{3hZuBJAv- zVlj{~QB|)iqZM+Q1psjeJ0zKMQ^Ry;)I$#X+jhx@gD!4g3P3%biCl(TPtj<39rSRM zPI)yl6P<o9>D-#WQ_r`NW78$3Dm#Y)6|7Kajc@YauPS%-^>A(FEFj_jQT(`~Wq+SW zxz|{^oEs!1>}e`zTUTjPhp7ho%4TEh<ISeN9GunvphEx`uI+))y;<8v0-Y6Z28$?C z6yJbB+&vNW?yPHpOKKU1#8z_WU}N>wS-P0Ur>s{BCV}Wo5o=c<!&GDOqtpn`8C9~X z5#hMD(<ieKfVIr7fS6rW`?b*(%eqO%f>XY=<zhoupmbyJX<C?@rD*VaBkpr{`(IFS zXZdolf*e|$YlNm&-_9SgCwB@v7H#g<1zr_g{l79_S7fs2cF}U$L^&>GNBiAnBRI0C zOttJ7T)KiH`{%3sav3zU$`7A8c3kw72CHEOo6n_Wel%n%c1<>x3*!k_!&umA6~+(x zsbqH{++n=p%o$&92Wr;Tfui&CAO;N;ovlwj{k*x8UwROxk6W=H%rhOPJ3OW7Dq&uh z0aUZm)L5xsDx-V1P%pj-cMHPv^3_pHuzVq7iiJ_WCWx5AZVH2S!R`LO2>A&}3SMdS zuo}hqPJv<t2nA~-7cgSSWnMSv&qR`S$q2piRPyUzIP;YL1?q^UtJEh?u;5J!q8o_4 zSwX~aCUq|w1TR)F@4wh}AGdjC<pgr+wAxqmPDOJ!LVlG=w<2t`w4<^((4!YiRW+o} zyHpjQr9u_PJ{F+v7%TFCieM9M9l5#0Y^f$@rDzjR{U?*?tLbQ1HPX$jI%!nZ5a~*V zK(h4*rmE!u$d3;#YjZ%ZI6lIj5IbO<PjPh$W?7xAh4z%{wMwB*#r}pmp9Bcw^>nE) zA>KKHR`?(y%x#}B<N;859>9VF0KI1SEFTvf^_*<2{R6>K{;uH6)-YY~y2#rarQik7 z|J9=Zur6}4XkOZ;vqWc`wgK64(pW^*Nc2g^*aXH4m8DyVK&_NJU2(@s<yAw5(e+AI z;06LJ5~0a*0ZW;e(-M>^aSK%IbQpt<RUZZxbKjZ+DQKt0BFoC;gde?B=JLIA?-E}7 z&lFwKGp(u{txhhjaaA6*a`D|Sq5E7N=A<fClwK-Ylsnf^0(cB6Jl40g+<UfaJ(?fa z^l}e19rusPBMQ1NNE;5wDSE$}BprJ??YYy*H%1iGHAje~)Kh!BpSRTiC@-Y~7Gvch zWy|HY$n)Kxl4<=uq9FE|Wd;YG+<z9)h$EZhFSijjKL3EU*EpFZ9*t}o*x5m6I7Nsl zQCfUEK*d4nzAtQpGKlc~iPNdfG&vc<^g=H0e5#6b>fA|YubsF6ofMn#EU*kO@#3Pm zpZ7?sSL@#tGtSbGNL=1^e_zkN>sdwCASX?qFlP<9ILH|zCUdt2FZ^((-<%C>I>;^i znoRmMt$D3$vj*47ZNA&JITs3}>2s+5*R=T@+I*>sTd~bb$=fWU8TS-Lo3WL&l;+x8 zj>~-%?ND1^`s><y%kO1v<*s#5wzfvmV2Jp3OaI8fc9+_1dZU)iT(-UgKcj1AF5i%a zuAix9!E0t}S@6c0dKP>-$69=@?#yTwJY?pOEO^+=VOj7gGf&Bavoo_<u$Gr=3w`J~ z29dcGj@8rVAX8aexQhUK4Ef*5z>1O1ymf!Yi0(fJfG}E}%{aQ{Q6lLnS>&=mQP9Eb ztiQb-0xv61o!#t5mMhM6<Q5s+Z||>2od`@OnOf>Bf>>X%mFbHb6=!hR9O3f}F3ss4 zMIEm<+G?UBO{p4eX1t!6vDH!M3Ti9U=}+dz7ioT6HS^D}nEz=(RxDBG8&qa&qY~Yr zGLtr{IklY>G3Lhk$;{}HjktqhlFZa>FI0V*J!nVPwV|F7Wd>7bD6V8{R%~k*9>}Ry z`-PMV4)RXo+9<rmgEZ1b<0tU^9dHf1>qY%rK{TA%+W##*r|+oBhmf>ps`n)Q+bn6U z|9m~8HUf$|m_Dn+P`7BAxU{RU2kS{^@d)N_hMbZUQGEYOc8KU-;1^{b;up!?F8DE| z%?`OnRffGjaGB!;Yjh)8*lc!nvk(5IKx{ojz`h}7BMbX`%KhIq*vIngW{GCiu3J~M zY8`$4kow;^;17hR%pf-jrr*r?Zd6*`O;B%lWx9KqJy&<xxWfCI?h*D}+da~r>$=C< z^Wg6B_FUgR*`6D^kFe)VwfiUw_*wRJ`^B``DgB8gyhYto;KXo4A$=xUonv#B6*6re zo81+Utqoey^dD){n~bJR1bhW%Tvw*J?dDHN^^BXye_NYpY9TT@Ud?oj-|MvV9>C$? zZF}ldd_G1@(z;9A6xUsBr+H>b#baRWv`6y97aCwe2I=u-yD+1X9$Wsz?O4bojdY>> z(c3Sv(5CW7Zokw*Ys&ZEzRN=6<&WKdnT1NAnQrxizz_F|so>FN1EmU}LF>Al%WaNs zMi6`=Zgcv{)&gbYI~i<ac4pg=<B=PiTm9aZX?TQ>lWTr%rjle-G`P=7@i&S=oq{Mb zXdKT5+gJnZk<8VsMx+!@5)+!%Fj-Uzu7EgiR=-3x+F5Clm4!=qVQZ~ClV*EpCdZm% z3mc?^j1~I3D8?(VOh7O$+pi~YgPM_RR<pP$T%GrKtcx~3gvm&4Rt?h8n-5mO>R?%! zY>i%|djsZOVnZB|-0(fm*YKPYv`kmA<d!#8enZkMp|ptZ<N%V9)YWrDHFWGPPEwOf zi<lAGS0cqRtF46IfLMme;(vg2+`AGe?M0Eu%2795bZ(dHNSmekF}BO{jaC<%)w3Z8 z*XCqU#oReMy7<==y7*y!XjH9AyId|qZRd-Lhfb2!x^9sU;V7+oL}k`=tae~|P1e~< z&u1#L>caHWysLzB-oV)dHLxkW!bmc{tm$c(PDGiLKoC1m!cE}Vg|Cd2935#+x(@S* z`Dl_f8;M)E=*#+^CMjr+I^Jb)>w6LKo0%OM%VMTY22uBM$dJBF|5kmm31rlhfz!Hc zv^rDWTCUEFZC%44jM}fF7VsrkdAe?7Os9!{^-%P;pkJyFwwd+sikdVQd<Q9f^00Il z=FDgnsUhjG;WzxrV#@xiGaD{GLt<qoe|n~8he_1Flltp>pB$Ne?u0xj>hR2KN!cQh z*W@V1)AhaEQg)NI?;46b7_rbSq3+q{)?|~&zPM4@c@7=~{OXJZ#;x``N#7#|O-H?s z{8(tUBc~iu%|<}K`|Y93p<=9;Gg!GYtq<Xd;>uxlPWyPIZTkd%>M1uTDk^E8sMp8| zOQYU&!&bihLXT``k@n=PvvsdncbWumwSJw|{aM-Qr}?@M>LfRQXOL??X5Q5`GiwMS zP*0*xpSCJWZodMl>#8;tVs-<vD|nmg7?v=mMyA+NFyJ0k3N`=(R_&<)KI>7MU+V^O zM|0+G2X<@!7v`Z2R(I>-MB*SU(QG;8r^VK!dGw7Wky@g`rmcwMh*cNYIhj&xkyO#l z=*4H?t=8El(>>VIEH})|Y%MK*oM1BhZhl?cN388m8L~QJ-!qD4W=!;2?7{ISfbCy- z>2}tIZ+{zHXVgg>ak)S%RL^C_qC+hJx_gYcrZ`Sdk1MxdnNyaCBa6^c`_v)mR$RUP zkRr5|A+_fGHTbQAw_AS<GrW5Ix*(cqSZ_}=ebESv9IKs16~1Hlo?QzLzJq>(A6wle z*$>re*Jrz{tGl1Fh&9pevIuuq*LEMUh;@lA<?OE75fd$(akzfjn(RTr=AFUW=++Uf zdx|%A3r{&0v%zBIh2hrw36R6?bV|GZ8CjdtX`h(1&lpNz=oVIj-FO%Y9(zuZJk#nd z1#h5Ph#BOZWAtfTk3de>TQlifn)S{jDX<v1uu|l<EYbw2E6GMTyX>tc_*mLhl{7-` zYyBMpqt!cvK3^IwKv(umma5ZxxOw~;h!(%`S6}I@@!9dxgAF_9qzQp^fa2HcgRriE zW~pKe!EKhMYHv-~?4MFL;=C0=s)5N>ku<cX`BvI1g1r-4hNSysZSPI$jJv@Yl^wTU z-~KLqJz1INGK<Z2QLo<HV;nl5!m3Md*LX$GvKLqyvC1?^$bKv8$sFm*0Bs}1O_M2s zFR8cZEKAg^IG*D=2|9&&qwBMqf>%{WCd7f77n}v3FlOnqS!NQs3}d~aG_$IfZYMe% zijFsMjSR6AkO@33POPq_rJ2GS*~OGwS+QI`bpz71^o0G2<^cGZQV!X#_)2%9rBu3y z+0&LfY+m`;UxWX6Ej@C-N=h><&>g&A4W*fr)dJDVzIh{?a}8y`)7qfP?xW#_dNN-s zYYVV*Fp(}AUd8iWE4H<<ktF?tl#kvIl|1#fS~|BMM#WTxfA+F?(^p?Uz%Mj=-)!k{ z-Huv_=yA%=c{FYem+pnr`mcmd;5t8z%w~*N6ZIyN5f42<#4I>|(B3tfW%~MNd(nw) z2N2;hG=M=&mSs-+{o*$6Klb}+jRN~6_+8P1O0H3?E28rlD9HHWKOEC$u+B<doy1S~ zM7q`QGrNwUEmyl+Uwvkr(;uLyr86m`!>l)Vh+`JXA+APr&L+N*9)aKav4jBG+*5MW z!$^vqTU_^x$d&45t(F<^bBF<_uQ=B@yqhmrIOiQ{n*IvhJE1Kog<2?R2#dpWEcgT? z`PN=~ziaq7i@L#W*~%(w{e${-fg7&*;reNcpFD%bSh#lW(B#>jF}pE1>7$w7`#*z4 z|9t}S<^?cc!S6COuZC=D#{aPsMq>oE=+`cLu$T^;xHa4N(pkJ{AzB|ih}-WZ!ZWYt z#`nS_m;=}~GpjN=!bEJ7vhh6}ifU9UM%&SNtpS)v=OAZo&v?+z<LH5O<RGR@n)fhu zkS)&iN9EX3ritYv#^av+zsxoypk>4$OFgFV0+b8pD~szX0U5qy73yLKI-;5Ei`l9t zXg|YJrjt#Z*dm%<v8bKo&tvKl>LBywc0Ud`n{}@mK4mCwr9!YU6cGNEMPy9CF#yi; z3wusKy~jahcrr`Sd6xBvd0%e&Y+~HH10QwJe0Tn!h~1(^M{}W}R)BM(Wd)>u-om`H zT$r~kuL$%~DX7J_Gyl;6RrTEo;A{IcviY+^+z|9gxtPQO6emXUbYE)+<_ox%a^B<Q zMBMJuh-Hf=@Xz_!P;QgJG2}8gcNT$<HSTN8!3!t{rr6H8a7E1z`~K63A<R658%6oi zK8iSye!4rW+xrucTU;0r`}r4#m>mi6M>PFpa@x<7)7f}B=UTo15jz(ip0Bkyy;P3I zg~s1eJm0H&TD4e5n(Ef~HJwJ{s?6<8mW#An$9218GVdhwlpi=Jr`8|jCHg(X)5hvb zzW6c|$M*wPl!Bw_O$a(C1tTZ_hPeYPFif9tAR77RI?3hR3@kG`M{+-1b_Ew16C+W# z3`(9dgY(y+vk*}fY5AN^_K0o+f5oRVAAKqK5QFf2YOk}zYSBPEu&uR;{1TxuH-JWn zj(qP?^CRcc*x>O^3YMnJCByPOVb&U*X3p_aWvXf<>QsIyXpN>_92#%b{3DyAThbU7 zW8B?7j;%gDnx2Drus)jvnJ0iuGnpuN9#6ShQELHjmTfVVNv&-pY-4BDcBf616snS_ z^FA1UH!aO}foaxjjd>>XUh}F~Y<HLLPZHlwRw6&tN0VlybG}uGfO6l_oFER<uT3>1 z${k;eau&5#9OL(*vIoT8A#wL;+T?r>*r3Nn#ie7j9fNcxh#YUr>}<_U+|z6re@A>% z7o-rJRU92v##9nKHw<)V4h84r)0Vb|HHNKo7m?0sGx57<tZUh3p0Mp`ez#qG2F9W- z#=ZasIMAQqx2{?I4+-kZ%ne(|_<i2-pC{+yPl@A@R5mCjv3EjU080Qy8`6=r=nRQa zgtIf#h1<D7yzUONnlx^8?^GXSYe$mcQxK7t)!i?-*foiHQi)pI{gI2Z>6j6a3Gm|c zC@7jv+#b>jK3`b1_L9-6aYA0Cv4WHtIhYUyi>aZ0$`I<W7V6XWbaP<VvX>GW+l$eJ zeVDGp8by$-JAyOV);d#JmiXl|yUi^mKf%9eJuO84n8KrJWY7Unb(>#{h`xm!_NfiO z)n6(n!{XUYMTMx0_uqu*nw1cZT4j&OhGCNJhex_Pr7cffMMci;lHZIL!Ga0fJO}64 zW$>|PBB9TgL)l-tmPYami$%VqqeTMoDpFIxM!aYcENti7I~wdQZ3%+C9B9UZar1+0 z{(D$ED2ac}>0JujvT;AU^nS?GMmD&kK)7X?eMujbf>U_PX7?NZ?h<B${U-g_@m|7< zhR$KjsZz6zfJ0k>2Ky&Jpf-d(<umI_x=m|6FCN5WeRb{wA)oH{UB1Mns|Jf_%@7O9 zPAs+Bp9GpRxB@Ba-T|@gr~N65g{p5SlMKIz_B<0f{R>x5d%N^)q=rkM0Jy(<5PZiV zh$UE<k#z5*f|Bdadz8}s-$eLTrMD<z7V>8M5QpX(qUZCe+s%QpxyG+srFyH%>j|yS zMYOiHebPh!jS@PaM?4@<A^yZr{Q1N~<bfp)#8|jy&5$MT^!;nW=YyiHZRpg&A1d<e zSYb~M%w?li9Ai!)U+LoQ7E#9XBp#<ET`T+ZwT*<y!FDk9E20T5QVhgq$&`f(_+Hpk zcdW75g_+1&ze4a7*RR}BXI)9;?JS6(TxL(XHDFeO+@8#m7ozi{rNKr7h=Rc|U2;(+ z=S7vSF(p8;rS^5=Fnk7?7?WR<Esi*8+Fuak_??uRGn`Ic_d5PN1T1?0&W}4P&dFIe z6iAU``)y+HME~QYC9@hf*<F#OR5()nJ>y37PD%EW+cV+_=@!)rvJ#6*n`~YL*s^u2 zbiWnfo>;C}!j5{rThN_{ejx0LjfybYmdKcmgon6&r}@T}#O+z(mVYBd<~Yzeokehb zNObUaw6`hiO9&?R8GQ_V{h|@FKy~KJA7TR5ahPNW<@qrTe|30fuUg`E>+CN>q|t0` zV~@AZvwcPeXWxNiVVV)lVf0PFC;LX)f56j{!}N@5n^^_h3d5cTE=%=K)~gVxRH~h) z@Unab3#79-4q!VMv1clsr@DTX(lF%pmAOsqeaBl}Te_4VbN4w<Xg);Tcj075KM4%) z6Ro)RF0@Y4%AUqkjakMHE1WOgYe-?EZRc_tqUr`L(Ia3Dd+kjS{z4-IjxqdfPojA9 zi`2vF6n!$h6~GzZ%7Y2g;P-~DVOm*ROI!HECgSc*&CHS-UA&DlJS`tAOpQ#Xm~(p- zO6&)N4C&+dt4tF?UxcYf7AL(q(a3D?Y>Jt!<H1bc@^xDjB#$E9q3`DB(ZD!j1g*hE zOOG(@puZQkvgg>B<)WPH&{V@Q;mp$_ZNjcmmTrQ%jNsfCS^7k=p(i*f#T;5^iuG{& z6lPa**^#qI9`w7{h0oBQe?fblRI)uNFSGu2#d!JqV_@j3Z0D4=fN%F>*ufPiAAY4e zY<~^B+{W+xqYk3QH2B}HItqJvg@oVBYx?<4U_K%kv~oku%f&uYBut;Trp9XOI0;}y zOp+YDtCmiNGrJ0rak73FCqnSZ6(h^5ch%8lbkk7m^e(p95I;K<A5P1=T^?+nclLuj zCz<KH%jpLrAUKP*7&F<q2{mhQW|uy@LVd>bY5sYoo<1Mt>H9pgBR)LnlcB!)NEXjo zv+dG`qK}E-FuLJ6yqTcJHuw;LSX|f}vbfq08i&l?Dkf3cVKk3-W{31_$)*K;l?);o zZ`|+jz&+%6<7(y98+SW?m%>a5_djNtBo}1sIC|J-`(^uD98D0Uw9RG5b?6GVwioX- zZ||XaCjE}0D*Iqy&U5&vJ@ZImJ&oni1)g^uoxHvEiL7|LVoz^T*w@3+Iu>ua^G(+J zn#0N{nBN_YO`>YL<p~_2QnI!5RtINXlIcMdYzDb*0Le*VQ8ZtO-Q)|~4u~tnsP7I1 z(diV<hk}%)dteZ!yPuApH>{`H-?46`pRp9p6wLdNg+B4omxwp|XkWJUz5e+tr#?%X zKlb@m1rO@~p&mJ3^)WOhP4pOCKHmQ{ukMT%aw7PI)f4qUBiNpb?BM9ZN`p`S8tk~J z{c}W?`=3`fUl?k_T@>9&*JD^cpyqQJlv^wW)wx#3PYs^LZ<5FW|DJQnvdl1W343rR z<+VOa-TKz~GL8@CpW%ENZ-j4KOAN}SFIt4uVeKI%?jUJv)@WyYT}XR84+}QmDK!qk z2Sua@d%8xQ!$p2a<k%^7?V(m)^B~UfVI(<5eHHXgXm`e$d<}a-+3qfviH1Nu%tzrN zWfOT%6m=IHya#(Jad**p>rLY{)VGF$--rHk?$<gUemJthr3^>vGgdrj_GP9BHE^S5 zUy*!AV6wIJHkPJj6rWE_Uq4yF8vk|5{Uqgv?YjkLD>16?rNrYp<xUM1#P!7?5ix&y zrg8dIwrgAo8!0tNp9p1Cvit4)gSr5F#=l$hTvAW5x+(=)7GnD6D)Y3J#;KZBS;5nd z^j(87FI+X|IY9%s;ktI|T1atob{~LikK}3r=4Qv{$TXwLfP#Gy(Bz<7*ZDO0X7*+D z8X^^a5SbkL3@|iS9cIqY=uA5{<vGEdU<KnhIuoVk^j0-&i!ilxkphe{w;PG_vU*4H zj)UMjnxs3A-8eHAyGR)W7<vGFB)}IW^Q*b*n8dKBvD*6uKN%xPc~0@EEN#nn%SC@B zy3c(uXI#7>N&m}a$vAnFBEF)C>HZgaXsm>`56t*D-Hu4NHtbjF)-mP>LPR_9nb7I9 zeVB5+d?Wq3<F}9Lo*5PDXchKUu?}fu!-{+56mzIzm}8WK`_bE<b@Vo2^KXa;cUccj zYlQ8e1KC)-6DYQ~*iam{A3aTIwXf4QgJp)R>y)pC?SC7fklE0#{C~3Y>7<-sn~7=v z3qSfy-aqritlI+ZtvBiXcq_Zd^B4PwKz_RrWlm%gR-it=lRPAnQ(ZXJ?FVz|LcM&$ z^<dys6>t@%HUDT;&tq8sfDki9;@e(2c~(^4+EIzJyL8IYm8sCv%6XON3{|EaKC{}H zpMdBdiyoW412Wi0rr0rQEGZcCvhC*3Ys^bMY{P!ZmTbCZyt9!p`|?2_x_hsXUFy)5 zyCy6XN5IE6=lGo9BWtyt0dYO0iQcJ6PuefPtZcn6$VIz*%XD^x4}uM@9)mXD^UR{5 zAbDES8guY@hgUvu3Y0UQTNqPzBHCt^;4T?9zt%mAgAaaj%LyF(RH4(IQTlH_D!UHa zK?hm06NjQNUb$RZc2}1j4)umK>@AG7x8z6Q`vu`Ug&1&O`iN~2i(@M6JE^h8k%<C3 z8e1M5kfnB;0hJbCNFlC~g{BtH)9f#E_;AR^iZR(ji{&zR^P9WIEL-``iVrJXyirdK zm>$ccalnHkb4hnb?d<%F8q=g)zYo3*Wa|@+;8S09I$do)4%TCiD7kBWr3s47BrB19 zUPK=*wL!N)f^Gu)168J}CcCKe(OAnr>S0OcWOVVzMh}V9UXvg6W={gjuxA?+1qceY zK+S^c{1;Aw{A-w5`kO6XW|htv)c|q*Q%X<cYEyMigX2Ot|Co8>%B(Fgf~*}sBTL2P zWuZn4UKPb+1EAdhTN-?t<38*nE=MiW%>jEsW7}$kl{{QHC{&K0X8W^$9}3Qo+;^Zw zSLt{=1M8bN-Jc+bV~t@+nw|iNQSyi!Vn~=G2f5L3@6MGnlhp)<SB`*wxK-QBlDyHh zWtDOVfIA}}1|z`@H)ehB&KKe*W18g=$n8n@30SiynYMSaBlXE0nUJU+{|VS36VkBY zA{%6sM=4V_(81Y~lflf6Y+bAzU|IxUa(rhEkbq?PTX>TRJQr>gZg6H}J$3WpCtH=) zM`QRnxr>rAm%Y86o1OG@dzMg=_LZC+T-3JNE+A+2VWV-+gLZNGL{N6unOil9!+cSa zz!jqvwGhvYb<8%(Wy2D3Zz5(j@Rw?(%7uGji3jaMbo@W~IsF<PE9o45cuTW733k>d zhEG!X=FJ3)X6331Eb-wlU!cPX%&L2)_ZXJi=#@8lL)MgHk$ak@@3|HYVatgXhKrks z6kBNi#an6RZqc6W%Cs{TW8%6o*3U&yd-p3#(|cCM>G`@PZY(bCVFl?1%FIqoTeh7T zCR+Yt-|A%2+CI*r&>j~tYHPn-VaE2}vC`%<rysmvEJ-e49cmShi$?lh(-nhnz54Y7 zJRNw<uhRVQLQz?><v$`$lL)tlAPDb&md{=`6w~kG8ibWmSc6dh!5V~8{ThVJ@8-LR zHOauQlj`TeB|CrnWsCQ|lkSpcojnyexP=0)J%k85-o6k`!+G^EDKFh9`m4Cy;esH7 z8p{tsgL~#H@M{>tFvsDUq<>|Ao0|~%1MJVW?&v&^$NZ|Ka}!UOlC8T-t<QV+QqsAZ z^vua-cL~(JgQ@IPqUpopea+thks^&WKY&JxHvG1zcl0(_%=LifQk&$z(R_hCinQ+= zSVsIdJ&>XMZ0+g_o?jJQb_aj^aCmBz3$CL!Fw(z6H+EwMXZNTFfE)pcDHNRqW^MkM zqV6;AK<5@}v*vkOG#(uFh=Ck@DD~S_bJ<1hf58Ra*+uRD&H5olU!=%*;13<W{yL+v zyL+yIts}dA<-6wu%)Nzr*xhsX&fRl*ipClvQ#{?Ay#4=B_a<O+6;<DO&Ar{Xx0%Uw zCh4A;EHfcw(xj7+5SC#HBoOv38xX>hJ&=&3u_s|`I|NxomOy}rpauvAL=h2{T?A1O z6pdSepe%|g;x3B%O8EbNr*7T4cV>DR-~aP{&+|>vRku!^Q+4W`Q|ql;l}2KbbtULA zr;#UOF|dhwVPTYXF@?TcJqMmJY2nZSh`*v&uAnAV-;~E|`6v?s{dwM7gbtSko$eo@ z7FXFB`zs`G%cC5O^?RYd1=QWF>s1WAk?=N#Arh}DgSYY*5pL-|g#b(nfbfU~V736j zvlhT9np6Iv1-vVO7XfI~X<$MUUYe0InUg8fg#)1qudp6&#z}NP%S_)R!G?d*bqYnu zri#|utP#2DaER)8>P)%VhEbf9Ox?;Qm;#S<%Ov!Ro+hND5_0m1|7EORLQdu9HKdZk ztFLbxT}_InIV_qc*1aV`)r0(H*oPx$C4Nuy!_OVFiR7*LtiUJHA2TvTjN5-b4ufVl z7b^^<!cE>-AN0!;XL$~a=AAd^@nL%C4-*qD8kTV7Fvvtq4ukB;+`}fbyq_6)rR+4X zaq_wsc||W7&VzF@&(FcrIe2~!k-~`VIPSu9PJLhMP`*kg(e_Y-rHi4{(grw?30A`{ z!Bg66$(3N==*ykL#{fWPZ|dc-GeS*>a^-`QB2M(q#&6A-@<u=J0O{-g_sDIk;{Y?x z;cg(MFpfeSh)pCYJKm#d+wj_SIlV;nE-;uF>5I{mpw#sVpv9Prwnh20i7v-fI)L7R zk|}-MWJC@>H+m#3wnao}eY2D`d!1Wfw0)f|<nl~twVmn3<kA`(RoV$Q&?}?lS<HqR z!h3m_>Mb7QRWO5%jhT?>bSl5Y6UOz0W6(^a3k1GX+#{AKTndR-zl0H#?iki}ptG+} z>J(E+q;(HQ`)VAPpY(s-PbR<zmdQeA9O-qb9}(7lG$rh>v$=Ag8OA!0{SddXdk`h< z+AO4ly=aK**nmeZ4p-0KF^V4QV7o<+gC>iu0J;L~8HHP8P)eOM`RtK*XEg7tkl|05 zx1S$I1*nQ4KAiPzZz|Ft_MKIxcucIv5t?#-X4(_W@J$P^$64&oP<oMrGs$#DpS?_; z8^G63$yaVjH;l}eq%Kbom+vR8wV$|QJ>z0>{?N}v2NkyUA<oNxL5pn)Wc7n36e9Xw z5B2D!4kP;=k}giGoe-A2w&NFdo@^I5qxIj=LkpcS<dJ~N``YnI?PIddK`fdbMj@9e zj&v9R;?)o4Z0V*tmmf=~JF&ctu_5O%lD1d698mNFTEwsmZL2Rae^Iem%x-Fk^e?FM zF*z^pW#O;<FUX+db?Bt~GfdPgzYjoru5>$_ER!f{*th#MXVhUi$;X#$xgK*o;<2L; zw%+||of4C7A6(iZDV6J*xdxTOL=9ggV@q7Jv|2~R!x3!(+?K~x7YBKpw8?_7ZIVwR zm5w)oX8=LL3?SPRqm_WyNumo|9svOMV)&s^;gIHr<$N0iujq23eTT%_f<mRXB=ha* zEy<Sl%$8(pd;ONAe3$OE>+jON@>u4`MwL2)c*|s=C7=gso>WFM_|h>Hi!>v#lM!nL z8Y0^-647AOJ1`Q_Xd@1ZL<|ZdtPZf=hA~>C+?H=CH`vpqEgy!|BBeZ90BBH6v0uT^ zHeh{3kX`x22p>q+NMcT{h*KgF;K5LwRx4sbB*K<e3_oD1JruDdLJ^YZS+ye0iA011 zU8)t)9gY}ji*aEXPTMl&yEqbIwI9^S%L6;jcVpZELv0NV%_yv;9a;HW>t&lfG@ygs zpwSv-ZIv$O7~=Hu2t(}wr(qlVO2AXMt~>p*6jYl}AZa=L!7Ja0M?JLgYtStM2yuCv z077+a8vr>|hA)N#UkL|3oc|clJmOiGXyaPDv5XxwmrbR|r9R7Unc>&sH5VGWd>$=9 z3mSsfEy*^tYr}9*MY8m9X{;-EvX$3+>OzoVK4}he&9jYc84mhkpci}eF;Np^?So2J z+Gd~Q+`-@tD@$2beh9_teni;wh0pdI6Ij3fHf`t&z$;&Z+rrT1VWSk=BWbdm{1#J) z{}_73?BFT|yuQZpi`ztF^qdO4YMjs5E1D2LUd8>RoV`TngcU*~b3)8ZKY>yNeG)c{ zLbm8G3s(V*5fWbJc27m$IwoDXT8bMhT|*xOP>#bdL785Q&|u)l^@vqi!o3!V_;7U^ z)~+`)H7wzhSN(R4c!~N~XZWx^n=p$)16Mi-naNr%U&s(+H?DnO2YQ6Rj&VB<$vZPN zZbx4FNLzo-KTMstQjg0~w(CL0I}J;RB2{>YY40d{Qs&peKYl24B?;Er2Vs^gXPRuE z3cqkD2D4ke{Px>18ubG$+p&&dVp_K^vw^nlyV=07?OQF)@a<>Wm=W8%ZD8bf%t1_Q z?WyfYg+l4=i$bBy_JyHP{dUM8pljHU_1z%UxE-@26Dn<j2=u<&EXw*dl-1cr>{aqD zvK`CXbsT3K)9x>xob(q@zWa-3DSOAW{%HOvlk*}7;dLfw8wD7NmNA#5r?mT{r_y@T z>$7Af|Fu-zkkVmzn;#ZZln2W29Qi`Kwha4=rwsdxrwsdxrwn_?TN#K9BM4FcDZ@x~ zUowm!ur0|O9ff2RMvCS^89gfBXxEm}nttLbqyFeAqyFeAqyFeAqyFeAqyFewzLnPy ztH1Kqj%WG$qu1rDP0#Z6N3Y9Qo1XmZ({;l9HyIsEJ0OSeNOV-U<h?&y@?MLUeD_C7 zzT~5oAm1K5F@Zkf$Wtvk;U_{DZ4dS7LH)>q2?TjsTISgwt(1jG0d0@6MB;3^q|@ge z8J>9l{l$Zndc*ctwqq*YfOZ};QuboD>k(+i_GS2{RWM370vlcPUg%nH!Xwrv3wVtw z`-^!_2Hwo$%=cId>ondBbe7$hqb)3b0uDRl%_Jt;Q@T3_tM)B4`fkP@@a;N<R#cL) zy_4k^2_F$n*vAd}wE^H#bkZ#k0GH|;C@#%ppt!7K1I1-c94KxuVi-W#f<Z`sxN_JM zwT6omsa$I%5i0Cb3#%Jnd-@7p+^0f=Q4SP(WR$d*LO&eWD)hr~twKK>*DCbGajil> z9M>xJ!*Q)b`@!v9V}jA<`bH>iLNnw%-^h6bK}97ox_0)Gxg{TD$WIH%2?9C22)R{* zC2un1rw8N&ft+51+-k;>XASuo0Xab+rxzi&%Ch8x4f&Y?IYA(&7a_O$v*gW&d_h1? z5Xk98$gN5(`4B_CFd!!g<n$usR?C(gZ(g+G76s%4ft+51+}31Eo-^c&19E~uPEV7Y zS~}s7UX|M>gqJd!k0n7u1R)`M5kA=a=$0zrXnl(zUmB1T1af*2a@&Yo@>WB>EFdQc z<n$us*8VJcn;~BwkP`%QdJ%GKf0lfhAwMf1CkW*9BIMToEID=&YSEn?kP`%QdJ%GK zf0lfNAzu-Y69jU45prvPmVBfkUm1`S1af*2a%+E<yxowW6Oa=Ga(bG)9|N)pb(n-! z1ql&^gy=>1um%)xw0@K!UmcJW1af*2a%(`Ad^bbBCLkvW<n$us)_^SeXhU8K$O!^D zy$HEAAWOcxAwM@DCkW*9BIMS9EcqBi{*i#3Adu6GkXr+?<ei4R9FP+Pa(WSRYe1HK ztRe3X$O!^Dy$HEgT#(TEf+1fUkP`%QdJ%G~I7_~VAzv4e69jU45pt_IOFqt!pBIo5 z1af*2a;rE?j+gnm>Yg8v69jU45pt_IOOCg>n*4%*oFI_Xi;!EzS#rFW(&QHg<OG47 zUWD9AK1gW&L_>a2Ku!?I=|#w`<SqH0hP)Dx69jU45ppYeOFqeve>5N`2;}r4<W};Q ze6k_02IK^RoL+?7O5T$1WyseD<OG47UWD9=E=Xwo6hnS-Ku!?I=|#w`=q&l(hI~Un zP7uiHMaZq_Ecrf${E~p2Adu6GkXzAN@_h~Y#{zPKKu#}0Zp$7dw0=KBerZ5X5Xk98 z$Zgpzd6yx-EFdQc<n$usw(ORCe?xwGKu!?I=|#vb^Fc!E4>06c1mpyPoL+?7GH=Nb zG~^!-$O!^Dy$HF@JxFN%L5BRwfSe$Z)6?YoOgcv$p$_|m-2;+SW*^-6q!a#F(4W9_ z{cHqqekt?!wVVZDL-o7Zb=!S4oNI0ez`m<-R10u_CAd7S7yDRxpm9B>88~?7iuG%r zEeM>#b4W_35?Qa4HD6cU9d?OC-VX$8da~Z*id!3JAx4JoHoCQOXbSE&y0vj=>+UwX zwQ<-MxZCKyXqS?D@XV&xl@;L~p_RC3+1U}g+vvU+T5XKtaFpY2qdPCOsvE`OP}<!_ zcV1{=m^eoFj;PfYSI$5T>3$e=rPsG_ho;?abPKl|&1=MHT2q<dTDtxRm2!wjlqcG- z*6Ypz=(RS^LP>{iZ5*rD+BjCPwQ;OoUm1X2cMd?WuM9x1rw%}`rw&A~^}%O;VvBw1 zb!%_E+InVn_R;`!RvX9atTv9-S#2Dvv)VXTXD<&xXD<yvXD<&xXY&W3v-tzj8ILFZ zu)6rUf$8kD0qCqYj@4Oh9ILb1I96x1ajecxAArtI8-UJEAArtI8-UJE8;H)D2B5RM z`qSB3Y18N~xQ4E6WBaO$3kIOq+BjCPwQ;OoYvWkG*2b}VT`&N>E*OAb7u3|NmEpnx z$Z+8RWLO)=%CI($m0@ihE5q72R)z})Aj5?Nkm14s$Z*jBWVmPmGOUebWmp@>%CI($ zm0@ihE5k(tkl~^M$Z$~)8FCE#HH>fdo&`P5*%h-w<XFh!a1^h{ueEWkd}`xZ`P9a- z@~Mqu<+CeZi)TB2t(}e?zt&F2j$do1W5=&Oae^^Sc>Eei`)k>jv5u9s9mDK$EK*H< z)Wiwtqb5#BA2o48`lyK$(uZ4%=a4>XrW4Xf&2&QgsF_YkA3bpT)JLMXJ_5YZ{7yb4 zw8iT&Mh(>wesWk7FRYjT@WQ(34==2r{_w&&>JKlhr~dH5y6O)vq%XHWypYcN!wc6V zZ-9E^SJO515z<?~cp<&@ix<*czjz_N^@|tM8@^_(U5=36`b{sSw|>(L>8)S9kly;k z3+pY}TW@`~f1$$GZ2xNFg!EMtC#0*II3YdN#0lxBCQe8{HE}|^sfiQPOHG`RPI}-3 z?OIqLZf|`Ac;WVsAMp>Q9`%bC)=Pisg>};(URXc<;e~b7A6{5b{o#dm)gNA1U;W{Q zb=D7FSZ}eOdW);)hb#4KS+|r+=t?uO*qZk2Mxpgn%`)sKxD2}(DQqAJ%dqrHD*#ZQ z-2}V-V1s{EfKL$c=^1<~wQwjlI;}s%;9ni!69jyE2A|5+_|pvjH32?Bz^7;Msbq~m z-QZsv;1dLVdIq1$*7%1S{EY!VLBOYH@Tqi-f0)6)F2E-U`1A}um9Oz<82sx4e1d>a z&*0MtH2&cRe^Y=@5b)_4d>VtsKf>VO5a1I8e0l~y*!i;lNP~Z4fKL$c=^6anxkM`Z zI?CYR6yOsCe0m0dYQWFY27hyaPZ03wX?#cSq3LaV#~9jA2DAi$mY&JWzA`x0;NKkJ z69jyE2H)D=aR&cW0X{*%r)Ti3?HzCMZwc@T0zN&1Z*A`cgMVv)PZ03w8GLJdCmQ@u z2lxa5pPs?Dwuj29-)Vj(z$Xa!^bEeWy;%nTvjILqz^7;Mt?kV=_*(*ef`CuY;9J|9 zWAJYa@CgDwJ%ev;Z?3_=J-{aj`1B0EwY`%J{v826LBOY{@tyLXxU;smEuCy=w+6HX zftH@h%i7W@2LH|gpCI7VGx*k)<{A9Y1^5I3pPs?Dwsfk&-xlB#1bli1-`diAgMU|m zPZ03w8GLI?ry2aa1AKyjPtV|6TRPp~e?Gt`2>A32zO|(@4E{X<K0&~zXYj2pooVpD z5a1I8e0m1o+R_4p|HS~GAmGz8_|}#d8vJ_$e1d>a&){2IT4eCQ6yOsCe0mz+DW8vT zf_mH1VncghKuZv4>6yH&EiEzlUk>mI0zN&1Z*6I*!M{JiCkXiT48FCcWd{E%0X{*% zr)Ti3EiE_r4+QuG0iT}1x3+Ya!T)N2PZ03w8GLI?XB+&l1^5I3pPs?DwzR_Fe?7n_ z2>A32zO|*52LHhTpCI7VGx*k)&N2881^5I3pPs?DwzSINKOEo_1bli1-`dh@ga1f? zPZ03wX?&;5?=X!maWS_b{plJ*`)EK*5NPR{yn+|x>q`dzu>hYS;L|hs*7nXd_>Twp z1OcC(!MC>e5rhAY0G}Y>(=+(i_R0qTi2$D<;L|hs*7mv${x<`Bf`CuY;9J{UYw({8 z@CgDwJ%ev;Z=Jz^D!?ZQ`1B0EwY~EU{<i{rf`Cs?<D(r2^(j_&=NsCm16qPWOV8wG zb$5Zm|8{^+5b)_4e5<<)4gPlme1d>a&){3#U1ac|3GfL5K0SkPbyqR?&j$De0iT}1 zx4QeN!T)Z6PZ03w8GNg|s=<FQz$Xa!^bEe$-Fk!ne1K07@aY+RtGkO0{`UfWf`Cs? z<2&Ua^;z#W7~1a#v;={cp2^GV?h=FlLV!;Y@aY+RtGkaG{2v7P1OcC(!MD1*)ZqUx zz$Xa!^bEe$-DL)Udw@?6@aY+RtGmk${*MBDf`CuY;9K2YVeo$(;1dLVdIsO>?&Ajk zCjmY|z^7;Mt?sTg_&*Ks2?9Pnjqj9y7Sf&7#U~8y&jMP4Kugc5)H8*ZJ!hs@8LAxt z6+xh)7p1a#x!O>@7*G)eDtb{WtDS2M)k^^tL7<`+rLsD@)=<41P!R+wdQmE?sf~te zXFx>|sOUwhtiG-@RIdb71c8cPl*(%DdPDW|fQlec(Th^q{(6(4`b9uR5UA)yscf%( zgQ0pgpdtuV^rBR@@4nGcy%tar1S)!ADyRH%pVoDgN#XS%1%i+Qy>JTQb&t)4>WzSk zAW+eZQd#Tzq@ns{Kt&L!=tZflb=_>Jeicv=1S)z_Dr;SzGE{E{R0M&FUX;pO*DZ$X z*8vqlprRM0vetF0p?WKzA_!FUqEyzpK5eLe6HpNZDtb{WYh9l)RKE?V2m%$oD3!IY z&l;+?11f?*MK4Nat!s;+`dvUp5UA*dshsjJ`n0awObYJ=DG-Dd=!H`VTi5M|>h}Q^ zL7<`+rLxv_hoSmIKt&L!=tZflb!|0Ne+;My0u{X|m9?%r4b`6lDuO^oFG^*t>vM+c z&jA%dprRM0vevcDQ2iyKA_!FUqEyzp?lM$=4X6kL6}>2xwXVAj)!zatf<Q$tN@cC< z^M>l(fQlec(Th@9>$=BK{XL)}2vqdKR8IL<eOlKSObY)9QXmK^&<m#!wyrN4s`mma zf<Q$tN@cC<UPJZIfQlec(Th@9>-v(R`d2_j5UA)ysjPL~XQ=)iP!R+wdQmECU0*g- z{}WIV1S)z_Dr;T$8>;^VR0M&FUX;pO*H;YH`vDa}prRM0vexy0q1qKt5d<oFQ7UU) zUo})81XKipie8k;TG!VMmBLmny^>E5sOW{Mobua!TG!W23UxsW1R(`_;S|Ew^`N10 z0xE()MK4Nat?MB}<pxv)fr?&~%39aMhAI|N5d<oFQ7UU)j~J?WKt&L!=tZflbv<gR zynu=zP|=H0S?hYtP$dE?f<Q$tN@cC<aYL01s0acTy(pEnu5TEsR6s=#sOUwhtaUwM zsL}xyL7<`+rLxxbO+%Fls0acTy)czi{!^dU^`uFmK1hKeq(Cp6LfE>VGE@x#6+xh) z7p1b+^({ly7*G)eDtb{WYh6zpszCu2L7<`+rLxxbZ9~-*P!R+wdQmECUEeWO*?@{5 zP|=H0S?hYnPz?^K2m%$oD3!IYXAM<zKt&L!=tZflb$!=R4GE|S0u{X|m9?(t4Aszp ziXc$Yi&9zZdfrgw0xE()MK4T+^N^x<23>}EU^Pjs?yLBilE*cCOv~dmG@{iEABR-y z>6x2^O4AXecxI12Q%cVBb)C|&0L#TB!9Hevh9~#O;ZB3#JWTFUcuU@`R+v1F*!&be z4JjQ0azWx5dOU+d<KWouw!#TE&Qqfh_Z!k9YDi<O`#?rIIxVksFhb@F6Mbf62k?KZ z^JB?)*5WP55HE*ub|Ozw<ZV4Ff%3TW{R__T;~7)k%OMM-D>Po|R*;0#P4J9L^*fDQ z*$3Cm;F_NOwRZr#(rmKj1qY7mtNn)HO7+iz&he4G(n&zeFi0XDtRL)pUZI5Sm76N9 zg3oiM^`W4W%)V_nx(Ziy;Ii6W`R`~owq_G~SD3(4OL@c)0kwJv$z8hL8<5CFF)x8T zk}K1Z5xhg;b)P4RySRSv9A<~xbM@VTyvvn$1HQxZg%9PZFLvUXTAs;)o51BT)d}@+ z{Q!aD)N!7Q<z-$S1uUM!f#47IVYXPO2u|Ukz#(yz0g85TLh3&LIoLdhYzE5qd*(YN z9j_crQR28rocO;#l&*F)ub&Ihgp1l!JYO<BraTLU%@sZ?&!^!z??0b~=NA9D8_%u& z^Cft0^PjK9^DzJU(|8{4Ki`e#5&rYn@jOzVcQtQd-aZRSocWEDE7RlWqz=cSl_*Bv zKb(jn-(X=!fhvx*hij#aZQFyIoGv!lbGujztljXo2gkjrF;<y?%yY)S)hpmgw)9p% zoHxFK<CbHwX<Y}Uj_PZcu;0#AGr`OsC}W(>dW?Ut3NwlgX(;YLm{2i4{jt6`xQ<6& z%IPbDlxQdpDL)Ol0PhY&)F-up@xE$T&KmwB(sn8hsBX9_FyR)U&-B_Uuz-5!ql6|C zg#^Tr_7djmq?c;aBCP?@cA`vwVwrTts4qAlF0b6~OJUlm$jsOAN?XA&S}(Q@j+}G) zXQ6@h0^KRLv7+HAg|dAaIpb7SDO}pSNN8NS`|&R<Ujb+IAt{_b|2?)Vl}_jfH&^1^ z?d~?T#|0e2hbE)47s1e|loTnyCg<M86*?OASIN7u4VYj+^N=jNL)E$I;&J*4Z5)PL zZU$g$GLNIbiJ9M7z*)^{`Gjw4vZZ`<nz5}qQZ{FAO}3SX35`^L-S)ChQ}2Icp4~U1 zY&aska5qwFC=P`&e;!X6bHx3x5ZwvjJpjt7_OGHA<5YX}`av!BgabLyUf1J6s&gOx zy&+EGpNtelINyhGw7g>q9iDpE=8q$E8C!wX#LTJoMewbk9o(WK(Nhpz`4JIu1Rt)? zDvW@5$?7M`r6-pl_|KLl=r^VgL4KEtjQdQg7qAZL^QI%pn3<T1E@{`Bk=EatR?O8m zowF_^*G~fv4aKS!sGBLC0sD(`o!})%UcHyB{6pDt?irNR!*x$1k(n++0+(UH5Jc$p zo+wvG;KHLF8N|v>9L)QZS^?(%7xK6bJR%d;0pVe9NY2I4>*JFew-_%^LB1JW%mKFB zhe%>*qjM^e!-<j2D0z7*5afG49EjMSE}*L~f*&C5t`g-{xHCmxe9%R6NyuGBA%ODM zO+~XFTxB)1eK)y5D&hNug~%88aq!Zklb!BmD0X!_G;8cd)qtX0!=O*RWK!>GeU90c zK!fOYuV4~CV-osI@ahlr^8=7|^@n(d*<c6~D}8|s7l+{nnJ?lg?F{kcDu{Jgz)B0d zBNbjQb1$MWEZ7NauiKSd9I|%*T=o6cxFy=g4?xXdOXBJa$c1NF>N5&2(eh{3l_!v~ zu6??_84doWE%v)}Tqfcahs50KkI8g}l8BYQ1RkV~2;Y}b`3d48XJazI4AMi#gL9mx zL9RL{wrgVn|EK2Tr=Sbko{ZDIobn>jsnE4F$AM<HP0Oi}Cpm)}0zqreVEJ%k9B5D} zXrzo-T#hXveQb4stmuz?+2*j$qXM9>aY|=V%(|R1>eKhipi$)QLo9viJ}RKtgyF-N zsU_U|vxlh0Dcp}RFnRBfvnz*GgN6tRpG_q5-E&d3A7j6J9*X?`&HTmMc&%HJ$mZy3 zx%=Y;;QWuzqliDuPNvub%h2rT@+QHSBmy|uf(U-0Ehfws`U~AI=G54!njgwz7{)jM zk-RD+VIKa)i?9kxUnPbe$N^&4t#HCj)Po6MCb+{*OwJopWuwS@1IPqwD4FOXo8sJP zD!ZFhJZVw2Wq`CEDr9Psq)qWheWd6VO_ChA=O!oJN;?XI6UvcJKZ+b5QY0|@Qe>{m zl%Pl0kb@Ix$DXX^=BRaQ%ID4Vo2osy<H}L<ASkh~zU*qcVO87JP+NL78E$E1h$k4= z>%EKX*Za|G_am)M4MCn#k0W{N5BR9#<%oY@bX@uhWK=$ujr{|7g87xuPGe;6mA;BF zE<Le!-vGOJ#n3Vdue2x7*acI!(i{8=%%KYoo0z^m&e++WYSc{4<F}MsJ_&h-s%7bG zNC)6$1Q(7*9hGsl2E$ZkJhTV=T~b%RPG-IG`G#?Jx5BWK(43j9g>FC4eLy<2<6t}8 z{UFFQiSCEs;h^Kv!_3=DmT>5BS|v+38X5QZNnfpduVJ_g5^W_4f^n5w=%9p*WF8|j zjuYMig*oMmrBr;@Z8nY@eo-Q>l?XoT2#^!YN>{i2tj23MA@Q^~M%vVtg;h4KwkG>+ ze^|^8E}yiC(dwNFbE-(clb0!I^<@A!&e3)LR5k8WV=pmvH;cyZ!Ie6n_VN=wZ`j1C z#hExDS*qPjpvEn`75d%i;ykH{I<jZxRStuSLp2Y&6nR|=)J$CPA@=2G)QSt$_jD>` zPA66g#yI*=W@nd&*=wjDEvj)V749qNa25=avil?qp{rv7K>673u(f(i^eyqyiEMO0 z^iN>tc-VDXKexzpp-U91&osUqv`#HO$JS}x1U*&<MD}+iiYuj%M)_uFIVZE<Qk*AJ z7pMAaY)@+mcrDd;S=RDX!1Mwec|~B~6C2^PZzJPyp>Ty^(WKuTIF+3}Amd!r*;(M5 zf3@uM=aR+GBnv(VdH;eDIQ#n55CWeK4?pfpaCt2_D8Y+J63Yar8niREGZ>&KSB4!< zg?WaH;Z~?HSSs_1MCh0*I@Xx$RSVQ}<uxF=rL(vSpk8gl(9bDQ;MKzryQ|IEH7n?e zGgT92Mh?drJXb=-A5Mj(EdK(fw`W0=DJ$LDmE$?KMnp0#4%eeNp5tHNGA*})NDqx- z)z?AlROpt+24Jb(8mfm)Xb#>GM7rh4JrN1jh_ppl9e}(s+_&{|7^=%?Tt77iW!KX& z+y+jn8r5vvY#0#Z!vY>By15N$b4<~9*<#gSg32H8WQx0)5e96WCKMVFdOpLph589P z0*p>0EmXYvE2QUC=;}er?%<4}^7NikAk<GZ7&GmzCZD9+E1sKvDR@WyGIGfzD3?`M zE*S8f4y{#K1{tz7U|_AguC-So!Zfaav*h<;pkm|NqYu+uM&zq(J7&go<J7phhCfGr z2K;%x-3L5miYNF|)I4DBO>+rr#;riHn5wg8l#apD8*~h=h61&x5?`Il`G7yVySopG zheSPCmm!>!^2ZI0>Wp&?->$m)Lu}$r@at6QYI(HjMoqV7IwELRehn<BfS#xzgIT;k zOvMf%*pT1)*-~(H)5C58{hy?EztHd*Qw<oSCMaK>XQW_SdTT!?YOY|V!=GMYNSDPR zlFV2B3a82__39}ZRX!FL7>X&Mfp7uKL22AeNqlMByFZ4;=b}zk{(2N!+7ooZJrL1m zcoodiV}+yGBs!J1kdU6JVwmGq(F?|k$6}y<GTSt_!f-I!b&8XVEk3Z`9U{oMMn_P4 z;=Y7<F1?}2RdvJR;8df@Gt|V3*ckG;toEqjne7Q)1E{3P4HtR;1`HYI_*`+}_<c;6 zAB;Q0{G@$;4C@hofE(tAc@6>>DXFWzF>riRIt`^x$2!QOxwAmdJ!Z{OIb2Wgn@&Rd znXrPrgx2s@f5Aa6MZl$}SR2Oayx)!aVO+c`rpMfpI~!8cDdUc^OmUo_bTYA{SK`@N zH1(99?Dst^O>b4j>HigPAr|~}zC+b(ZBaG{qp&ikEhq936V#nlbdHN!9L#Y&F;BDn zgE5a@|KXUwR(t+iXxEXx$*J%;sHkr<qC&ScQFkkt_9yUKMIy@0!Wo}^3Jeu~CnR)x zkVr&%l#uY*j3H1?^0)$iul{VdZMR`QheA8d40Qn^^ll79T3=k27LI2i5+7-unXjYH zMZW%gh(!;ZQ(sLk%0Jq&fe=JbHo|nOI0`5}CmMx;2+FvLfijfbp?xCwsM+TR?PNA+ zCx`TEBYE{+tu}Im>hS0Bl=XtXWPOw`>+ulmcCZ^-<-q(H0w1H{p;+8i%kgqV#Nqyr z<GjQDa<R{qWI3J96!WGa=)Xeq*-*#DW!oObk#?*JDdD|K=ia)_XL-<}iw*;k`dOLz z*Y8mrr$V<p8TMED23UYza?ThFlxkHK%y{)3At1YPGv?YF9qJbB@YWyi&SG1R;Vp+% zqz@Ns+=G1pG3Q`s?vG;s01|%`i}77#d@79Z1IGIspAyL*pMC*%jmk`-@9C(pUS&V0 z#(lDXR3Gci9%VnpFDlomxh9mBego67(-09_)~x&unFRBpc-LPcAAc%`DK}KY_zI?s zu?oXGG2$oR^~u9sV8-!dr?m>du7}__y>jTf9bm5^bvQ=yunKe!_!SF8JR`!2hMgIO z4I$p?QJ5;u>^r@MQ9Q|GQ4}WWEr`O<;*1OK^qC0mGL%&?Nfil{7NEzIIV$EaSZt^{ ze;GDh&tEvs-MeR66|R{3BE<q~?AF>Ta-Pp2z^L79di(cE56dC3{~}SQ=%?E`R;P=} zxSoqkG5xXYLJn%it@opPX5e?=<8CnVeQ{xs%zWOT$I+x^J|CXFaWd`5sLrn)Tg-wz z-hOd<j`f*;(2G~!qlYexD*<X8E;)Jv?F4;{C)4Au3ejQX6BiihRZ?)O*gpl5FbW|+ zq1SyeY@$kJH7=BUch!LVNJ{#q#gJ(|?4_^<43tW6oXV+4W(r=q&x7B-OWwTc3l=lD zT9`m5U2M*Ef1ZOVjA`csQl*1un0l;=D#~Y6g;*7Jgu4h7-)EaO`A0cUDBMAEf8T?n zMu88EtFe;K3^Iuvrd0fwc7{rpFmnG5txe|&rc*&np;gk>eJ<F)NUB1R7hZ0JaW2vl zhF+u`w$xP?T6lESXz<bqUfOq=GV0>FRTdAIOtNIUP%AOeuDS?9zVs?62k!R56RRZj zIvGtD`xLgflr_eq5m_$+DrJqj-&@uMYFXd!%X%>&RXULGQa&%y&v<VUtKxl84O!n4 z$a>hMr1}huxk+Tr46wwGx6Nu8ek1ThoMM=ZSZGCbb2qH(GCX$ujLwm0jk|t9rxUov zc-Nuupe3fo2DCypN@qb8)fIR`>(7|3I$}8$f=VkGc^00~RMRWHh}Ek0`VxfWVZw>g zw}w~I(#4z>Ng$v8#jla6Ne;`!Vd6HS)$`SZ5kV1E;-uCYd=oiFQ*AY=UKdLBbV)TJ zE<Fh{B&yTJyGy4+dFwPQnEjeZEMv#YN22@8%Rs*&g_pA|ScMT=Q+#Ra>B6*`Y+FLv z{u**c+BV;(C?LGGLHcwnSSgNG@LJpC$FR)J7kvm%mqvMtCMGYWBHRu0xqG$h%ei>G z=0F#x@G4gowGb*$R;+Rl%w1!Y{tZiyig>t5ZBIWnkc$4F0cw5nfIqzd!3R#^E3i$e z-LEE{!hH<<94DntN4E@flD|zb9sZJj*t8?M{?kUJ9r5cwOc{0UFyLZM5_O-}hb84x z59iQ{R*jS-X@;3(8oy#a{-uk_qF0Qe)ya?-VeIF@8o++a*<Z6@^4D!kkiTtPn57eH zTUg2cwq+DD<6OY6Fj^oOzhJD0IipCYlPsAwgKbe(w?%#%psT-IW%Wl}#G3Cnuxw+F z@Y6?$9H{^$+ES<gEcQHkv>*BwV#JCok3k}X>co@x>)5IUhMpLAg46vpO;Ku6p&Olv z8n@Bu{x)F=7BXK=($i6F3mGKyrr%^)p>~2rNqD8Bk$ib92ET)Qw27;L%r@~H_`Uic z0(G1Ch~Flz2Bb;{ZDNVfYxMI+_<Sy(`|N)n2(^ixnuDPrqyT$i251v`nKB1J`{GB7 zq2IGzWSiN6-x&O;us!iB?%jo&p}IEF`6-?KK;BiQ^KCj8V&K{JM>^NTz`O2+gGTgO zww*((%pBrk2`U)I>8`(mh1ggbmm8j2MH7hn#=_>R9$fugp)N|_fmWm)VVQLUd>&Eq zl4{qn%)zM;q#NKeo{$$kX@LE-*m+g{CJl_Vdk5@>LXeWV`Zz&XCwD#TG{llh6%IJ? z-jK~U3xj6+Unr~3gilUu&}m<Zq)pno6wlDM&SwIxl0b2`^HBy1&my9;78`#Rxv(fb z*=RFtAQBgkO2|*~yGRk;&23KMF*Z9sb5@qfj4A5k3^VDB3l*pE5D9;QP0wLLR*nTX z`6;`F<WhMYD)cj;-uyvT&h&ORpW!B-Z^2lM?ylprCifE=hz3TOq|UcVnM49n31?wj zqH=n(HPWP2v}twy6PDo%Nw*{4Kq;$hk$}&vR_Sw)^LQ*`(10}Lc|g#{RM!!;A_Nsa z%Z?jlzAUT^jZpd?Xle@KFE#bwo-&+&gxu=Npt?pd5YE{*NUZClKF$y4U-~|B{$E&L zd)nlT>1U90SPT?QZZhs`i%LfGwabBo&`W;g1N4$143TCn8g4R${P1F5HzFYuTt5x{ zO8E^82>e%sGANO%+Me+_eRZZ0kkP9){`Pu<z^>eHq@*QzMt9|R{tvtIM_C&%WK6UB zl&Zn5T!s7cqtMRs*LPn|ZhH6Sn~<jN%bBzE<?P3~RT{=9S)y$V`f|oK;>VfdVEl&Q zCzJM;VoNbs98w%yY$`TJ`ulx!vyV%jPnCH-lVj2t3<SdgX(N8FSTrdoM+TUWVw~cr zi<I+GT_i`HrpAA~uW>?9HakvWal+#Sc6@%nI0|X|;{?Hyb~_j+i0Jh=VWqDS-KOoz zEywt$q@y?<7>#tWagB2szrWO7rCViJiSYw_$zc2tmpcirV4v;A#9)SW{|sY3(FtZV zFTh~O9l@oVU!lSk)^k9hyFRXwv5OqSd4<2d(d|AE+DUt{(m~Xc<5dn}`;cO(v3V9= z_ZJXRMf2HXW?KV=WkH#!)S<{nbq~TzDw*Sk)}mu#7&*o}PWOM1fm@!_f|ae0fm<mE z*Oc&nMdgW8_yNj<NiUhep83)jLD1>S=vJb<oz;86wT9?{1nDmWJ%;eeL$bhDtXTJV zSr`tBb!wFg=}K?vF*DN_h*yH_FycJ`ZA<_xy#-h%F@8kC?}{k_>Gy3{jH->dNKP@X z@(smrdBUP>734ba4^axRG;S{kTXVPjftnGNqpP_0tCeM-k;tFZeT@+k!Vw%NK<b6V zp^~J7?*an)*^V1f6bJ><I4rNb)eMS;6_I*)`i|=&qG;<72;%~>DOe^ZRsfJa^rFIG zeAy;C5ISGCdjEwFC%F%I#V$0Tg0B-_W?AO96+Z$mSa0mbi`jo%&{Xx<Ds>>FT>255 z!jIvUm(j)wXb#g|8<9v)*4e*ch5JBDR$c*$7CT{N*{@lGCS_|Xuc`e|;U`ExT?~^} z|2tB-dO~Dob+xMSiHNT2q|wy!IWH2)v3!4Y|Jyh=(*HN}W5=NLvqh(kPXc_n=zK^4 zBX-XCp(!*CPeVZE8zE{og6WGKx$h-R>nQFC6Wbl6#HcWfq8_IVMwrHjFujoF>NaeA z4Z5K{>A(yY-+UW(LV9rJ`Vn0lbX_GcQoblJ^P)-4vjz`*wx?EqZeeT0CR{0BA8DQ% zP4m=#)BIc{&6qm6Z$9To)11#dC`(_2p=d(q_g{{?B6+&JXGdYom&F2H;abE&tn$V- zQ+N`g?j6*xue$<Pqtbq+^1Lf9s3(Bd=#(6s*5DJQeE9r%^@e4w{M7t;$<xxNSh_T+ z`KKmN%c$aUOf6JANsXq$)N}z&YAI9nP-+4rnxy6>L;<)I7+)#LyPdF3Ki@+ZXG0d+ z-mkeG4OL%8e{*2;ZcUs|Tbx|s2INurtQIUPkJtSYCEEQmU9%S8*S#+oc3Af~g$~=- zGGAJuW;tl<efoPXz5aej!*xwy-+VpN94YnL_8fY6KOyEUYf`pjlEn^;mt*d-raIfh znH9enzF0UagzYZ`#&FZqWJiDJ0Ag&YNIOk+9>$xlbDB-(&xg3~{CS0)5W##IIIyne z!CR=$((QcVOQuLDtE(1b4$`h|RV=|6W5#=^KDo-9GBlanE1R%oBU@-An(MRm6V|A~ zhT%USQn(uFswARm?u<^RnloM4<EWgEQ1vjFf=cEWnCOg3Wn%@_*9I7p|JWQ$=9kn* zlKCE!!7@H}w3^Dq)W@6JHK8fsPMXVNqaOxO>~)$m#f$ykzB#UCfN%G(gJOQx%X;(Y z;p0673$H+Q&B<)SGpS8Gt?+Ze63ep5`30;&r{_1PJUsjHuOE__kB|DWN|{C)>1-;S zF1*HoJiX2*T~DBnY)1CD(f&BM@VR+NGxJc#VTTS<FYPck<tTLQYK@GG*HLizgacL{ z!z+m)T9WQIf~5us(Ks^*#w>w4#mHB6P^aq~P-%lI2lLrYm2X2$+I|P=55@R_<HK|} zhK+cEyn)!7#*97ncMYQ?twzL3cDpHO0|Qc~Hspob3p%i`Le}M1kotN?maux{e+D5u z^}zdJfOw-@2bSLP1H>y05bwqT;yp4zyw?VZ=e7;3yn74~Z`J_ussqIP>;Une9U$Is z28fp$HZZyD**9KXagK|{#jMJ=Tzdw_y?E>AT)8EYciKCa!tZ_y)~jnE$0;${uQZzY z{KyOcQ3I3fb5aEgPTqp@0vejnORD%p(Akm<C&qF94CKAL<c*h_E2SU6<f>lfRysQ$ zO%Fu}9aqky*oUuK<0l3=@5(LNSl$!vvN1_f=3h*2G19BS+i|^l+aD$HCj>1+12%Kc z&W8g|b0PLER0i^t1*WNLjL4$!Th!{p+tOTYT+ueA(QCb_gC88QRmYsM@H<4QR(#2w z$nS)RC*!-){LY(nq<lK@8{Qv`{}M>yW@^Z<p?E^Vh|kO2^f1(7zpYCo^Io2?mN2Zv zYXMB>t~M-~;O2{UL$%=bcMRnF8uUG#!uQ4%ey-_kdO}04@I3p4RM#qYP8(OGy|yzl zUfXGj@k}PSqdqCzG&o*<=cbMgDE$I)$#uRt-rAhVHG9PsD%YGW9;=*eViOC*q}^O| zJeBpXqlJz62;Gs3FQFF&l4PO4@wxa;bU?}cj^?DwCfl%ij_G_Mn;5yHIia#1BG5}E zeb%`5kMWnuEzEo>q3<-gd#Pl8=g=+Sx;ari{Qn<g%I7TMC6KAf;fpHEI}wD3l<2NG zRougJ(5zC0kyx1P9GVi7MQkP?JgO|eOLk-}K+nNP_~J#H_;2f<{{DZg=x)TO_KO!h z*tXaizNzES)Ww5sOBOyD#>L8yDhO_Flat>xa`8f^Wm9_-yw*+aEsGbXowiNRFo6%> z)IMmz!;H&#YZ7bPI~FgLY9)34Ii$0Pw)1zy#0x)!oxqG&YLn%z%M&p4`~je-=@wY8 zMG@<|5-E6v7Z5)ov7SvsF)dzU4+y0pmF)PyRcdFUQ$iRJon}%?uzkW`lUkTb6rM!_ z4atrvF{LIAN{OG`Stx+2$V3SD6Y(>1Q^oq!(83PT6?lQ2KR8E%W;{Gjm+QO05YhF3 zvqJng@LK8Ag4ar)CG9KU=W4*eXW{yr@uHL~7~`Osu2*^*{d=g;pGNz}LfgZKermkX z;Pi>#BQ>ZI10#He__a*Y>;40Y^!^czJE2e9ul9*Mu}|Cw`^4R|Pu#Ef!W{vAu_S_i z2>kvo;5W{%CPVB(&yH-Vm~3!u*=pkMWpLmA@N}mb+;{rN9SeT<7Tg{>IUYT8cStAa zXr&mw_c7`Jq5t%;x~tc!&AM-p4c}_3@+meOw=x7Zuu8{qD?|BAM}Kd!vS&I&C#Kx- zo{O%XOCa8aCcPrFi0R3SOswz^%^D)x6|eMRlhp^JD!Mt$%ye#!`*q<!zo(9=g~)eb zDXVa&Q^9B;mD4?7afTzTZd{SynJ&iAmZ!bkUJV-PZ3ezxntcmBgHU92R083`A7Q;p zf6{I0_kK1nzn;a^li;C?a5uN|BqziNDncTk>Dr2Tr|@@_R`<CC=Q3UVWFlZrN{<Na z-Pb9s)KR(3YhF4DM_w$_!Te^nu|d?rwC6W;YQrvy5Gin@`V<SE(x}tZV=TQFj3`a6 zce$UFWT5mpF*CuGo-5_%hKs@(6IQbJH86h!#97pCx@>xk;m@oZQ3@JIZu4BT{uNW_ z+q9!{@)JM3kHn7(3(ik`?;!Ct5I3`dc4agJgl6TAIW8=$g(oS^0_wD@*rW7QzBPT6 zWxgp&2WYjJeMY85VtPs1$7&1My=<;K<``YbmjbyYcqWY6-`bV7VV;45&v)Eh_n%;e zm+Xc?PrljfdJ4EsI+xLW))x=NQ3k^?is_AwF;y4N!ocRNwC>27(2=Ei)Ph%{En-!m zb(bTAkL4P2_`sn#p7aNWOfBPyXj?X42Dm?f48ik&$IxlZp$&wmHGXdMWeqM?BC=Q; zU{is?a^h><e-4!a^LJ0iEi_%z78h(=%vV~O!Z*NTH(m|v?nByR;+yukVB2Gj|485X zrX4KUc2MI#+&8{ymkYLC*7#5Kjc?lgf^G9P{-ZtdW2yuE>v0-Xf<cGZUb1f#+`_>q ztly^SzDKV$`M4IdfDIF7DL}>}S)}W)gRnA4yXtq*BDc;!ZqZgS>6iu(&Bi-u@bof; z)Dy0)93VEiafP&t_`VxMd)*`k?;K;Ye;+SX(4THx;p!0_Pw<F24aGfOpAa#Hzk%mW z4m-8*v9y!iyag*)m=`2qxkUe+XV3bGsr!)kLDHVaWvHxYL4InvmGx-7hO4BL*u3V& z7@c|?|8(V+B<6PY`pX`WNwPbOc^|JAio0hz>5oIv0SNX_1t5>jc=3q#|DVtyW?V>I z72B{YOL+<8x<zM#HAKxj#+F5ul6Su`^#XXGT9bFOexgDe4PacVPo125)vi*0t;ghK zLQ)NF$k(f4Ql;{*G~{S9v6M9Lg6!l`8q}~?d`4JWlHJWAv^?!8pO_#Q;N@T0!n6gR z5YCH(Yyn93v%X5kh~Ihsp;;&s=YL$OgOQ@2LzZaV>hZoZUceS13_0s#alFaY&z$J8 zt;P5D>JYJwU{E0v!>~fusAcrx_KK6WX+5%$7DSIb0^2%(jhb?#4NJS?;S>HKdcp#Q zPQJc)q~EtDH|w!Va<fHoiuhQCRmDc`lg74BwpTlg*owx7hT>tE{&8L+(>0puy}5?s zL>R%OK9F%bQi$70?of2Kfn9{olY^9GTERQj{7T9(8y2Abw!tmD4~ar$L0fPP;-t@t zEcZvH=&z#w`H(aGCmeUcMHY6@gOKNTq*>^ZC*Lzjd*nI=Or#7u(q@GDVO*G>a2&>e zHRJx%gRa@+2Y&oGlWea%b-a21>&V^)-F6yUc05{uJ>{oqvC$BQ$hhA5QlplZa?tZR zw~)4K0Z(x`8);h9hH3eITd<Dl$9{n@-nSENfZB|;g=$+a{12q&uXv5XYMHkFof<{p zh587O`W>L*KN=TPKS9~13;$Yf82w5;zz{hjv+Vk=2Y?c`T@$|+pPGnCzr<QQ^wh&$ zAYvS%4kZD8#c4GQ@oy9&Q!IoF7RD{;c)bExkKw9bFsv``0Zv#kYsdu^-7ejU&4hIq zx@sPAF}^cYhemZLFH&k~&%}lF*Q1fyfql8;u0fXz4Y>4h&2f&ku7X7H3dY-vA(hvR zzN9&oYfcyU!YWNRu?7R8^yW1$zlawlNpxAwDL#zhGF3K(rO6aJujZ7>rUAh+6#GTK zlzF;1isb#%q|AB>DYge|T%JzjfU{)}8e24NN-t&OdM!!6NCDHVBVjqpKvBN#U>v@~ z1<qmGh6bxb8?4W~&xq0uj@YG(j-n@Br%$Q#yczK_p39}34y<~9z*SHD$7rNMIapL` z!Vsxx2X+o3R)u0S${ESXktXiXmJ)GojB7J-Pe$Te7}sLrHbmm`jLRb~D4#3mP0e80 z^Ny~Rc~^X#S0)QcIQ&eSRXs-0{oW#QdpKzt{jpdh=bf7i&6J#<PQ9N_LtZaNV<psA z3l=<MvgnkQ#t0pEJRvJwv@5(JV<T>I)B53@?TEg3^wX~QlWs^P{nadtCv@U*zN)h+ zrV<6-J?$sY_U}(f`$(pZIhH#yO*g+o=JXm#117dOE=m}0Z(p#O&Qb}6&~oufiFkX* zE}W(0FKXw~SoxI61AEpfs=Xt=Q;+QQ@F*pTc?-9sl1vcua2^t823<Q9hJYAM)vH*a zL$YET5vX3790p0?(TvsD`pFn%2sX)aG`y?MFNf=G!C5@<!Vr{S-uvmc|0tF{7n_ub zMYwnLAlvn%0hopUM2f-{&4W>t*iMXfq4S1fhjLOF>A5qZ)ffwsT!<GD2@0wn!#jLl z?vF1>`V&<gp)kg1P{0S>7GUgXNU<g}`fY%nnBkDRkE@Mnl#eElh9hAt!xjJLrfk!M zi*f#)9{4bnQ2O0I2GMQ~gHWISxPFZ>3mjvmb1#+TOiQ8lR4>;jootL_>||=q>6i#+ z<Eb?-zfvEY$r&ET#dxU#8m?H&D2bUo8K0Tskhu#VK4Y*1<^eqbCrRQRJC^5lJ!tmK zf=hEkzpQA+bR-KCFXX8K7mN7j8OOWs^jBwQ#fQuSQZhCZV~C+dL|k)BzGISiQo=Pb zVu>ASZuJB5lomIYO)`I!LtZcYp_gB2P6g%di!z%wnAy~e#$Jl6&{zj#dlv+$1&P0$ zwW;~}6a1o#-#OKwh$gV5U-^pgp?PADU<r50TLEG^MHjEL^36@f>w??{%q04tdi*fC z&lH#7bx1a|c}+I`a&se6$Yf)XP`2^PH9NEQJDVGPP`2UWE!jr)Mvd8q_KqcpXvnRc zI4IjNbmhbpK)bMbkD;xuHQC0?vkg0&>+wb&9akos@wGkS2E(IC8~R|<VmE1Ycu3S* zOj!{gddri4Mc(Fs_d(=+Ps2O(n$3Xi7qf$2Y#zis5X=rjdV|RFpk91DlNBr)gHHfH zfREQPVI%6pj1Tw{zHrJW;xNJ%+F5)iNIYHnR1xi=t~1TqY<5=MnT5@fv6=Cig`93a zWc=|FSo|?kH-kBjyr=AQ_M>A$V-Fc==z+#ye)rzWl(9XPJ-HqQ%?gj&Uebd`{q{xo z3rmszvC@96OuNT$_I(IC)Q-jY@DtN!tR2SIoPK44lSs)7ku4)znXF2R?_sSfzjH43 zQ7cSFfqN#~;GJVKp$6-I?@IsG2*(f;k>7F5&piT(VXTXN!^_iXsM$7ZNSt4SW|W(s z?JUo~sE6P(#+U?JSqqA}Y^{NfQ2>^|Vw=;>1lKDjym(<aB!HzM1wan3CuI=Aab7oQ zkC$>{VT>)Vw;73N951njjUObNkbWH#Uv}?Y$JiAEbcY{1LZQXQ@&?GZL^0l0SV3@r z?=J>4>A=oB`U>-&D>?@10FQpL#0G|<6+Izp1E^VzwPp||E@TIhF{mDY)@!rC^uF+S ztgEp7^#`KbB8GCluSa`)#Ou{$PLD<>VtAO$rUxerBfuzXEEW>dgHt+GkAY?y4MY6` z)DM3on#G~5!qhWaZ#<UyAWzhOfecndF?itXNj;uyD2~UXfx*cMPJ_yu;U>GaP(WoH z#zAjA$DX_OkRR5-{@;_|!vCfGCijwGZyEO?#GW$Ty@w3{pR~b61Cn7x8vjf2^|C>} zPPTP8&hN?9i9PBt`nn!<7&Qa`*$GZaI?d^>mtoy_B_qQk0-G?G*DswB`8XrnJ5Ecx zXpmppnbGrIGrdfDJJ6llT5X1KOlB;$NqEI(Y#hjX-VV+;At*F!T;NNht`g^$s(3s` zp%@wIs_$W5Ei+S2B|()<$pAFVu_z{|9F}ssM2}Ry?;|JC*h#NrYBFS#<%jV-?T#<h z!*Uz>zmnVAeaekGf!x0TA#w|kMJWkvAn99-<FNp}(+YBDAV>fqBCEF7RPkslOHCA! z=1wimr6Fl9*3#^m)N?iEsK0yAYdD2*MvR<$PeFk{Wc|r3T<X3-&r<!f86xS9x9K{v zZ~jBlb@WyXu84(sa#Tmalb8j%7#Kdf`;_D3@grY<?Tvl&Oc@jC`hjjYDe2Z1&+u!9 zjC=~;=Cap6(3@T4=sg~p;slHnI6)^(LT|*#@P)DlImH&QG?`^`^GllQ%o}7Ne^<Y< z75luw<Zt(FN`B>Yf*0HUvk@zBStEm?Q^3q%Ww^m2fW#usven_U<>|;?>^<nSC;UBQ z__OQan!oOVzy3JaYss9mYoXMu-hwnGI9|D>0|Lyx3ZWIw<p3k%La(yOst3g_tA~Xc zkiqch!ez2+Nsg>H*fxPDGs)T^=BxgDEkBZTS*+EmSz;?KdIH1^S$S2y7@}~m;kK{B zGqjTTXeDm@?)sHTZ=~-8Nct_QS@V=_R`uo44eDHMR^x#f-S`SN?Z5Faya%#+P0_Hv zmFs1%W9H6RNP}^YNMRUC+8j@0<E4Lr2uppK^Gk}a$qD(*{$i=F4HD6i^~%R0GynMe z(!W8+y=3cKbmFgHdko6doWzi64B@5!0fNhUZ?3R6a#O`&s&`yo$6*HJcP<pbi&=dP zJ~oJPSD0QKScnqNraZCI!H?`lVv=$uUfP`Agc$@!^5v@`+2my<95kK&EEWnTH#Npk zi=lk{$1qQCjd-q+eHfISj>k&>0gIi*`gn{R*-Gy-B>R@9AulXNK(8`yF&hNYD)0@& zSf{X`wkiM`(O_{E6>o~MCByIY5D3}~zOS4scCc<Mtc7>Y_@DOp+Z%Y)IjuB!U+Ksi zrG7skZ4yMI4U2sg*DoV+p|$^Bak}Y}x;fs`k>Bwng0fA<7ty*1(m;u{P)xtg<Jo*C z3IF<VD{zhP{xZd)+edj&W1phE?t&;ULb>?zA}E*sM&e|q73^Vf5HRJjb<nRy!uLLi zKZP{d<0S9Z#}D?_bYOk;gOv+{cb<80h1HWQ_^$myG7x^(9%G-Q<}nSwcM+42!9_NI z?U^)NtTv-V#`hZv=QVRuYEiJGUBpxR0EJqMPgaJdJ-v^y0|$BGZ2uxAae{#fn`-km zu6Rk(tmi(2c<~^GRY_Dm4s=GUWD4te4cVBGF1X?|+1SXXSV=Xb6>jllPyZrDL>L8O z28-l;*h5J!@nQ2O>M*v5;w7P=I>o`kc1%`clD|p>*_FB=p*>w3fb%=DNttnC4N6L$ z!kRt7`ek@lUb`|4t}3ONW8yQ}6qf!uN}~NuMww4F`ry8W@r_=`2av=h4-GAkm)E*@ zkh*v%q>GVCe}n^irZWouJ|>+H-OmvIma_0JQVr~r_F?wR$vz6$N5=;jgP*k5p*DQ* zL5L^ppvx2<5Ao#lvK#z9_F~B1xJ)6s8H2nNzmL5VK7Mqw1o8I-zS%3Nd93%^FP@a} z+Bbx_!@j{x;ju7xq-7s7U*zN#4ns5HZ;gWtwM?)QiMk<&v<EWbF(9Xr#@)^~M?U5# zpn3K`D8z>HH1-F+%u0&4+gcwJ;Gb^v!Tl@aAwTMMmmBEx<K*z0VGcDd<pFkV9Yq@= z?F1@+&&@AJetqms@#PoYoWeB`4~0BK%A?yLdH>&_3yrI~ev4}B=A_~04xsjVlZL>Z zF>yCOANVww>v|L@2rZq6)x!1*4*W7<caf}wJ(OvGLlDNw2V8*|41h{QAe_)H73|=^ zx7mI#@88SfkE=m7;aJr^2`BF}t)1O?otUmqXnxu!aP<NhgA^`P!nZqV@Qdwr3a9O& zGsSYL&Iu!9#&D96fS-eJazij7!6w;e(~a}1(hYub+b_@+n>ozGTq;(a&JU+b4shD1 z@6{MQAHhQ$u;mJPEyOSp1srypF2&%0B`kl-L@iZ{1Au0S=wI$7qY2Av2}l!$<Z>Y8 zqM^QAQaR0>kxK)H9?23Ej5`+4kf!n`fH8>}HJZ>&;ajx11duMu#%Zvjzji$HU<LMl z9IK&kl>1g#ApTPRF9|>V;}JUj{XE3~w?B}C|2AwI_R}8%Fl}@9w~kUx-@N4J&%CmZ zVSzt?>w(49S6`#l9j&99Zkwc@`o}4keEM6TLVVLl4qw-@;qmJ3mE}k7qoy5u+=w;v z&)M+Cy*Hh8>0h2#YH4QHG1oRuyKlwdqc`RAs_Bv8w;Z*0^t8`+7pEWi7EcPA_S8ZD zK5p7e&8N41ebZ{@%Q|!lBF;n|%IUqNGPBx{Lr>>_-hpvtev4lG+Q7}}?PFvWZp`+R z5GW)e`wblF1>lndFh`gA`}t#$#{$;VSdDfE{r>n^A%(<n?j<&=_tHSJy$R>-ag@ak zntJa|jQdgfEn-&1QU7rg39E^UmyU*p(_Zha(DWo#Jk#X@&6C_3Qf;RmPRro&8*@pF zA9o`!#;*&%bMZR@zxDXtir+o>K{ZPD6U4W%r<CtPGF|rp8sBz|1$<Tj3oU?j@oh&1 zfa3c2Hq0FB3f#AzDV`hOw!p?Mj&ECJLv!QXWM;sf@|ofh@oi@@j{D#<#jf}^w6k>u z?sCWJ&GBu^5LzXBVQ^<geA^O6a%W723&7mWl!l!Bb!A8WpV3X6Yt?Fz(M?0@0Q93M z{@Se^>o#IzRd4lR@D26UcX1^zA?o3>hOZ!gmU=o<z;6%y&cTnLa9o7n@%ViLzq|2! z5I@$Ht|#GmLrMpum$-&%s_*)ShD;-bdaCdGqK3>MWT8NA(Gb|6Cs(o6cYRz#jv$2E zsxMxEWRGN!>Z&iUKoCb)dDl>1^~L!J9>*XRR*xghhm?+IkQ%Em9)#eb3{qwF#R&)= z#UOQ7UmS@b`*Jx}p&l#wR2SZ_XIL?K=N3*lsmJrU`^?9iPP~FPT_4ttlPiXy%3%-r zaC-6T2zYV^Oa}Fwd*I~{8+F?lUlFVdNlNpODHJ0IvWL$(SFhsR;nJxRi{oT?wyC4q zRBn<qp}3PYCbu3jU7Wl*j>(R!PNZiqkQ>8b`?SL8OvS-9U%W8IUSm?=QRi~zH;%o> zObrVGnwxPv!4zzEf*#v!C&24IgSZ5YI{`^alw8oKVKRPXZC*^fbGp%7nem|hzI6%V zC_g#mE0W5dc)&oKlR;V^W+uX=cP&h?4pU~vV;Lm0MILAOxng`vB`rbZ3mNQIT#vm& zv90n3Uq<Ih@prj;XH0VpXL0;VdL5nO_y+J`vPSm{MCaAvj#nj2y((jEvV-~fpGo#} zo?xS8zq^`p3d(>#uA5x~e;N1)NgGgF0Poy`1?)u+r@8U~S*I~x-5Y*m924c9TF4{_ zHiDRl(}IYaD4=IVYl~g1MI1awP*RuDY-|Oazae+zr%qbYS$ckKFa5(%(VwP@evSj~ za?y`#PdzRyf?~0^nmORU6j0on(ejjW406epU*iIa+`%W~C4Fb5`EJ3LvG-XYo^EU_ zm^EX~vjsnm_ihzRDD9Qb1Rr{bFFK32(PXN`xNkY#>j2)>T-^^yI#BK6qc!q<8H`o; zfd^>}!#dBiDCY{MKLk~%Qa}XMF23|n#kwIGx3Y&1rf<NwKNee9^aY-~nk&pRh0k~z zQSW8og-;zMw^V5s@2JH!3I_p2C#_Q~Enzho3#fYaaLgh#K^E6%x}`b#)(lB0iR}gc zl`$imG5D8sv85eobAcu}4sMTmRqSs#3WU{<>IOCTY}5{UzFUn%eXGN1kbAMR4k@fe z&iqy;p*n!QlI6#Jq^>TG=MEVX*SFSYaA~64Su5whF9Pm4#Kj(|F&WI~O>Lo+-O5zD zB^;&1<JCSYN~kcVkb-q;O-ML`iDRU>zy~!Z5~do_PIWzU)o~}vc2ucHXpGe=u?1h? zyk(dI*9ma1yMN0tX8D+VvBOzSeC7BAr7W;ZgW>4w=9=+@Emm%II{5TT=Tj_vzdZzS zu;gDiw-U+eqp<w5x}<#_s>U89!&ZgnekcfJ?P)slTq8WX)%}qutnC2GMPD^L0oPw( zizCmhOG6FE;Bi7SW<YpLoL`cdS3M8}l!2Ke`gN6He~##?sfaHzAANr*K4dKOPEWLJ z`hw)GxS{xsBmu4Z*5j>-Ho3xctG=vQkIr-*n~bzzA3W2<T&_&kg}w1Z0b~hqjwU?; zl6@K7X&yOl7aoBcFlo*#KG^AA3$Ye*kPz_3{X0}0X)zGc!Sv$QL+GIuoF;x;bmBC6 z)k7IBXx%`@F@-fKvxY{!=}BeUJK#>FkLtm6CZPH;9UX_p8y|DYndcXPm+r-Is;rL1 z)f#<#E%Xbc=m-0$qtEeE4<&t36n8L>Y_CLMs%y&tSo~;&=0jPmM$!9aaeWk5SiCp_ zV<*8rs~L=bP4^L$Kkg4_Yh}jtt{NGQ*K%=7R{$xDinL-qanY+%crif^B`dfbG=}mG zr(27xXCAZ(M{eHsxt5H4gC#$qJS=WFCtZRt8S;qtP1n0Lz34cp^UKtCe!WU&lc;(0 z+6idL{R7%icMe0D6;9MEpj|*U!x(dhKu`<wY?{EoKBw(mwi%(jr?Hi#g*B67)>dMM z4jf_olL7Az?VvnjIPXiwoNi+G)zI<=4x`4&*z!xj;h)p}1_txhV<~^z=N`$RQ=unE z+*OYtz_n-ARgWT|qFqMngYBI4(@>W3e#lmzh<7y6P^UgcgKYz^-NWEiPY`Ol`O<I} zg*Z1yagG-px;~CS7INgBrnG%dg-Mh~Acf8xIu!gzo6&~$gk+_WlCs8;XQaUK3FZra zTa>S!806CNE}E!PJJa&%JMgTN#7hQAag<Flf-Y=C&;=ss<4(pGg%i9^5e>dWb*sl9 z&v0LXr6-K3E0mQei}(3*cKi{-U7;(y54q|tvz5bhYQ_~gmoCLnyh>WEI(`x&MBiB2 z4Sedmt4HH0gUh6dP{Mc;clo-7-2p^b$y={*<rwCBwyV^A_<?Ho1-hSPpUl~MnY{EI zL(pp6(ijoSkm_;dp|7EV85fN1)Z>Byq>1C@p@#o5O-#pCx0WS&!FwMw#61RkePy;# zXU0F;?1|=7w9CSj#!6WPlE!qw-{2LVF8H^5>N4fj-p4>L_@iAN03W0Jtm0<~AElOu z6i~5onL8N4iz}G9SGW->!VypDLV;O9?X*B>7V*!+C@7orkj`3`qqwYxPBE>;ghzC0 zDLKa}b|gx_g?5n;f{8@wZK|3V;8NEBeHXgM1-M~d_vQh38^MDvTeCXoL~R4#!OFl7 zp8wMms2^$*eyiqO*u8ey>WQ<Lb(hwamn`cJo@Oswv~*c{e8=kUC8hGJ6^qAroV={u zy`r>c>fRG4@!$B4!`7`@yRN)!>Y8Qi)|MBo8s9N<-Qra%mK?k6!nvh$maUn(c)$G? z?XzT`eJAffW$$H^y7nL4JF|6b)~;B+%;Y|2*;+JqS_|-JPM^X5d*qf}`PiH#SMIUT zsw;o}>gp@69CP00znuK1%{#B&wfXcvjQ-?7zkBoR`~Js!?yTm^etYiCe>?i_ztzoJ zdiDvY7CX*6>-{^|mA~<uv-!EPtXSO+pYN$ofR9<D%s=>k>n8m6Mc$|3R{<O&Q_f4& zW$>Sd{}z64xcKJfP+UKC7LLAKgKHg6Q6=$@0BkKjg}D$emMHMo587esY_&+0<qZyA zE!0YF22xsr*wsK@g|wCGsEw@IS>Auf#|gJ*sVjiCd+oI51O>VK!w}C#ie;4fx&AXg z$rsl<{ik=5G91=J*qyaGJW0)g40YBMfjaIm1XiP&T?Lt4fFprcpxUj#n%4>`G4(PZ zF=d2i0e$4*Ksr~%OLZ;vxmyOc5(zUbRX9SDr|j3lR7!A<4suuxG-{uuRi;PjpC@Ws z0nl`$aTacJHfWoH(!n&=ASGtPG|AyIH51VD;g{9jK-zsaqLw1+0(B%n%LI{;bH!rT zps(ClJqE<#7V$Wsb>p8w*-LE)LS6gf6=!v<ShIH7S<A{D=a<%uUE8sI#acp29g8nq zyR2V?C1)=x*X`C%3QLzQS+RQ2DxAMlI~QctZziisYtE|c=qG`0;j>?ivrFavGg(J2 z`b%P+uraD1Hr91ZE-gz+tIu7v?1GM^E6!WNMi64`xM*3qRM)iZf^(NGS-Whhk#}8g zd8xd5(b|qRB}kl9tCv9&OY53etT}JdsufE+7M0IhM_Aq9b4%w#L95qwukBd8tmELR z9h2&s%Zrw-xFCQXG__;OzIB76Kp^ggx^(EAW3WvI`o<r|Q0hE3%u^;!nY=$Cak&la z`(MU+R_n3Qdq0}f8}U46ZF$9-v#>;~)Rl+TsiUx7G5VxAYCB#$U|Ow4A9>QzGvL3D z@Tc}f_|R3Q#YDy*n!=`2ZhNSh;-K{3W2SH+i@CEOc?`ev(LUmIZS^Ah7@kRoUQvA> zKK6+S9^Y7?FT}_~|3<-|jo(uIM&O4Ijd=(zk`SL+p=%YFd9f>eHvMGUQ*Wn#0QVno z(<+tWb90995#sJ9?s#$c755NvmuF^WJawKtZxHudac_a!sH*9^5c{~Kwq4-4`X8hR ztFa>nkMPtfBbfdZyECtCd+_-Iakr1-^X}t+fE02Q-<yzAU)krbeRAq?ao>R3s3vxi z>goL-*xysH?N1)2P9@bB54r6SPrY{tpNrGT!^UakVep}Uo$jd}hkfTTPhBvBu`P%H zYlf$$pD^|WPpvv(KHN*iy<OaIiu;nde-XF-MB<DUciM?eVfl$Cp9rcGna<4uzhB(f zPkiCT->7#_q-@=p%y+c7Pmg>uolzIeRJd*MM!25(`phTO&GJ0RhcwJ$%EQIoTinCN zT``NfUoX$MiTjwi9kYo)XZByGr_~j+FPhz`w#<G3T)i=y@=4EmZ?>oQnnRqU=8(@b z;bzp@IZDl`(>z=)vA2u+l{u8p3vdUkf6k$fytzzm^jy-ep38LBihH5B7mItjxOa$q zkGS{GrAD5?bEA4mQuwXF|0HhaB;ola@^;)QO#iA=h<W=d?@ee_UlRAL;(iA%?!7^* zr~V`E;CXy*5%)J6f3Y#A-racDK3L(uj?WF((N4y~_0%EP5pyowi+$P7y`GRY*ORx~ z<@o_|zYDif<u`qBy{9H_B0tA&ntwv0I%m^enMQS)xVMP=h{Qg#iRt`Y+`o$ZzQ70H zK=_q6P~$ht^UrReJpT%pHBHwywlJ4q7&!zt?8WiSe@*C%hQl6E4hhXb2y+$XO6Yim z8WD;~=oEwoBb1QPVuY|!0qqr2S&cV_aromUbUi{j{F^AD&mc4up*?x0y!wiITD9WT z)yWd~6NKVe*U+IiCCv`Cmtg)Gp;pxi4oSC5LX-SZ8pr&%;u&$swFRLOYCk_T4xu>4 z{T%r>sr~AXt&8KdPrf{B!b%@Qhsw!?P3mJ3IugSb#@!^L<1xr!=yMV}U2Txi*AQw` z%hlx)dRF3=D-OV#)DI9EiQfGh3B8OEP7qbs3TM9(%(CKFu}$h7ggP-QxI;qkAv6x5 ztrBt^a(02bQ(}iYXwEV4xkpmj4WT$fUy#rq5~`|uCA7DME>&NW&@_Z5s;eMn%4H@( zdm;3IgccyQFG61xd6p1rMd)i1w*jFz+J7Co7NG;wP3m#MyiG7~Qr{5FFAL@^e&|tz z4pz6RrzGw<iMvgGOG2+Bbf~%u8YVBlm$<vscO~=>34I9zPU<%1l9z{Z);lqq5IPk7 z(2rDVRFm2bp-~9^6t@O9smT(0LcJ)Ke2`14ds4kDbjP`8x<e8Ag@n2hii59LB~+Er z)9Q5zU4hUM>KXNhggzs2&!}HY=sx5S$B7?*6V9GMs8#(~y(^*TB=oW$dQn2Z^h0mB zwCg`IL`@?USO4%s?;>=JdLLoNIWfk)uile1lQHJt)cr?7EfVq=0_N@r#Zhh@x3|O% ztxG^;O=>DaC*W)NMBOC_9WR(8>XH(75<(qy<LWvjv<RWuIL~dAgw_e>_`2QdvXJK` z2#r!x>PFYmCT~PYp~j3B%sT{gzq&mobRR+|;{=!K5_$rm`3M~<p%)P9s5__*!w~TD zGD2sn8L)2h`HsZRs5?$V|3WB^@0w>zC>|e<od-wP&6UtlggWYut~*&mBN3WccVgY? z5}Jt6a`YTaBs5jx=F}~f&<O~w#NN^sB8mADH@9wOT@1OGF#K49JyRD-sESY-p^LD0 zs7YOoP#ht?n{86J3*G9vY8`^=euP@_{^1gddmN!vph5_7&r95;b)S~F9TK+@As4B< zDQR9`cdvy0iqLszSMC$Km^U0NpEuRrFLYUi=GEO)_ce*@K&VxHvhHDtD<E`{`m7&1 z2%%MVpRIdD;!Z?pz1mjytb~>z^f83KE1~lcnpd~2?l}ovj?fjDkZhOG4G3L@(2pd) zEeN$D^kWI#BcXd3LKz-HXrubFA9@O*I6^;>xMvaie%+&WuS@9168Bi$8xq=y&^+Y* zo`n8@&`{vMFQNZP=!H5MIwY7)F!vwSIT9Ly&>rfS3?cXN2;G2?C!sEcK8a95LWdy~ zM=0&EA3Ih;|EilLshpNrk!V%_syk3HFF^=z_#7SDjL@w(G-#^C-GdO0Dsm2%&=Z20 zbf!z_2MBFd-*fUVd3jmlzVEb2=$*vhkmd_cyMz+Sza?6n9nKU9wMb~Ev!8@ICG>OW z0153Sq1T;5Bs5(@zjO|j&<PTH(>Yv13ncVg=NJhsm(V-T@e;bg56yBZ!AlWBYvY_E zaT_J>uYTwjgyQP&&QihLDwzLrmI>yU5xPs&xjOV1Ldy|a?%siV{}Y5TR&dV}y4Mie z1ECc{_xmK<tU7nKg#MMJ9$fca3B^;x)lw(!u9Z+uLY{lRgbE0KL8aV}N~jAVv}d@W zlhU1z&}5ZyFO$$Ie&`C9?fi;VH$I%sxL0B((xk3ID6SgZ2L$t02@P_eby?%KrEnIC zYIA4CnC4eg)O(wIQjAi1453yv(mh4uzAbTM{Ll^wO>)l=%%3B)huX(oESP_gxP9E^ z68aB9_o@BeH8FD5lwOe-g%Dm?BfnOJ;_4u`ESTdEdJv&?NV7>D?8luaamOPxSsmtX zkkFY34OKJTOC_`xp-0u>?q$MD6`?&4x?JL}M(7EIJ|Uqk2*nY)T0-}v*~cB>Zj8Ce zZ}LfO&t|%}a9XC0-N?{f_YR3$dmTfk_@S*5THxLjid*SE5Nn3aPR7SIqtpfN<FS)B z{4BGf?&J->7WZ%BejskDegnk&pZcp%XW|XlIi0Gp;U>7v4YxR>R4d#%wR^)BxDy)g zgnMMey>OQ|JOp=b!{d&p{@Hjh++B?i!A%UJ+c0QDou`HlB7EeaJCWMtLBRC(8#LWL zdBY)tX26{x?ksWVi@R9d5?oJJ#l2K$uOGDB?No;)u0m?J3|fijy9brv-alw9+(!pp z=$e$D9dsE|{=T@s5ce<Q#+nFk6n8gq_Y!v+Ttj<Q(;dJ$9<G7RY1#(JJaNy2Tc^%% zqO3NF`vtg$t2fn?;CT<{CUCee_HA(WM$>b!XmW03``f0U;@QbsNPYH6Kw7iYfjJg# zo!Vn?2DU&PSF{kO&8qRUW38Pc?M`)CE)(lii*g@_yHebB;$D)YWUk3w4fto}`EGF^ z$z2D?c06OIo1<QSm%9^gEYDIT^VHFrJmD9>?Nl4`PXsA{BF|iI%`?qA;nu19^5pqp zalZrCaP?OHwV0>g$^Q!Od->l0-)SLLeapuI(Rt<Z+^P0#A)nL5JrQo5S|vDNc1FiB zYj2$nJ}0!2!-HB2@zLr~Ky<!g8Fq?<JJpZ9E#P^vS`jxI*`=UIm2DFXgxjh1XuAL@ zPiiB#hqSTOGuo~I<hZu0;Vy*Rsm^Jmd@h9Rs%zV>j~h$4v+bt%$s6tw_kM975%&pk zpN8wH=izqxHvh9Wl)|_6X9qnG+Wm&n9VyQ<@Qi%ncB<LKXwRn(`ytA>XxL8ySvic7 z`G~kT4`Y4QrMqnyOYy+4hv0q(&z}0pFy_m=I@O<su|)qC*Tr_MPL+m>Iyjv8Z!{(F z+%}w2eJ3#(&rf+n;qE^Ci5Tow;OV+;h~0a58{opf+JAUEo@XEhU5i~^)BSRtG5lcf z<PA&U8hxE3>6{C<Q=KvVOz?2AJZpYll;>B(eM>leS2&E1xPsh{xB>3i5jT5vYR?g$ zhP%&*+u<HGf^E*RBdGo5Benr&d!{+jsn(BdfqU7=5eZLSJCd!<=8-6!&)c1dJ$b|D z#l2tLhsAwb+~?sM%x4FU0OpVWKla`|tg345`yX@6Ibi{d^FdTZ4vWQEQPH447mDTq z2^Ei#LTRE=X_Bd-fdZ*{0423DH=at8N{!6S3XM#Q(%NcPR#;|g?y|D7qWazAI|fVK z?)|*)?|H8Gz1}}|*X5`2xyL=n7<0}s4{NQ-TGY;%($ByP;IE)-R}l{YLy2um#dP(j z_~uZ-ZQvg84KN9{J35Kl6qNge!)2Uu+S+-`do1OQ?<#mF_yD*Rd>q_Nr1v3c#?tG0 zBah0@brt(DtFwqVpxo3|?9-zj1r#~b^?u^9t|Idj)Sf2V*~PB&oc)G}t*0J)f_;f? z;~5&Zk>VqWE-X*P*<>o)S&G|J#A#vMDKaBW^gb`_1u8!rR!RL<u{~5?7bcF@?L>{8 z347m_o~R4|%GvVF@F>fe(o(Pr+yuski1-eaUj`e)Mf-An-whXQofnp2G3Ymj8g+wx z6fUj;?Pu)SaIx0kh38o`_Ir2%F(qO;&6d7IJ4-gAEaHmh=VC_-b~ZO+Cq<S-6jLux zM2PlxMeL@?0gBk!@rb<^7xqPj7{j@U*Qxw7s7D^4aUO~k^YAP1JMh;?aYgtmaw2Vq zPBvdR7uJ<XXB%4(@#?Xxv);CA&za&3-`P!L4x2b~$JoU2BCngtyq=FKolf~<O6L+? z*b-YlwY&=DCu~!w{FF_M?K~~(!hW(<Q9CSZH?6y0lsJ>;L~Wp)Sy8VO7epO!v$4vk zw}`8vn%xYxDXNON9c-X{jU9**Yw-cmg$=L^4h3%k$ADR#4^WS{qFiA2p!cZmLU|r2 zN3sOvFCxTjTx}Qg;YsjmaF1P#d6(Gc&U0g+`<T)<?Sd!3&%jIIZ=f|=)cS)R!7iW; zjE}Za?TtinL<ADYM2qnkfhEym3oMToqkWQc=n5jr)VtW5Z+REfvWsH`SAv_sUEr(W zTi^-sEAR?2oCU^iqt?2{mTHl7t`oci%<5e19!W>&>lQn<v&O!N_4K&fW3b1V(jQ|5 zwK%~5FdW<!6HM<ZCdY~KrxWSChw`{MvB$GI2Yb+rii;;M0GAUrb^$p*#0^3(V$SIC zInHuY*L=4zr9Sb3!QhTiQNGolPje<Lel)cv=iX*Ii)t)6-jB|@!{Wsl#!*@HORX_E z>+<6VQIEUg#kFHzn3xae;yKRPO>|sby@%A;Ws1`kKj9@>HW2KY&`8S;O%U^~FyRQ5 zHzWkovMmV{iQgxPBkS%&@w(%gL~*|QE>Rp8Vy<c|zFRl?^l?nLKsrW#=5#%B&Yuk0 zkJGvd7K01H72p%#X7D+1A9x5n0)7U51O5W??xHm-7z9RvJ&1NDju*Pu#oa}2cd?Zw zfnrwEJF?x&Y2>@Rmss1*FmHDkXQ#jraW0bQmX9f)p7>1?$7x&-vHg>J{6zUFDE9*g zfkVMxjnT9XvwKXZ^FUFL->klDP7gW<I=4WI=a|y!o`R2oo4bng7L<2_d%%Olw)5)A zp6OH;*9Brv!K}`r_F~WbUG41AUUz%iS#7WTh|l+WfcSc^5~@AgtIShlk0gKY>B~~b zl@aHGuYj#!`gjpv0KN{g2_ljKE(G5Ijax;0AXo{$1zPe%d?>gKd=K=wO~glnHQ)&_ zc%q0;0M~<`fnk$G{C02)covMw7xC#}J@_q{R3PH_feql#V9M<xJ`dan{s}tn5b=dz z6X-HoL`F<@1o*P`;MZW!DIzi-JOujRDIycWI`A^sZ>oqd1&@Pag(7knxEs`_iAWZ> z7W@KCoG#*X!8bwQyF}zRunznQ%qSA^<={tP)ZHR76MPkPyGKMugB!trfT{P2cm?=A z*ky)@Oaos8wV5I^9DEG?3hZ&8h|dQPgMqU|qyT&t{1qHnEaKJRr(o>;B62^tAM~6p zBICiW;P+tq10uczJPwA>5s|yWmqBx`h>QTA1kZ!L=ZSb3_%7J-K@ph(?gak;hm?r; zqu^;UalVMm1>XdH7l_DhU>*1qnDLN^F9$yYqe?|&Cip7oRwg2&!HwWQz|@5zUID%j zc3C7M)4&%&tz1NggO7n<fjufjd_H&>46GE90`OVzS8(9NB3=!C3dSxLk^8~@pyv`1 z84qp+zX#Koiue-nI2itjh};dn44TVCWCZvmcpmJ%T*S-3cfpP;90B5e37x*;=euNY zFL7rp?r-HQ7x`)>H6)SZ^4@r0Z*fk}>U<;RPwqX6;__S<)JH5e)PBFK!NU89d*g&Y zE2wr)=u^ZSx{2CRK7!-=;MzxJjosR3JJn9bvPFGfqw<_SqOVd!9_b^NT}=^<J=sTG z7q+5JnSTm7UxMF&qGi>l^X%QxdrYbO4T9dpw)1n~4WU%-L=iiauK~sS(%me*I<wR3 zG8%)kg&V!bls<QZ;EUh^@HqH6c#hciN?F{=x7|yNcT_aiC*>}0x?4^W*WbY@#Z;b^ zBCbvHU6%;H+&i4@PT59$h3L!vo;t+Gmwl6(?K7hEtF#P#MClJ{^Qim_%3kRr5=snb zk?994;VdToQJ+36G5s-OPht-?zu%+86+{>Ip+j8dzi@cd2*oQGyWB6%wVUBTru18f z;AQX+(8v&x*&Z|eU6@<O{Y2jkF*iap#2rfl*aLj6lgR0lA@*!W#ylzy%6N!4BSWn3 zqbQ3ph<PPiID~fOYpBrP5Bb~G2t_X%>(c)$F|q%*)Iw2zab>?BT+m-!Lr?Z}1lZ|a zj)BC7DXz0s{mVRcRtr8yw6oXxI|Aq)mG1Ukn7HHWL$5U!Vur7zeevjkr)bv6cia9p zppx#3o*5wK%nJh^rkuUtrvsKz`5UlxfVi9be6+ZaS~Nzi(F&pqdvDAJ?$4@Ld}R06 zidPLt^w;(h|8?fmF)r-Y%#}2Im#h@rbhEf;TeI>dx<mU{EjRz$d>8i8N^xiS2Ke4e zaliMkTHvw&u1C59!LnCYinU->g1%rxRU?h+rYhIioG|f@=o)6TX41MZgH;A6S?SSl zR&$N5haF^ntn_o)Y@e(n8$))yU8cc4y~fTt?N)BER+wzXWFg^<{;NbQCQE^>Vg0NH zwB>4GWo(#rDz~th2$5OF#=tC*a=9tiyQnS!R>tO9XK{Ddtn5+PWSd;>1z4-HqqKhR z%*QV4PFv@aZHq>mwC<(cgPoCP>Ernn_hhZgMtklg3y6`uKkV5^whmUtmV0J%FLqhk zTG*Ue*~2E!sZ_U~o>dj=u)}i}*}iybdp+MGvn5D7>N%HtvtnhRdLHFIEICouedGBd z_hp&gq*=UL==)BZm38*|n&xOZJ<TL~=<W3b4`cyJ()xR~@(!#)S+19^2h+W>teZ~O zk)<hHNY;s!E35Ky*E_RI%AWEH(7Uj0;-M_+q0y@o*)gYO^R6tom#lk_>bkNFn3zl5 z=<HP>joH0B={9zsvo4$4**vG+q|>{tFgZh_S)H>kn@6)(oVGxZX1_Tto5wI0@h1>W z^jD|Hun?y`r^m81X_h;EM)CxftE>W6r0j86IcyDk$>&8qfxRv3sLglvMD}$%>&AR~ zqd)ee&qsQ9dKyZu`>#IPJc%{H7SVDG^dxpt8f9kl9;~sC%<SbWtndbD!+by2d$9F* zs;!z8_@32!vcclP4BFQBQf4nUI89hJEAzdm_hPx}vaZJWir$Bv>nrQF(sC(maX)EI z^cBphY@I{ehg5eX+ma#eJF=VTc`IpukfpJ6urk)sFPo>chC!mPjAg)DZk9IF&)Z06 zlLt#%>=$J8Wx+$FJ?}S{_hUAC#!4*LOy*#FMo9b4ud|WCa>S!>ROjwLmk(e8W2D*1 zGTGp9(ngRCWIlP)rub*`L2NxtZqGsNB&-r!{$_URHkrAQG6%DqiPBd4M;U`zF8y7$ z=x;mK4P{lz4#3VSI}Xdqmzh`m6OEy4Pl2>f0YOF<yL`K}bh6=W#uRB&1LpE<mT;%E zRRO(>TUep8Eo39uGN+{(qu3?b8nz=~kTHe@7mDSo*_#1b##ojQD`Us0hw*I2blK() z0oi;4JLa^xWG#2gIwLTf-^w!YX|uUxj(eqrQe7TvP?j1vmu${VSvQ94HWqN7v{`|< z#zb~V*-EO*XOm~ix~Bst8U?II*=v+}2RkJm^{4H5l6siJ_TY*0GWxaULSqV>F-O+L z24(X?<}*)PI@J}jJg41n+{NmZjSMO^?qL?pmumLYh(Cg7uyd#rM{$iYlQoIQ)NxF2 zFp61i35<2<@U$_T&6wY2&lwM}R%w>59j5X*%t23sit9>JhX!K~D^@lbwoMxK@CMaQ zen@71(BX*jAY1RW<3<T<g~>C~d^WCBWFBN6clgAZ&t|~nm2y6t<Fs$6jy4c7#g+0Q zmID*lxXZ>vtU;P(Lh$cKDLVrzV-E&r^HR2Lp<GV%P|Dtf$sS7CQE6;L@Y7V6vPfiB zvbtc?EMt3=?FsfY7qaAXS$8Nn&|JjUD|;UnQX%V3Q|2O8qwGhra%QcRb=Ho*8x^cv zS?7+O%nCN{Vbsw!%jT6V-)V_vCA-&Yeat0nhcwH;j{VK$tX0{Fj)TbtFGeetf{s)9 zayD7nJ+M+`C9ryFY%%O4OzsD2Q<>OG%UQsZt0P;^Las3zOrABUcWF2auV76udaA4A zICBNdSt?qoW=F_YvKiuWHL~+$RV;tGwBN|8MUnnHX!i4-WUgW-Q787%0=<UC(C5lx zuRQE|xA`dBE{*Euo9oySr`73?vtLx^W1X`36U<nNHfe^8Bnwd{*6#_H3X`+o36^n< z4Y|ffz{;t=$IK^~_*7fm*PZS3l(~UbDf^+*^XA`Jy|TYL?J;ZFA!S~j_n4d58D(8N zH<?@Lo>8`v(D^B{5SZK#TiFLNIkK(nW2c=ox3XYts7kh=^XKMMECnW)dz$6K*0A!< zXU(UXb(QErwo=CeU}BGbYu2%q?drC(ze!^scW&j|*)vYNV%D>L%0BPBlRwAKNwa(j z3t8RPgVp6ZHpXc-mmN%elcDVWbA2bPa$2m*F6LI#RyUWw!0b*t${W}erzN?($kxH+ z`t4<wN3k5cC1fh!%aWB%4f%mA-)RF}_OWHsXl=9kYplj;!(Cou^)T7yes&JFhCL9H z>$0EqSkpGLyZ9R{Q<|kR<P+mfRtQ_e)`d)Ud6OkQE;84!r^ybo9m;l-y~P@ykadSb z?shrEnqgu;+~;zbede^eE^o6d(%9!A54kk6*!69_KjQK(yTfVO{5@7A&2oR2=Um=n z+mtOPJHpO5GhcQ&$~ruWR@jCvb6q}QNy@f&snd_Kd}X`4JmPYkU6E!v++`|1!F)Ez z<v!_>O*R8o#{L0w{7uxAv7fsfa5=#)EAtI~+vOz7t(D6~hJNDmDch&4d+1r07M8YA z)@6o%@A4&^<FvCbU$M)|Mu-0Da*ma35}9SJAXIa`z)rx#Hj8lmmi-J9b9ajC_bhm` zY;!^9dt5KG6lvJgKQV{X9&-JOm8i@gx-N13g<Vnhd)F%0E3AkPL2*WL4_o5;E2~u& z7`E2+H`XYP+T7>*I}6z=GhYvTinp>n*dlse_J(UKTP*7=--mtd`WI_b#=}1rk1IbV zmRrQa!(&}E%>kq9X7~kqtSnzyTKM;_y0%W)pzvQ^P0j0R+253K7mJ$~;xr$NRa+$u zYwM#u?zB4HM|;|7Ru^CGJ*UN4{IxHf*3%NC{R}&(_4B^T(owT+6aC5Kp_7)TOq?S- zX)|ErY%|ExNvl$p7Czk4SzGV4TuX>{Oq#_tV!9<%^Qpr+SUQk()v{m}EH0vzhiT=q zj%7yNZwc2Ll?{q`kSy&Px$eVYjj%PAoQN{2JLR<HmPidhea=MPT1%8>+b)({W67h; zXwBiY<(61&veVXD;<d%F)odDNCTeGt%_QrtJyeh0Y3tTmdT38Njb0;YTb*{3rI#l1 zXq$QZMt))>J1sOasGY?}zG><0th=ebnS&z_x2wyI9Led|U{#y9Mb_y~Gw-B2d}ST_ zn-O`$a@8J+Jl@V$&{$I2S}~u9oXS(RFP)>V(^IwYop#o8qec&J(|_U^yJ$(%(qL!Z zL@WKYTv=y1No&+k%U5+`Z5`SiWnyg|TDde$^p~O4t2(jn8QMi<V%;;eq~}C`XEm|z z8Cr=nH?i&mv>Ih%-3Ms3DpRa`rgloziFMD^E-Mr3o~g0tMVoT&4%C8StC@%GN6SEM z8BAXP25B|d*m|ec>4UVloo02pS-ax2ILi<%dWYyiw9?a(rHyggZ<brM3a4pqBeVvm zxw(zf4#DKeMr*%0>$3T1jqhx0^K*T)7Ur~UK1Lf1lgo|K9J@s38p}{ynA;d_veTm7 z#%d)_OLC)UdSPOmscz%72AFImPivN$Y?3Y0El>N-nVHQeYQH$GPM@f`ztA?aac+~e zFxWxuMcZ_@0xenDLECJ%JG8;DHSDNu0a=l<56PxzJ7Hohi`}Mb=j3usoNcCS^$ntj zgG{t}mp1uDVPz~lYP#Fq+CF7BMAf+6t66u;y8cu*Qyce^u!BtWK1+KLCim?uZIRRJ z^jX?wX>4l9X18LkK`keGpRJu!CVGEBYua<Q&AHm|Fxe(Ox&5-J6ISOoSG)VF=?`l2 zVC8H~)K0e&ZJn%RlcQd8TcGWM9mLv}YGJQj?V(IdQ6_pX(+=$ubxqnAQSZAg(t=-= z_H9&)Tcwt%>^EBX#o9P!ru~B3QZ3~*ndxJ{?6yqHQr3~`R%o`@Wu49br(2bl30uQ@ z*iH9p?Q@u1ziRF4YwVIVI?wx1rca}2MP{zjf}K{UuhP<Ba{X3owaUa^snISg6YE!_ z&DziCKWssLjaKHgp6+Y4l}@v|Jf_t;?M8QczWo4}V_DHX-8X1q$`*7U;9jdaV6yj( zTB9=2`zEdC4Y6Dk{b}KJvXxEJ#P-~xZBr(;;8R+QGO^9JX$f!2OtC$m(bm5uO>Dt> z?aU!zWo&=+pKi};#fPOGCwopisq8}ZQ1|Dx!gplduVgzlpJr)ZF@L(fpp`2NBWuu7 z-jj97F{9jH)T)%F$4qeFtzA)eGu6GM<sOll<6{ck_h==`ro~Kk->Y4QRkL|9_qe~J z1s)Zda$E1ydO2;a`>R^E)2uFyTAnoK7F+9nK)c6jYu%f)Qe|1uweD|e%V2U_AJ&3D z5IxA_?`>@ktcl*|z3le3wgXnidc|ILYu1X6iOe#V8GFI)J*@%O#Ke9$swEv4bxllc z`46;purf9__F4C1+DT>8sFf4ip%XGw?1z(D`AL{IH}(bhk2Kd$go*pXSKL3*l3=UZ z^4K@sKiA4-9Uc8^-A`*z!sJXoqlu+-Y^5XaZFW%G5PRJHtg1VxHO8KCKku~W*q_|L z)wVfX`NRD??Xon>iC9;UA2jPJ(W*S3{h%c%6EpI%mI;%+U)HjmR;ORq#yc(2<0oy7 z)1K3R(Jo4(BOub_H|+{c?uS-w@u#vs(Ze5F^k>54*8M|sC=+LtzqEQ-8QU5c>%w`f zsuM?t&Ko|L%ZdGG@|G51W$dN6B>IAo!KbCY7T3qajR$`rtci*J;K3)s#2Ps~to&}L zWpht{ztgNPo_w1$%ja<;xi@cw$*ttgZC{Eu<y`XRgO!Ohv@buW?DLRe9)8?7BQwR_ zs6P*f$?fUSW3RCu*I1e~OI-W}4}YGk?56mU+@BXYGbd8rCTVP1yv?NpZ&I1}#ZUJL z=BHHML-8}nt|(j3`2mlPJoqayvP#P%@e4dU@f2zF4Ea>viRY@ib@6l$%}bPRjxVRo z8rT~4TKrP7Z7_MA4&hVJqD|Vm&v=CJa%q;^5)ONG<?Eew$H*>9V>1#Oc^I$x8q2YH z33Yln->0lR;jATshn<skk0z9R*m(1KVP&j7;S;h;uu66);VZJ|FUZVev|JQ_MHx$^ zPY3upWuA%u@QCI;zmb`NR2ReZVPz~VvD_nu+x{VYh=b)SOH2Hj>h>ucPIa-o=v$dN zG4U_5!tbP&CR(g<yz!E>s>G>0o=^T>SS4GRco$g<Y!Q2%dQaqeKg!Gx6TPj8{2WZo zkO*rpo^Tn<ku7%X&5NX2Lb}CTQ+PQ{9#tv)k}`2rrE<$pVmUcmQ+WwYoNZ!VZsJw2 zN=yH4<sNB#o3gBKu`X$Rmo&<3rN8=VQgyd=o8Zxxix%6?J#8k=J(Em_suSm)9BY54 zHOEf04&tYsZD#YE`9+wVFE{g|pGB*cY*6=+qD~t1E;27mv)tQ#vh`+e{Y7S0b)QBS z?6iBWgL#g!jooKkhw>T9ws+6w!}vUDXmc1}?6flLFuv`IZ1Y0*TX`05Rn|&2oTvOM z>sq^4(r5~m`6R8d-oocN?NRFpe%xsrthxM*)1IbJKU02_t=yPYX&uiGDI1<-b(z48 z-(}sTq+QlL?of7j(yjb9UILT%trK~bvIR+#%zW<IDwaE_Elb*Ky`B3gt4&&<-@*Nr zy-YTl2P=C&X}@&}Pf+%C(tFlIo(WsSeo8t<mhZF{>vZ0zjQ2QZy_=tMT8s5wUi^pX zy_|XX_|AGCuTs_(R<CSRxTrg%YzOQNtc*?Q@u1~Cp7y6`rINMA{Y9DMoaREGex8J_ zu`KT4<#|8<4z`*-(IbHDimYR=^@t=(_)E01hP_WVn`bHeg6sjlP1*Nkb9gennISTb zo^kXUY65-EFRTOEJbsEk+ZJXgdytF2%@USMR>G4EX<0pcc+Tg|%I+Xrz%MGB*E7=d zAs%gtOmW=y_bla;rP1B!2+s;$?yRGC$oVo=H#KCOXC-e`_Dj!v&&537rLC20zLXcj z#Je2AN|m+t6qZEK2Z~wX)k|1&h#Y5luR_nI{F1U{vPXDG7g;xqY#Dbbn?$ypU+E!R znM<v#;77BC$*a=}9(IeYJJV~J#|rL{=Jrjm2_7qXuB!X3S0()&(;QeO^G&YutmZXN zdxHMDsYzvaNv`u;$1f?1Cwq*C<j5Y<l6QDM&Rbzk+KA+Rp6hwB_@)|Kze&jlJ^#j= z=%-tR-9xsSpM*7O3zCm}KFyOyiMmS5y5w`7b$o`hI<jYYJ*=F)np~%E=Pj@`tU38d z`pc>!dj3PalOHy&(DQk|Oj!Zh4qmTp6WLDQtn5p&UHqal+xSAy7r2$41Q)GLA#30X z%AO*7k!LCUnrt^OQWi6zkp7};nX+kQd-x7z&yc;$k1G3yY%jm0EaBEd&sVq)J)<l7 zyPIquPg3?A*{eK9*>_~G@fpgJ@(Mj)=T*w?BWvV4lr@m;=f{-&Om=`@R+e&Gq30Vs zfS$b;{mmn5;>pVPk-f=tmHkO}kQXa+Of00Q7HX6&Bs;_#lr@nZ=Esz|Oe*wzn_pHo znCu-MKu@xW{+5z8^JHbsWbg7^WnTG(p6~HuWjSO=c#X1EWJmc9Wyi?g=SP(V6%=}Y zz%MErNA`Da72mZ){XI^0jJ`Ho+9|T*JX2Zd?S-Bvc)qfHvJZKQvQ1<s`Fdq%$UfqG zl-chn^!%8gR8~m#3BRoD8M0H{2S;%=yGZsa&&RP@&ALsluz$wOmCYq<;oFook$u6N zm3dF8u%F?VluaNz%LDNB_SI}F**T8igrN1iM0SDask)o)tgv6?rOGPFzU5n#y-#+D zA5s=FwZi@bzo={~*<~KkRc@tSWIyv1Wq*)e;d#mi7gpGR<E6@0leO|K%046elOIwR zJFUXb^oz=h$++$lCVP0D%+QmSxlgaKyXfPTjUlt>CCWCDx$Cvcz9qBjP0DV(tHSQ3 zUsP5}=A-+B%N{-;^V5@+g%(xV1N3pqrjrHfCCYY_1?#oS_}vxuPI{BFY_bsjoU+Hs zLUn6|?BOg~n4YAp=RFnn2t8NX0y3LEN7>tCcD+_v(7hG*7`;i^?PPKKIc3k0CFoXq z6IsmN-^jY@Ny-MzsIVvLxyn|N_0;Dm`;07EU#~1~W`(_v-l%LgS&Du}*#WW}b&E~* z;B{YxJxxzgHi4|Ko~!IBGKW4#*$-s>_4Ug7&Z@9y>W#{lk`2<&C_6zmSf{tXu?`W% z751Teg0g$avh*Bfd&#o(Vr4G(SJ-p(b;?GPjnwxk+d!79w<x<nHbyt>vWGsiE9~R+ z7-b8|Cg@qp-XqJ?XDI9RK!tsxUZd<zvV47yvR!1i>!+0cNj91Oq*V4WbWVl+PTi(# z4OyW+SlJh3)Ab@{-R4%<i}WgG^T_Ve8<ZU+o1vdn<~OgxexKf|Y$92)9u_0}dxmVb zo~i6-vN?L8vi=WN*yriXl&v5u(RV2Om~4T5Oqso;!d|LhQFb5MLOmo__V5~6x$aQr zKEJ|VsZUlmhHSCESlK4BrTPwK-;yoUk14xxL4|#VennX&S(P3VCwusSY?ba%7Wz<y zy+)s`Y&zK*eX+9LWb5>LWxTY){<wZrSvJ{v{j##h$u{W0@v?`rWVO0OS<kWx`zF0m z*#fdHdX=)b$)3{pC<|IxVc({=D7&5P8Qqc~+kB3!UQbf?8`*REIAwztRoHjvrOH;3 z?b5d?`;4qXKdLOQyu!X)zoKk5*&aQNo*fm(^Z~NH`e0>V6&3b<`V3_g$X?UeDSL{n zQEycC1K9!noU*=^74|0Gr<-hZDcM0iMcE0mLwdflh=(ieZ|jSd-9y%_?@+dv>^=RM zGMB{__M`e0Wh2Qx&_lY*9yX92(;dn#ke$#cE9<kQ!hTX;tZX6K$9lc8_sCA^N0oJ2 zO4mRAva&nLTJ+!~*~2cfFLZ~pKgrJMh02CLLf1dNO4%B+bNU`-UyxnUTa<NMM%O=` zJ|e@mo=5hro}}y`*(H6PGQZ_?{nJa8O(eUlZ&UUR+0Xh>Wj~W$(F1Zto8lhY;`N)J z2a~UMf7g%7I?JcYBl+)o+UT~-0I%Qm9GJ{()f;7<<!8!l)ve+S$5|QEdUy6})pscK z>K*R&r(QrmZYTT8=6~rAIL+?$mtF-sORpa$nal_qhfEgL+vdWJBx#oJy^mPv*V<KG zTJN4-x>2fZLFay6rcn!9!-n=A<mF=QQOk|)J>1LHxCoP@b~Q4`iyjVYGkTAsx+WNX z^4fcnm&G^-D`OSCr;+8-Pm+nuWxZ#3xfxsN$HwR#I_-(x7B6=rI8WAPcAm;Tj1*Xt z*3^5pmxr-W+0owfy{yJ1SS9;M??qmoM$Bzuxk~nX?~&ZoD3V6|VKvnao`^P?=+DRa z9ahd#`dGYtjo?XgxgmXOz5I+MX|$Z3EZ1qPz5I=@U`<SnGsv*!V>!y);nl&I<}|xk zXQLJ-GeeB90@=HGhNp|sAJ)XgI&?AeVPd|#;T3AMs7x`=aKnDPSWdPQVWh!C=25Rm z;|lB`*2r$GyW?tRw2?EpZDgN%#TZv$<?KaT+jt}CPEl9R-XKdbw!q5Rkv<o^5{<^G zqE7D3?uNCnt(D7O-HjbE*<UXsW}2vzBTF{6z{JSxUcHSSPBXmw7$MVTn_`VpjKwgy zT&i&qCYJN^zR}3NtF1q~SGqADR>r=garQM<DQhL`XEeg(I330pFu6S)#$PbeW~6t9 z5m(gKW}^21BgbiWuYpFPG!}jXJw<A)yjx_Jv)(sYyapLH%5EmR*=SLgOE%a@x<_W- zNjAh-tZXjXP-C;QhslN+Zzy}5EXz0tlcT1e`ngxMB1b*k=mHa??(Lmz40KvHA88D~ z#%Lk>@1Xh14FkPL8g0f?26~Tz={WZsanDsI-l4O2jd5CIY?k*}r-^syCK#igJ?wM6 z)tKY71$v(Ggwx)o?|eBqLyY>M=8-bid!pewQ<`|+JKu;<)+yz<rND@Si8adRw;Pl1 zM<x@?-EPz<6Pc5ZvoM)C#rVx>W!5Q1*le*}rDa6QRDP$CqU`pRGV7hjmibrPoN63{ zm9esv2fe2mKf+|2cNxDs?OpvY!)F27q>;@xi;R&@TR`7bGY7VYZA^LC`(9(6tfOc4 zR*~&<+TG?1qgC0nDUW&2GL}8m)@B`ji_JQxZS<aPY;{_lKF8SUw2j_#jYilS)|j&0 z`$6N3viHbJ3`?nKa}E12WtaDSgZ?~UYzZ3mUhjtt`tv4buX~pogQZzc(N<b$lq&l= z<xTH}#yVw}U^}F-UsDcK-7%P)kqeE6GW18E)E}X`qfR^Fy~w!eH2SU=!?Lg~^Ne?e zVRPCy-j#;KX+L;BY~(rZSMSBf9H%j#B}R?YTz!@rJDj%N`w`=i)4Y6^8O9>npPt&m zXStE4%$sbbQ7nx<EerRlHmX!zPDHrRYU7Zq>yjGo^Qdt~)!E6`8X@Iqll3Nh%t(=D z=}Y#6QKjmJl09kEtGW?ne>2us$mMP$+i2{OW+@=sY$R05x}wxXpRGowG|Mcqr;H+1 zHz*>}=V_x{)s<7-He;Qtt4{6XQ)eVUELy2#Yg6C!-foOj_C#u$&vv6}v8a>J8P^*Z zm5EQ9>W#1^qE5WapUs~&5@4$>zo(A!dDfVt%=^aiWGj_*zHt)SI%Ux}-s$t4(WopP zc23zSn9owt!)i+rEJaxvEMM7L*kWbR!FDKn6LwPBCouMiZ1V?Lj57C|#8`5a*<f>& zrNC;Hjes3eHU)M`**sYAGTB2l%mG`&`lN559%eXgtIzYsKBv|D>@cj$#d0F^1)rTp ziPQG_>@t#9wAH=g^McX5Qdl(`nEsAWgK<e&cKZ81FB&0LvTkhphd#TF$uQC8r#>$k zY1L?jj<_>EdyHJCedF`8QRK8AeD)gUPW#p86=S{Aw)*Td8l3im&#OkW(>D0LW}I<a zz0d1LtJC)SG#UY`+InZc`;EcM^3z>?4;aNx^YVSesC8PPZ<EpNv=HAnjVn%z^gU?U zR?9Z?)8l;KGIE^O!}pL;;<Oas!^SqJ_49q(IOViKzV8^88qtb4*WKdVY~(m?jPJX~ zA!)2A{WjktM)IS`v=pb`PL?H&%}>9REO-s-SVek~?@^;z*^2c0eBU>&C|jF8$M*wc z*;<+TxAX<Re>ck4Nvlh*^gU)YDBG3(iE+$0qik>bQmPAhOlCHvSCM5ZdpEs?tXSFc z^mSyl%DzZ{)BCv5EX^W5T|I7GgwcC|=^K2H8)1)&Hmljs>05kH7=xAlp1$4pLu0)% z-uDIHkBo6o$V@M?PmSdD()`Fy8<Sz;nc&xazcOY#DeBf(^wdMXUmI1*yvfcR_0GDZ zzTX(ehPKR;zW*@7lzFEf_5IFBbJ|JY?~QTJ%og7tjbdkAi|<cHjj|4XTYP^pb|{M^ z`_(wAtPk1m#zkcV$^I~`e?#wdF2CUWmk}e4o{zlXtC`KJu1o3#U)?;X>g;5ud8k${ z*PG1MJR^<H<rjS2OrK4%ZYY_DnIO$Fg3Qw#tm<wf^EM}|x&ks^vm92<ZteTCufG|y zS+qj$y7&FvH^9tO_F!MbuY=jFY*}AFzYsHKi_BcxH`Fi8v~88Pv2To@%{-*+*}gsf zqRq*5a%B7ZI{f0zGq7s*M&BI2Zf5Q?a=Ewqj`!<fRw;Y0Z@ynIvsu~kzFT~6FtfJH zR?hXk;G1F=O0)b(cB8qhUe;;-F8HRI+oaJGrWbtsnn$0NbskjbFfU58c$4)veV&(f zq5Y=&Wts`nEHPw*%)vWkU2n3%=45FW2iZ`wYNxC#N-g%wGPg;i>tC_oaPu6jl4bXs z@0V?|UC6ZD)~}c>4JNL5^Zjly3za>Qx`^zYvU~e2^~*6AzaW;Qzboli<2TaGYmhdZ z+RQcQz~tRbu34k%`dDkJ?#zoKvzoo!Z>!&EGiSFjc@>>tu2&|mq7%%cuuAr3zp4CI z^P;kislqHT$^MR_&IT)EpTP29XSLJ)cKY3FZd3M6zukU$=00Vvj#tP|Df4w4@Vm_n z+aucyb{zJbXcoOJ?5t*Uyhm22EZK3~Z<5)dY;XE!e);AZW&Ipq`xTh2$_6{W^}F44 z?3JzTO8?344s(XGchg(_CY!a&avZw<6!Vm_aSnI?JIyP~`dEGar<y*m$W{s*!TyD2 zrm{juxc_vsR9RhmjQ?Hc4rNX0-TjNq7T9U}YKlJocbm4?MJv_8x2y{Ayw_X|JIJ;= z`upE&wkT_G4D+99+V+dggRGJ2ip>&b?>ff#&o+-A5Owl?exCWM)9&z}XIkGt9sNzX z#cRGfSsGnC7WpqQ52(6ZGM4+7nx88hpOMWMnU|$mZqHcfzsR&U$yO>eHjs^jm9cFZ zK}NaRBI~HlXZ$P78E+!fawOvuW2spqjs7Ndum4i>qOxi6`~4p=Lk`L|Kg&4mzucr1 za6Uh=LYa7VcGSPhX^pWb{8u@xIkv@rjX6}dLcRa!zt${KZHl#h%q)6K^ian7_qTXG zZr%&4r1R(R{!f@CPBQ|YG`GPPQJqgftr>GjEVqc=(!WE%Mspmjl8x^l7O=@|l1BYy z^UY?n)1m`5n<0nAa`MR8Y9=ca?`v!|OJQfV&qKNgY&9E|ecT~6;A!(CnB0Hc%+uG{ z_f8ucu+2<*TW+&=`)Bj#%$j%P`hD5|sQ+_jgR;wHJIoek=76LAyG(1d%<MqcU}h?d zA=_=vP&R;UkGW0RM6$hRi?VrS`^>O+(L1eso&K7c;Ixh2ubZh(n-s9$9PYF_y~&*9 zv~2$7HG8_v#GalO@RoDmHpbo)aL8$5PrqXp%2sF}JrK}rE@{{15wjXrhP`scTo04y zx+CTbFnNp}F&mxB?Q=b1mb@por<s|}kDB|GdBM6Lk#*uPYmS<OrCIzls{`IQ^I`N{ zb7r0XzIjn)CT6Y;_`q}=mCN-e`@2~KD`Sq#4FSi@fcHgR85=@995eHj<-&^aB-d$e z(&*l{V`h`GU8DPvol;hxGnJN`f#<qTyImYz?s3d~SelkTMzpy?Ss|=OWo{lbfikzl z#5@Z!sE2#SSY&_4&Ey%<M1RN4EM=m<<7SC8^mp7`t?ER7$IZu;iT;k8wJKBecieml zCi^>XCe6Is-wCr;ndt9?xks7k?}S-Wj7;=*!dxv4>vzIjuT1oJ!faKUqQ4WSzw_OZ zAmfCY3@c+Ft<2^hnwhh&_Wq&SpiK1sq1miV^!}kaxa4Z@ADWY-q4y8XLS>@&4^121 zIXUendjHV82`1O}Lo*Ln#uBTt`AKt$vOzHVK4f-#rua3JBBCtQx1F>rFGKALM5<7J z0_82>Gl;y1@~hyR;5*>4cKk|}IrVi3<*0$8-yTHz#ud<U9dAaCY-cpevgP(=F%r&h zqgtKG-rLvSi8hPC`<>)$A@Y|ZvIgATj@wa|OYK5g{9vL+-`pbldWj-Bdjs)iB3EUZ zBWh*lwfsBcl5*=^C8uBZ6-!->w3X!;<alK7vMk!+_-lXqW;rY?DO)fGU9G*o>_xS@ zTGo%s^qnEthH@{rZ|C~)hzMuFSn6tR`^dHBaP-y3na^4Kh}ixdYfZo4iyXP{<O~cQ z*|tqM8;f@CXxEM$c@ZKr!P!L4N{KpKf=CVcI4DOh^PfdTmc<^_*lUQ$y&!oIkt0OT zJ|OB$&isFl(08REQ|_s&^W@sSFOCkb=DEz2kuTBmw`f7kK+fd;{RNR$B4=XG>r5U6 z?T;)`=I!EbW!Ia<8p-wQh_V<zXQ3#|e&bM1byDsHjfwGaCdbnswQ~O7jPh_$jzrXQ zCTevyfyxG(LNwVd<j7iibk9MiEQ@W(*#e5_Y!Ncs&%LF{tU_FFrS@El_$IIpna`pu z_wr7Zcemp{<TN4DKED}}W8f*|`~&45Q5I{evwz%7KWoogiS#}DgRebCM6HO3k#Ocl zwe-!U$Ps0(%GcM*h@3@N%Q_37rRdjh(LyX*=tk68G9u}Si20z?ctpQ)pY})Z1CXO; z3u<Lqawux$%x`~&Y`>M{o*jiuLC$3D1eEU}>P#G!hPp1uxQOT~BHI`7YcsEogtNP- zR%0R}%Q}1Dx=1M^%fPGS(OCOYwI8{>YOJGt&Ng5vS>A$j{dMvGzd15roCi40{B)i~ z%W@12X#bUV5g9*-h#(!g|5Vo52iN8QyLLW7=6`P+%I(~K3(IXQ<6ofVe}JNQ`u<Yd zn;Ncb8f(9Qe?o2hBeeZ^v>{?Cc|MV&ZJ*h`Ec<n*e4PbhDY+%vFZ;h!mc55l3vILX z`gUYrG3Z6+Cn5g^MAA{tMEUw<uZ}@yLy;pR?aOja1-Z)kcV)ShJX+;QuJ2LC<(TCN zW%>H!Mb@@o7uoXlZMGltzZ+ZoxEyDDj>J}yk@n^GIoFqO#ZraXZnE|Pl-sXk2}N}F zh%?Tah-e^Jad(Pvwzgen`?Z$q+kX82uKe$|gFH4jqTlw*$}vBW-ep-{k6yw^#P%0g z1Tot7bNiojH1-Nwkk|18D2tKkO!P(HEd5UrgS|r$6HC!I`6EZpfnyZc*(u_+M_K#r zDMr<HUi}LBmk_yri?!bxvMk2aHqYf%;A&jMXxnBu{k#+H5uJE#Ty7;d#N~NRj;(z= za)0?DN1SIk&M-O?d%;lG8hPdvTc+*m7K9!nuUje!5qXy-deP91WZU^x-j}vN1E*mr zxsHQSmiK$@U(v|?9IDlEO*e2IH`y49&^NAQscA&6_K4g^BGR^xu0IlGk8<s1qJ{Qz zLvAH`6}wv2F&~U;=7T)a1>4ShGV&1GTn;_~ZU)8u7-#kE%HrNkzb3N#x>^}|4e>)n zy6;8#Q&6_we$UEsDvk(w$KL*KP1cHip|cBU;TN>&It()wWj`wGtbL??xqYp?PPLz7 zSC0ZY|NndBECgeSCK@b>Xfk<B$t^7R@=X+PJIX}9cFnw%`?o#iQjULGN@v6VWyDZD zjz+EII4W~?2O`r^o=K#;CPd~VB64(AN;Gg4)>!-a@^<mZk-wRE?a0NPr*G6mZTmaA z_UrPWa{DdN{>=ZMvV6zjKilCy+u=WR;6HQVKXc&!ojD-xzBJZ=D}Df7<vH7nvV8p_ z@7ClU+5yDn`$+HLPT(ja^8QD>%cQXrh<pZKU6$T0L`1%mAmW^fdmf#AdtIhnO6G`n zCUqv?g^=Tv@gK3Qxc@QOmFrsg(;4B+JxjFUO>FzLqJ2A^Q5*ShYQ?>o&bpyiE_Ich zr8t*r>tz5%3^vpmm#@Xz`jsOe`7diZ6YHY0+pepXJ+|L&1<o9fcgfn?zdE+Ie*axW zZXZ$G_O7gWC)QwvXj$$@$$x$g()Q|7ybjf`dEFu3Ka_X%^79ed{wB-{`FcmZU)0uu zjLXO@^egY3+AnqWHK4|>e&#~&+aq80C0{AarP{wk-u~TbalfkJok`A?VcF{=ucU~a z-A;1)#{PdDS%ns^XU)HfuR(lWyW0PoXTQg(U(VK}_y4M2`A)_4<V>EaB;{*!xu-Uu z&Ho;+-+KT1ky`Zo-{a5tY%UU?&Bdg1+T&ZZ{wvD&Smb*MSJ#xYx^~<1St{$;N(S5U zKZyUob4B>C=1JRp_&=Q^=hzFhJvn<3TUdUQBFdcYLF5&p!9<S9<ld3_qD*He)V@lj z-+&-;CXP@Ytr_ZbnHOpAb0%`yKB;MIf!@QS7Q`nzvW2$w74g^6=3%t?4wjWix9FF% z_fY#W%3|iwFIiC8P;r^r)|wdG|GX@>jBMwBUB31hZ^3BKV6+#mD}Rf~Wz>o?{fZ@# z-rFRaj13p#m*)gYPelIb45D^8`*-a`p*8`1$us{=?aG6wtgCljWNr4ptTmX7Po!GT z#Pv>R)18?bn~nGaM8xNbZ8`G(=V8RFuB%-~5rc^w`g{|2R)0f|VB0%#TM%h~ZG9fK z4TxVY|Eu@+<f!E5n_}(SuJtdYg(kFcwXCzhBl0CEKFz1!yhHgik+VNgZa)L%eiWIU ziFS16k}cLKfM}vM7bbhTI!^k^OSJaS<Nu$<ufIl%h`fT+=g7F1knc*h-;(kUN|4^; zz3wjM>bqO?P9xS`-nYnh<fpw6w5A%9Tr@_MuVpq%)+$*k+r)a)zf}5{&g$7Nwwq1Y zcC$MAcMtu`pnsaShhlpuwufSSD7J@UFH`JgioHy+mnrr##r9HcFU9s!Y%j(3QfwN1 zLwFzmA)0t<Zv;4=Sf>|&)4-YFT(AsW0#<{Mfg6cs);eM~--+_ei0=mv6Q2qAh!|v? zCT4RRyE$iPfQ{wkd}7$xgq&9b&T9oZZv<GGs0{!^KpS{o6HmRL*YwmA0p;w@oNQjq zigJFWvS^{0EzWTX+@fvB2@R~*26pU26wfSad_QF-Xd>slb~q;|FoAMz4Q!yCd#HRg zXI9{O?W3HzRGu0#i}*E-ssYO;Xx~$<8+v!c_o#~&P6igUD><JB+R$b>l`m0wL(b2E z`_Se-ENjz5yntyV#BYO$HHrm0a#0Q^-WhaWi|bLUr6OL<#*UaBluF-Tvmhvhp5qfE z5$hO$(KeywCbaCv7LV8yRL%6%SE+@=Id2B-W1{zF<YaL1Or?k)3$kfzMtmI9jHT+S z%|C*yw2prS9i#1k#NDdZkFa*IV&tc=?0IeHh_DVLc;kqu4yV*oVl7IrwfA9vm7tw^ zY;(~|eusT(3y79&+Tjs%UDhKfOJ$0&ok9C&&}Iondl8X~h-9I)EVNV2ylK6P&|@Al zFC#M#IhT>2i*g?F^UzBsW!@Utip&J<_=qQhGbuhRumNnvQVqy4xY+Nxh#OqYkYtpT znb_~e?6VQGX#a}+o}gVAu`{3m`>O%tu~PYndxCb)$POK+@#>Kg9UGXKKgDd#h}j); zQO?BJlF?TH`pQJh0qCnEW_~VeLr~jMTRXC6rx4W6L|-%cZ6VowCf_!)#<v9PScG|A zgkEeILlzVJPP8U|NknYn1ZQi#J140167we+<5`cKWaQ8<*V0<2VQ;3<y8jWBhT1gL zrlIz{);O|0Bok|tpuIJ6XMh`ip&}V`RqS`yE}7USX^3Qk>(N&h%DF1@_{fD_tT<A( z$Ze>Jqdt?1<I#$vFN<%;sqd1D-be87M!wQz3)XiF*0&7f*@B}xk1|68CsSr0qF9Su zw3drGT!a>iR9viA6UI}FE!KoBmWNSI28+OAQ0#@=&=Qo(iS+C?woEw-8YRkIM|~Vr z&g`RRg_dKxiJWY{1pBL+xFEEnHf_{WuxF=Yws2HcXbFvWTWC2(Rj#(`;he_Mos?gv zhhXH((9X-eZd78|{ruHYsa;>@-{&NDJ<N}fnnwI&)C`KZj4JKAk)0nkmA{X5*~l7W zAMP3=&p-5Z@JcF+Ij{_Ug=k{TAvn^Pq2Caki_UA_bmpu<k2ToBHQ1^(*sANXRo5fG z2HUNMw!rL;H8>)gu~Y)K$ujiVgz|dCKf-pXL3|&U-G|yOs69=!L3HkYAml{Yc`YTk zvzK7FS3PPQz<pp7C^8G^>LAWM=V^wlbv>{3&$Wl2*M{aMgxfGzw_r`TV6@GcC(YRA z_1NYOsBNYeJ`ZeAIby!mb8(e9hF(r#?Q9t58I<WevFPZwVV<1Vz8fjdqN8(1@)7Ec z+CR5G{1mp^8SogEI)&EGsFB~6dn|k!KbrGh_y|5FH>!i1wk&tNkFUNfJvTxyFQTLV zYVNd%^V)5>B@wYyUKru4y_&m{YTwP>9??VpEcb2~U%e^)HHtK)AEZoe^am)Pj2NQt z>-&AgMQq_FjP@c%dlB2DS*|tK7h5dyqS}T&qsK-b!<a>UVx+HLm;M0Nieuy=Mt)gQ zY^7FYj^II~>mo1X3=n|K0Q4KcVn;t8d7jQZFGjY~QlCT`IH$SM?>G$eu%a9QhA4`& z&@tLC^<BgsjJBP^I7jFka{AfI`0ezxa2Z7=c#PM@F_ocB9y`#Mq0JuqiBW)v6|*-0 z=ZX+b9Enz38AWSnZ6DDXek49SR*#yizdUv-FVo+pWy^GNw_w8<&TAizrK>Q?hv_dU zyG7Bj7tr0p8O;2P)O(-6i`Z^U^s{51j5@FVH1-q95oh&kjNvkl`pei3$!I4{6Zalz zbcLPWF&W2NGLFH^Si8$;Ee)B)IMRzT{$k{`BBvEOzIs2$OgruU^at%(IHL2=avoYv z<^5NT<OYo)$S`zqJQ}*_SIm}k_7Y@@bM+PbdK`V3=rI%H$wX_J*m{}h*Q$$apH&xU z&T`C|07L>1$-+`u$P7U|1o881%Zf!_-?QB-zK%Z6npXTH`ZPPb!s_xp=1d*7&rYIG z%uYRcWrvvatjEgGn8SK1JzJiIJ(Z=-KX<KM>zaiT+Vqb*)7^qD=9^9byz@PQHvQ|B zf?^IND2kbrK=Y(aY%<1^jPWF3sRZOFpq&J?kc*bj>-kl;#1_!l=nj^+(c4XXsA^_x zM_v4FlGs)c#JaJns+F<7QZH5)%@CPG^tGw$V?{ZeyMaUWma6r!L-enz`uGgdzX88P z<VWxq@OPpw<y&1kVySBS9U8YdjYi^4EU1o-i=}w?xKv`lIA3i?^*Ulv`o_2n<Mryg zxFN>htB=QxpxQb;18Y6rxKiCK-j`YkG6YA&i+G*hQGeKTYWxuW!;snW1;`(we?sMH zC<|^#NJ9&0G*9T7j;)lYi?gV>y6sO8Je(lbx=tT&bXzsSLmb5siQ+DT+E@2}$*W%J z(oq|@Du&|X2<k{jT(?BAP3rWS#xtu1Cswm>`i)I2W8!bG%9!{ot1`@l@y2_rY7&bu zCyOw9#g*$biil$^i}qt^U@q;)K14AC^Qhl!UPSEEtr+DJELDPX8TEL?J%h@Fx@Bmm zSCv^av_Dr3r?R*^%Ai*Yqp0k)TKw`tr`6ef8Rl~y=1CsfUxuS~8Sdql;rPwa!d5Tu z=0&eE7inJ1!Y&f6OrzgP^kII)0M?INSU#ig7GsmyaAF}FNi1Sxi8ELpv6vMQ*CVGE zIa`pk4Yl=bG1cy1%ZUwa6>$$+OWeoS6PvKqAuM$i<zpzHL<<RA^qa&*zsX$mo5DrE zX<YQ{;G*AL<cvdY9^(02^mqpGb67S@7wzQeqMck_v@=c@?d0jAoqS!iL*Fh&EJDr< z<P_`OT`g>mo=hy!Q;DT|Ut+mFfVd3#RmiVF{yMa|9&Og5%`LiE$8Gvx%CFbOsCMYX zsobECB<@2CjcB0>EgZtK&B#28evhGFt06}2V~CLl7-Cc*h8S%a;^R=xLpdKglMS(U zg@#zWBD!YKo-)KpijjHB5F@df*>3b}pXMmyK2x;TXo_B%Owr3BQ!LwTip-;?=<%4j zoXRK7Rm4-K*n=%*CwJP;W>?}lGlqE4Omuf)J}z^K0WKxPV3&u8AubDvVJ;O!o6BNi zjLRd$1eX=WB$sMpvP%sy56k9b*~u<l=(ke~kza)T87^TS7FO#b#<|T!jJY1=9WG+b z4K8A>_qd3Wr@4w+hpWiUbQQIOT}3?0Rjg5t>kU?#39e$j#<`09o98O_Z@#P8zmr|X znijf>H7#-#YdXU<jq;0K#rn>173*8#nn96L*FnT`*I~qS=<y<Yyo4SvqsJ@gr4=nR zi)h)fh?e(xh!Hk=h!Hk<h!LJc<RT)M5V`Cj#(c#?jJefAjFwr&Xw!%u%we7HLu+TP zBo4MdLd>#O5lgJ1<x;C?x!fvRUThUxW|>vAR%I>FyRlo@lGtwSE|%N98=FN(TsJm~ zb))hy=1zPNwU4j~R9?-d5}#l*h@075VkFzrts9F+W-k^<k(-b|fLPA_skJw>AGP6n zB>!EzJ7|C@%F|qWdH0E10&aE{kuSkAw_Y@Fb*qRB0MB@e7MQn)f9WmaclZfL26%WM zijAb-dlY4VZ^{q2$$Mbj8$rkf^$w^72Y^PnXl*js5`KqexPAs@79q-Epu;Z8rC=l2 z0<vfkcYvi}Eoe&=ZJy~aSldVBw1AFOQEmiVBySQCTVIi>_3K4@WPgSj;b~CoFUsLy z23P==fg8d7;Av1BfP63mEC9>Ejo^OpG^k}FAIty?z%p<nxF0+XY6FoEW`G4?8MqPL z51t0KLC6O)zyh!gEFUD+dLzpF!PDRw#I>8TESLcnfMwuDa6fn&)CMCT%m53(GH@ff zA3P0eLy!+<fCXR~SUv<}LwO6z`%!K}`83MfP|<=hRAh#uoB<YqlMydNc_X+5k^Ly2 z2DM>mVHjFK*@m(M<qR+%EC5TvGO!$(wJ2`{w;<Ap@_w)dJPooe(U%5>f#IM7%mDMj z0<aV;18c#JU?aF6YynS$Y&hBn!@zLR0cL>tU;$VPmVve4Mz9gw54M1(L6(j7!7wl! zbbuLPK3D*jf@NSWxDjjw_k%6qX^`E5_Q5bP9CUygU_Mv?mV#wqEw~YE1owk2;AxQM zpnWh53<n)x2AB^PfTds=SPO0h8^Qfx3wRo2BhWq=28M$UFayj73&2va46Fq=f{oyQ zumwB~vXN*X3<JYK2bclog9TtISO(UD8^K0!KiC4E2H7aI4~Bu^paaYR^T7hJ6f6U4 z!Hr-exF2i*PlGHM?So-pIOqT~z<jU(ECtKJT5u!S2<``4z|$ZbjrPGXFdTG%8DKtG z0G5JfU@f>2Yy|g%O{2w`p#|mBARB{Tz%VczbbuLPK3D*jf@NSWxDjjw_k%6qX^@RY z`(PLt4m!XLFdr-cOTjX*7TgFng8RW1@HEKAp?xq63<n)x2AB^PfTds=SPO0h8^Qfx z3wRo2<Iz4C28M$UFayj7OTk*O5o`h31kpkm=m7J<Qm__m1Y1CMEAl}Hm=BhMwO}LI z0<t{hgAOnsECp-9Mz95Bw;>;Nfcao4SPM3SEg+kSe9!^rgQZ|C*a)_OY!dQ82bd3* zg0)~H*aEVA<bw_{A1noH!A7tJWCh3v9bi6K3f6*+U<=4@M?UBP^TATE7HkCBz2e>} z|GvBEuCf+v0og1OX_+I)<_bFI36_GjV2g}ADB`tX3+N~jkw&lubj%l#e6SG=TY%OU zZub5-z7}i*^D9NXWij%XAP1}k!&cu#_w5d_6s!eXKvpAa!$1dE3f6)xAbS)!paU!g zYrz(ftwAqfK3EGjf^02X0Gl2Y=N66C(04YxLjM@+CBCMBK0g)z>#d2OmFc6s9q>WG zsesb~=K@*-ZVDU|xFGPcz`q4<4Xg{?5%@~rJAr2d-GaIXB?R>eN)H+slpQoKs4}Q3 z=<%SspwmHd9d7P0wL@`-4ITD%IN9On4!whOg6|5RAN)x0bHT|SZ|}IE<0~D%?U>qW zNT>Wx_jX#^X=SHJJMHasqSNo4+&c$$4(XiMd2HvoonPquZs%`0|IxW?NN&hoA!Q*? zg}e~b81in&S0UeqTn^E@cy|fx657SqrFWM>UB-5~ze`D%hr3jDIo8EJG%7SbG&6K~ z=&hksLZ^pTgdPlS4fXDt)AjzYYr4MB^<dX`x_;F4%dVHY{@Rs?g@yGBOA8wwc4yf9 zur*;%hCLPbTv$WcYhmw%y&u*R_Ep%$u+}gh?jG(R-X;9T@FC%MgwGCtIDB>Z#_*lt zuZF)9{&D!}a28>W@QdgeVUOq?adX7&5wjyUM7$W$9Pw$yuMvMm1Vtu9rbap<Z;rep za(?6^k=2o#B43GoEAoTLvyneW{u22|q;B)I4YQ56O|ng~-Di8qw$k>vZL957+i}~s zw%=_YQ9)6$Q8z@TM-7fDj4F*<67^`*=BVeRUX0oobug+q>UdO3)P<-^QNKo+c3*oJ zyWQT$KFmJeKHWasUTS~DUTt4%ueCp8f5HB?{X6?#_72fW(Kkf*jUE_1I=V1=Ms!K^ zvgjwGw@2@dek=M!^yO&Rn5dW@F^-slF<CLAV#dczkC_`&8M8cQUChRq`k1{jugAO} z^L5O3G2XG=VsDCd#14ra6+0nzYV6&yWwDROZj7yu-4)v*E<COzt~_pe+;eez<KBro z68A~m`MB@mF30^A$KqY$t?_>G!SSK-w)oiizVSE54~w4=e{XzAd}Vx9{QCG!@z2EX zjNcdke*9PQ-^W`Lx+Fv;bW0eNFd|_>!lZ<$2@4Xc6SgP(J)u<lIN^(g3klyPTuJau z^iS-N7?Rj0ab)7e#3_mQB+g4LO<a<=DX}hbSK^+;1Bu5Izf1fjv17ORZb{u7-3q$R z>h@r_Ro!l+CkY19Qwf9VnTkd9UKe9`b~!*i6LygJd-&VLN0Q%T;%9n&DJO{jmaHRL z2)!fLjd`+U=EZJg-t^Fo56h<7sZ?_}>q4)bL)rbz#%8l9_5ic9IV_sZXED@A9DVz3 zJgZ;{^!-|i^y;}gt7S=SBkM)aEDWNb0v^nsW<%JE^e20}={5HrYWZb$3){;^&`3V> ziqIMR#w&){=(CUbE_fU)=&+Yopek5A1XSH|IPsefqlk}n6!A@9J@`#$(L!~|9WIQ` z2o<%qj-vdx$W!!2!gg?TsA#_-vV|hAM~Yg>|2p%VSU(R&zc(b7{UV}<%J0XEa-g}6 z%1dk;h!3IPPvf^x`CMX%m9ZPT^(5|h5s`0P#Zs48uqR{B_vk|WAX!AtC5v`Kdkc=S ziBWm<S?tAFO^O)*##F&=sRMl&dlq~nbvl)|+%$t&f75K@Yv57vEAVH~k|t_9gWW&} zI0~E!&Igx+o4{S*8{i3WjGbQ2tF?PAV+)nP&Jf$}BHt3g*vT<s?V`qtb@^YHeb|>Y zD=q8`B4>d#^Js{gL6N^`mU5bDCYAj(dQXk{6Y0AtXjWR-7<y0Ehm9q2b^~)GrZ5lU ze44AAEuopp*<&=5IeVPmkKr``0*UKc2jY`7vpIW<btayqIZWSA!nzV8wQ!pKHX>(H zS|rh~MG<4PXo|-YIg8g~shmLMEK!Rm_S6z7(hKaZb*D%&c!So1$|+hes=Z0;P30Sj z8tbdwK;?AsMS9MIv$wUIh=148iN~~l#1FL$;>X$mB0Ysc{8YP{c$)r{owHxHVZ=YR z;ndn+M0$pl-$HcfBZ%GjDB>_an%GevOAOJ+6C?FoiP8FPwA5UE5|!tG%k=^(uh8!x zuGFUxU(lx#8}w<E`67{?9MkV2zNFtx+@s%1d|97K+^f$bzM|hx+^0W4d{v)Id`*9l z__{uy*r-25+^?4r59o`CZ|D`oCjDXJoB9&sLH!ZpIej_tC;k6x@BL%sJkC77>Yf>P z56KyETB1d*XXMsdvSeGNIsENiTB{+4l*Y?n<_smSO?lj$?jhUk=^l0WP#oVHn3-Dx zG9V-J?JdrSc(ZcWd)Z3_<bc!O$&M}{lKn%t2*?KUAs4KJXaOhi1`f^#IKVFAyUpkO zRMp$vL(cS@Js>zBB-!s<Z@pDdRXz1Q-+Jn)dW-)N*Dnr!o9mYce~0Ve9sFIc-yQt> zTz`M?A8`Ht;D5~ZKO6i#u5S<iKG*+p@OxbUc<>LnzB~AbV9a;(?89@%hQGyLs3XJw zGW$>6q2d3Y>xtq2k?XGx|4&>`4xcB@bHn@}JMMyAr%Cy)J4>#2-HW7r*L|Lp@49oO zeAk_V!Vlb4;(y@gNcjWz5-ES+E?fK;N%;eJjg&udUxwNbU77eFx<yj{(A^{@JFUq3 zLsuguyRAt1L$^%Ioo>uMiX?s<)SN_;e;tH8@2<F4+@gEct#ba=H{IVwlK;T{7w(^6 z&HT6SU%3AP+5L0(7a+)AxlCp_GnRQQ^F-#8naRwrW=>^3pShg*Qf47j&#Yv2<tFmq z%m3dag}tBJTiNSA^43TGyN?V!`sky-`{+M;^!mQv+4qP0Mj!j%AN$m=JoVB29~~Wk zbo}=x{^7(QPu!jO7ZaJsk39a}$KQGUKmXY7;zx>ypO}5(OHZslG5GP3j}Je&|H-+h zzWmhwPkiAMfBuPcPyd~#|I?@c*JpnD%+sIz!)O1mXEO&z4qQF(m;ao7?*niC*BQtE znzE+7Y~6pRE@@|9=MU#P?9@|l+`qj~+}-=c6(;V@`wx#s>MHpYzvJ9ByuPpS`!c_> zTW}SAe}Js~Q^v4&!HXZj;~#<*|CRe^Zg1wmV|z2NKK5ssvmg7j%<1BvWm?5n_Loom zS!U$vj}HDP`=1#63x3}`0O^zG8|9T+<vBOgY}8i|lxsCN+iq6tH(DX)bYp3`TB|f? zE6v;0g-R>Do~|ymtBrc8x#~{eEH%$nTkY^>wh}`YdAiZ8Tq-qNm8SEzxn^mha;DxU zr!RB5TDnnhwA$5$R(F!_@R{3{dV8u#rA{}>m8p8Ew%V$;F5N7(DuKxCLbJNurrtd% zEXxbc($Z3?IbCX(+__Ty#!Bf%<!r44F{{w|O8aJ`?50|+#zM8!uHLS;SCe#8ZJ2R= zrCmv4ddTSE)JnBhrggqCo7r{XbfeyCH&={XuB$3Bn`cTlAs;i_F10IG*zC>fVjHg2 zTUD{#ZF&~J&t0BrSC+!f*zRNeyMy7S-NRc8TURZV>h+3oCst`@s@1*#pJ(dTcIbt0 zv-)(^FGO2ijd0gH5$}3@vDCU5o~Mi%bF0gho`{}@xzhC-ubW7xr4AjIJa@ecVpd<Q zA(NLYtwwD{e6qezDzI?Nlb>r=La7R=l}`Dm%4HN`(;Fi^+gNEXRL(UP5DhWk9%q+J zb=Q&GEA47cqFHM+t6!^hgw>10nR2z==;+T&)yiv^5yOg8$T;d#=y9rCT5eaoI^7fN z<{Gyubss%bUu^hiE7k|+n$;UOD$Q1S5`$-Jjkf2VLY6BAJd0-+8YGKidl4N%VB@p# zB)&tE+m$<Q_hPl)w$2OEtY>4@sruqvrMVQPT=7m3RrK{-qj76xITo3SoO`J?>jltc z=zM9}%>)*=o0Za1<hOsg(5NT$1UOyKlD4i#M_ta`S#DNZE!tyD?ul`;tMzv2&Y5Pj z(d-UeJ7O8)!V<vK^^7i;>g|?qhp9G?$@?>{h0<~*zFb;vtklc#<tbs6+N$30NyJ3q z*`^HY<mpPgB$>KUdF@=aUWr89g_Wi2m8S1dA3j%YSDK}W+M%lr!F%7#u3WcH^XML) zthwh)?S-2!mg;3t-kn})wHr%Gc{62C@k+hAKuu4BNjDnJRm(S1hBwv4YNeSZpIu$L z-l)Y#->%*`%h?;%krDN2%&ZPIdG{5tU@YFh@O>q2x$`TvcGZ#?i@`H@xpJd&M@&z8 zz~|~{r<DIRLe{R7JCQ0rDnWojOM{pM@wQ?^Sd|P~kW~C^X#sU#b!S)VUC8C3AQ`0& zTwZ~9OO+(mscOB<=w%8TbA~u8a8sOTZ5+)aF?49*mW{8B#W8rMR*?`hz!|7-9xo3N z@22XFdMv>(k<qYvL)q+!ib$C(jL?@)*Gelb51x8F+h{J?yGY`6saCUynMJ#qZi||l zVlh`b1g93TDq1F+FO`~?D?W=-8G?sudnpJH#t};qhvzPHM5EVBRmMuXOli*CF4b1( zWF$i-!kPLF6e@^Twbn*dPRSxMEja5Vq?8v|+BFh}7%z$T)(Vf97<=D<<jkFgis5I3 z&t`8-t#aqs5qG}2&}_6Ci|qp)X`t|%P8SVd8gE+eR25-B+o+$%iTdqIQ*An3YqVCH z75Dj-rDfw<XdpNj5&A3^PX!7x&(s%lrREJJRl(_MYgzg(RquK1K+>gB)t9M&8d_?S zI%d3FS!guNK6P)L3u4&a=sKfu<>e+A)um#<o-whjUA?UYQEd3XQZGpk>y@(eqh1&u z-BOE6)T-Bk?v@Oni`TzeS-|YHCrqwdjYkb+2VSTE2Gs?sZxJx$D~D{v|H@=1Ioy<a zf;JP|spy&d%986?fG;6O72~+CIOc-k&O)ixp03m?H%!QU6<(+{u9s@nuX&?k6MDK1 zhi0TZrFPqzJL8!h!`9(dnL$ar7*gt}k%r}(n>q993T3ocV;@m@tKL+tc8-GU=PGT) zyXB@U3)Q6(U4Nt6Zn=vK?IiqS<xYt8!V(^4)N)1@%7*6W8`XN86C4n>p*;TCooisn zG|yI>0`BIjWCJPf3eGGo*MQ<yrM=0HIt$*J(wH^tEy5X!0kzx<70fv7zDkTfz0z#b zY=aTK?a9;g@^WRl(QKR5=f`&O2J_v=1N3*6k&H@Nz&(G%PYm4rLa=PSxovfrsguoD zXP!}ACbFAv3n(tu9m+J{Q|$agcMZE<8yO1luX~@mCPG$W_*5$UBxftAs2|VH+^H<k z0M80Feskz-v$1sgCUX$Dk7QYDV^DnXymWr3vy!6ei}1ylo=un=f=n}SPv5L8+_Kk< zOK0wY+}urXFEy5}KqYmvrNuCc25^qW0!C($hx&$^VWXWcG1^oYN;M%^Os!F1xgDP_ zE+c(N+UB-Oys5N*jea}q_AWNktM(MFr=C6v51zqZl&pW}8rYobZFin=h`FJRF8_X} z6%51*3hoWEGd6M6kW!hSCm%B;8!PK(N4Ffhr>TOWuLg7{V`3=+!TD12)*ObNpqJ_A zO|uDaRXsZq@nn|irdDkDt&}e}8WaJBW0+vr2Xh+Buwx6`gH>C$;;G6aQ|>bt&qAZ! zpxy{PTw(Tz3U$T(MrHLikQ`gzY#@5i&8{p<eOelLni$VqlQ_ClSngDPByFYHs@|>u zEsG^=FX~-mw5{oSuCmy6m#a5!Vvtu>+Okch5Ybk-prL8L7Utphq}MM2RO--q@WTR% zoUXL|v|caDT@R>%p>e`5qZ4U#XR{7$x%rl+(>4dSS*{~{wXA+hs*>P=p}_n~y-rQb zr?KIIiW(TNS@cYqvE4=&>ksK(wEw!}I}DP9D5(@Dvbr;?B}Q8Ia<jzLs9MvE>E1+U zO#lJiJ$_-ORx4ev3jLGU_eP0k>pn>hur)69$VNB)gg>!$U?h{NxdsZ?U0XN%S{0~@ zx{kn`=8zC-iK1)rSGozhwG6%06|I-6?Ic?Z=v(jz)JZy32hk9@+su(XlHhx?(yRzd zkkEC~M?TowtxHcbTwFkiEA<7)tBXA|OoY!??`Y`j6zkt5&sXZOf{H28DF!|7-&v8@ z?0yX)PFf{L*nJpyx>hOGSC*~TCV3_imztG@3iGRl3YaF~jbfoT8-_PMql5NJ%&MiD z#W}JtyoM*(7!=$PHbGPdG`az(>!vn$v$<kp2gUjR@W^4dRKhtwlqX4~7kYP{vAaca zoh&o;h1v>wD`(AeN%qnG)3v(Fm0@tP>8tFU(-RI-ayk01KryRosaZMaBfCoL)C5Qi zRSE4%8k01`3XAqZP*-2t{Uk9F*!#cimD^LRo&H1`dR}h#u61hFL&80Ie6*Qdo2bPM z5;^LIECh`9J>Rl1f2mZhBUFh*2PwKI<>mz4W|@>WF}6Ah0f=aMA@3TwBp;}*yqG@d zsdPmfmTvZIs$-(whxUWUF=h(|mr2ppwKhlclb@g=otHrn%1$CQ)9NNDvqIIgfolfY zDU~bO+Kd(qJk}83gidvc_feZ)^yJoX;bmGDwCG)AxKrz~qyt1o<w^uL1j?sY-8=>Z zpo!IG1Ck*HbEEJepJEx4!~|V6)o^F21wEd<72mFoVpzeZx!7KKH8u9CXJvku@2S-0 zc<bLJRjbpAma&e`?;<*n(bM%9_}`nR_eofAis_AN&jf3seQNcbANS*9FzVD=!`GyP zG;&M+V#1`7NzCT9gcrzxfu}Lh#^Xzk;CR<?ilEpyizVbWZDzWAI$&Xwkih91m@zZ0 z->5X}%-H-xki_uh3!|$%x!9m2j|9lD9U1j$^=uPQ`6nbi!upn3=4RV;qPl#p%GBk= zXt^_Wc@ge$eT2fibXs{nXjeLz;m3l0&@{6v086w5Jzv8(BLxh>2(4b(?>8X}>kobu zWLWe|Hpa~$kyz7yVgNRv1vY^QGY4Oa&3}CjI#yOdH&4iqCO%1c(IIM<ut<kGcaNMQ zv6V@8C0wRo&MYlshj|xO5YWper!XuIO3~)3GO{x~Gh=3jtpz-Htz;zgYJkOD?Liv4 zhG-nLHW&6$e%_+_iqO^f6j&*X{L+fnTbSEO=rqUC&x6aHy!be_D%O1_6}SbKD|M3w zv|m#WD_~A8O0|?qMuWtK*&#DdO#oX^qA@lhloutL8EU1l)MQFmXK}4u#_59F4I_DF zsUAmc<_h&2c)nCclA&lyt=lDxDc>GH<J4n^<MtLs?ZjMQZ39<>c{%~X^HqGpr8~|% zBpOIqnZXe(U$G`jU`2O?ro&XxR$ij7<z=9!@mlKu!zF{4`lH#XF$vKk;ykk{rit^f zX(_-+vFal)g026^3N#;5aH-=#iD^OwO6BtWrl@9R3D3#qSfrz~TEqh#ZGCrTnR@tD z)w1tWW8up^^}#rpso$o_v8bdP!PcFsA?{`1wVM~HeA!%~G{dUvJ*6#+V~A+u0`Wis zF8O7w7npS$XJdpdmQ{T2t}vNhZxyX*yhX{X6>A68Wp|~{da8k&R<NwaVX{gSY(>U( z)*g^DgyTk78DS2u1rm??@~AG{3_^`OGoNeo&ZIJVydY&ro+PZv1H`m6?5lLE-gu4q zc@+xGXz}+kt0(MUzR3-hSkOXZ9cKFqUSZ*3s^w9@`3Ft<gC`a&WU;c^uC03KfyV8Y zSXGNIbYTM)0-j6Y<qidb@r>=|%AMeEkUQOjFv5w)TOJAXcdP!I>7T3IX2`L|_;gzL zleS_M60(t!`zfSERD+eRH+qdJNNdW`zdc>KzH$S{`3-uDrb1N<`nC}NHQFp!sO=+Q zJx^TFI+uAqWK7s1Vt_-GGR(-8ggJ=EtZq;<ZS)1qv}9&uBB|hzp(hT}>&_aefi^zB z)zu5IZ(i9+_e?TlM9{pRxcRo^*_IzJ)_dOgr6G^oD5QT3yt9T`YMT?tHujdVAM0Y+ z>~)Y{h|RDT9>ai?JSSsPh?&8;50~TIJFL^u;a$KicYLk1YN&qkHJBSG@4{&t85OXG zhqaN&1aT#KN3RE_bVpsRcR$T9*H*k&rOB?xOL~xAxyJH5-1qww2%oC9U#qq%7n=yf zyrt5;YFZub7Bf=ZS(HO&=v=gCVt)q-SoLd$45)}#NQ8qB>C)1lfkl$j`oJ&TwB*P@ zF(O$n>y{uch{jib_|{OA7<{en2fYcxrX4SaxB?G*Fr@KS^aHL?McEC#5Yuy&I}A?# zorKGykfrE6st8s-UapoI6y?F|E-xv|*WOSpNgQTw$+HoTl;&Ap@HFR_qb)n%Rt>$N z`?>_%AiDN1vn$A%%vz{pP0{Ub3}KHc5D557Z)*e=sxb`+yCtyKWAI$#H5?_3-0YFS zSb7l$VfS;gw40>p+UJn;ap=D0svnMKWE?QQ!rx#~o$}JJNwqKNGAIaEd0QlO5Fj6= zX}*$#1BLmjAy~w5uOUpTa0S#DK8*S9R0S;bbs(X=@K1CAY!d)A0nj^=DLu`uEb=4` z#=>Dafpve0kPph*iHT7oODb*k$^ARcWb6fj)1?+(A=?dv2X=nhGFO-!m`yp~3hBbL zZ-B41jC*`p@(Q{ytW+0n8B78~rBGiBo@$g=E#OO(@dFRT2m`Bwto2sjS+0;{mNh#s zJ7Mio?G84S=lr~8o3@s<xlc4=$(42S79(E>$2gIw)>n)fwwuAr1Cz#vJoeyiy*$kT zHdAk3tk+iE)a^!9LxJd>tu;#KNGGYP2Ux1Fy4c{C!2J4{V`WU%tf+CLvPnz)!ff(5 zvs6MBv=1)n^)B9aBUNvUlV!Qt$}*;jmem4dslB>i3Cy`}H8=Ri2i_YKx-s<7T!XBK z5BcJgxar1<WHNd7jKDfXjxgNFqD5w-uSnn7bB!xC*7iENx|X96fy<?G^^VjoEEp2f zI?&6kCj^sTF-&yuCU~IeO5rnWUTY=WxHiMQ0fn%hgz2hr`3oxzJS09!sDBD`^_KO9 zX^;&0D1$!HmEOmzy^pr;*&9W+BmyN362xM`%JsJOfR+uK?En^0p@PCoYfR{YM(tn- za%NH3Y;|9MPrvN-sY8rrXur)YtC7g2PXuggHPxzNWg*A1-`&hqYqh=*=5-d9DXG!Y z15rpuks)-0aU^c&!Dr-m_QVL!tJrRQ^j4tU@u3>>g|(x>En_0OqC6C-N7Py7`>}fZ zCq@(-(rr`@*}E{@N>R#y^i@H^y^navFWX$GCz-88VsYNClqF-95r9w^gthfhcRv^j zlS|sPAVvg$nQz(NBm<RdlW83@J#AJZqJ!=RQZk;y?hl5#U{x3?Z%fSIHj_fMEg}qn zJ~})^l$~mYQfA|dm9j;X1D8`WtF;1>QBbM6CdU`sY}l}gjGJ$C!f3@U8+Wje!!)P6 zMqRmVR&Ij;!}oPYh)QQZe5Jl<8(UZv_uK5e>6ARi-2ikfV{LqC#KJxSf!BQ511f4j zN2z9>`?j40mGXBRIAzJJ>0#<hDCkazcp*$ElXY`Hdijy8Q(KD-Rep(?Ldj3?wWTnj zJ>M!JGa)6aOhputSa?<+<oY&yFEtF?9Yu=44pme4ZpJZ9W!87gY?JN^n$yfjSl`6X zhVhZlohUz1?K}r-x5J&pewwdiu;Bm@5+>D`plf9izksaBB(Y(xspSk#5)8e-*-LCS zVJaD&9C~$tjdCls5?hs)o1j>5|FU<^x~~)K<||1G4c;NKrSh$9NwQUqU{>0zskrN` zmCR_E4a45ByoLHDo+rZE+~l2-Ja~a8QWIQ!8$?~wraC<FS}LAtb!Oqro-qZ9>Y4wW zS3gdIW?J6sE%om5;?A_RSxh6OT&}hxP6)8=pbb>xB*PC!$sie&d#+)Ia-#deH_-CV zffiz7_MUf&$Axe|-$<69{Uegw`(Dw0x~VFKt-QFtLaREG6O08-(rhdb36KzZ3YaIc z^`N^|Ezt7@JgYRjc^czlXSL+J==2r@@V00J4Y_@=^D-f5{bsw!Y`;UY_driQ{o^${ zipa$}G+9;!%wVwX9dQ?9L**1UInY*mioaO*K(jd>?C9Fs8+Ua0g5oyG^QBuAO-5~E zqX&&mVU|+?8EtC*A_z%~v<_lH@8b;$Xr374Xj*HuxHub&{4hv@dTKiCi|mf^!lE7n z3KqN@HwvflK1}vvlop1Yo8x+O`7%z=GK{i-Y+jP?C;>pI$4l3H-d|e9u@yFTg%qBO z-&34q>Us2;dZK0*ZZfOwiSl&1{ByoWKJz`%v#+uw)b5H7ZZK4k*(4qmy81$;QZ`^< zy@L3cu<2z5(*LEUsb;gZYPPs-^^F@6alkT0<0G}HXqc<c*+QTc#GGLCVYN-J>Vove z!-p10Z02P%9_^hAsy<a;?RL&<KIARpxrUzr;z0A3v!%Q@PDXvB%ZOItQOOd|wc#3D zKVzlX@3W~k*nP2$s$KLJGIh~rBeFIc?9R~wK&TEzkbn;th(t_lS7EOtin1xU?LB4^ z6QjL-4|;{|qD^g;?vx&cBt~fD!ZL%bAP3((H4j#<7C9H0qJ_uK?ng@;SS|jc{eH8k zx#@Z$5(jx#qKn$_+R0<fq4<H5CaT3#EYvXmh1>k1?Tpn6jg?G;se*;9|Ko!hQB&TJ zK^j0AVUwcAj5hwjD!=M+S^J{MOKsXQRkCdqU1!ks9}!_P+a`>-J()Zh)0#Nyrsi}$ zZgSI&M2N%w&#Ox{$1iT^CTPOUeQKH28_XQNrnX&$6EWRbU^geVCp_2aexiJ3@W|1X z$y7_ea+ZbUNA%x_1R*mqiB-E;XWYReQS-asUtBhWFv`vxgGHCofLhrOa-1QxR>g;% zW*Y4NcDP-wx-hQFhZfZu+Ij~Y&a~GG_p_Yo)p}`3{&AZmS(-%c&2>AoXmUTZh;I=O z5OK+Sb44a?kU<U9m&&+Taps%<+j^>HeZR6CQ-)8);^Q=%oZ2_#n~pI?r2D~StLJr) zq?pK;*z?qz#}b50XtMZ$u*j=cF*m;U>@_jmsEY3j0JG5!3lE^F$+AZA7IT`UE9Jj3 zDb#|S511+Jt$Q`;VjV&9W}_-(63;lfaEm#>{B<n?&_R@ZTLvjz#Ug^tj2ozy-0rvJ zno$HsOK*hjqD@}=(IL!(z4h3W-M^n+Sz1~(kFfc5K%$ysOY;q^np>5Q2S!hHLCvDA zDl@GwR+<e9+6z@r>4i35U9lb8I4*6OP+mznG3%AEts0Np^|qF~6dl7dJk1(h#=k^- z5}xM6K}Hs$6tXRhEPPlJt&Ct1T<|-@Nx{DM=Bho4T#PWGd~tOdm($dBoPsz^1>V*G ztGrb_V1Y~}|Diw(oiEi(`dR>Cus1y8Kd!YIHBD<`e25D?Nzz(gu_wM)$HlPX{owU7 z7<ZO&a}_<gC)Ny(dt$@(^LvvsCf*w<C&<0Av-dA>_9iC6y{WI<m-3bSlfKd+5{7Mc z;MeGxQ>%&aFyX<Q#hwoDv$7(!G+g3ymY$VowH`z&vAZ+^nI*<#_Z@zl*_%363C$Ds z0@93P&f%vye5@0F4xLuqq1cJxi;(UP=;;z;eostfd{3lU(-UD_>51{o?u{}=_e2?! zdt>e;6_|T}#%^ZneHpr$nfEaAK1{Tz4g*<*YF*+JSAG8=<4W6>?TZK;5w(i{Uh8~` zlZj$9{$YE*UM&G&@)on+UUDW47qyGQx-2I5imlzyG{}6~;17;!Hj_)YiS(-?FKCDi z5NR&xDY-!TB50~5UgEg*0gH(du@7;``l#sSWhD2FV0}}s$Yrl|Z(^*Po7W;^i1LF= ziBCRPg%jGgKvr8^#t3ovJ!N?vRJ9}fy2BTnhLnoxlG;s=F%iXGkcRLTOvNvD$_hxL zoSq_7&bBK!*ogqlfGkF^kP#<KJqeQ<NWH?!hkX*nBd$VMuHJT-c-TKu9(B(W!@%5Y z4g3aiO9&Eg3z00$s<vHEA;=2lRh(GXUF@IJ-gct2mEBj}7!n_Bb9)ls^+e&_g_3Dg z4An>b-7F&vbD5>m9rMv7vU#J~SXnmVwNV@E!+%ZWT{vc@#c#B|#b;?5BO<gA^u8g4 z5yuK$DjrZ4rXl^|XA_K4;j<$=*BZ3+L60U5Y(!Q_(C%+xcGWOwVWwU2`+*wWLBG0S zqBnVrd>%ZwV?<yU&oyi!;ANBqp+()_Jsn79Rx?UFUGba#8+?0)Y+}6Qqb8_1mo`ww ziIxv1uV`UNM93Rzwh-=3r|?A_dV5RB+FC`z<YREGyB8YmM*MayuDJU2VfGz_5<H)j z6?w>Vcze`7hp;c{c)^&>rYoP7omW19OwP+)Z?==4j<)cb5aVq)>7d6Gr7|k>CCzFt zE_QwXMiofdiSRwsp{r0BRLofSn?LAsUx}``Xg~PxPY*~wdX9I{1iOa0N8j~M?O2Zr z-wyhzo~Gm|TQps@{v#O+^FWM8&$iGhR8IUeVGs{3z$`v)P)(+cO4XC+Q0Hkg#omdt z=4pwo&hWj-S{E4xk4}vhVIQl+CMd#xxY8YS3L8IZWh7!rJyvz66}c^58R0G7sfeyu z>?HG@f`Kh>y6uR;|LZq@&C5rP?QOTyLh^_bHxVoQ=7{a|n$7s!SQh?i!S7G2BoTb+ z&AgG_d92gjM!Q)g5BmjCnoz8T{4_xG)R*KZ_X{)@q{DSb^1a)?0fD&RtjV6+W$b_2 zP|^wkMv<0oOQtA^^Cp>ga{kt;Yj-w7BwH2m{Zcom;F6WQ&$0Yx-{UO=e5l&jTkr=R zBPA;vIPE$c7Tkiqj`PcqH9Vd+Y2Ks;HVQVDXX7C!%#}J7V@RB9&_K<hm*hUOx)>Q| z2QuMRc4r6X5~dsGw4>r|Xn_Z0WPLb(^OOV(pMW)+EU-kLeCu?>f0)R`m>Fnza7+H2 z5=QGKSMTh7WXxhmTAfd8_#j1FT`0B5K@Zx~Rg0U-70HG{+bQ4^7^{3L{5F*t+oOMr zo$yS6@lV29?|^NoS>6qbgj!rHaCmcUQd-O1vi;6}2e!z|vkpzhJdt;c$v${(?wV7J ztQ=nplmWD;`hD!)XD=qV80GbiV6u~&T6%Y=V-D_5q`)({+&Lmd(b#V`8?qsk^%uYA z70*G%`MxtCf}adB{;Ndej9b*sjdG)%EVV?ANLke5$bn6(6!2n8mAgK|VQL(gIOxT$ zqh)ZY`Rw$Vrp~CPw!~VuxtiY)>-*Z|!!)Ah*yJsH!LdSD@tTCC=69@04YWBm0)*~L z)sWD4@9i`mQ%jp>w+Ki^=p0#G>Jq0hf&ZzDpqC7L_QAH?d4?cVA?(*|+0h{=gA^md ztcL#t-i9}EO4U<>a@X!OF)c8@vmq@Ax~aINeA4N9$hB;pHr^-0v%?5PptKo=bXW<E z#YLv9F4^nk`yHX7Cv08I@d<(X!90}sewH6aCt3up@JqtjlHOTQ7x{f#zELftOFMN; zI*=^eX+s0Gy`>!X)re8Hr9sOh^&7$BZuRbtP!?Yz?w7EL<kS0QpriusRc(Sugs@ey zuR;M7>{$QJyLhAz0Nes5fb9v03;w>YR1NMlOJ-^MVArDk!cDiReM8oLbR;J5^{)z2 z^m&k9e_LQluJa%$4f50C!&T{S%lgSaLI7%kX^82II(;*l)ErMBHLZK-lz19^^67ln zRwnu>S#*QD))&;?_gafu#ZGC2avN;&@ikD5JJk&<h+Qa|V1?f??}ve8|2T@+YWtNb z`Z4b8MNCRde%Po8S~a$Str&Dx_o`0du{7RO8q(M-!h}8e%@-R@p<iR!t25$(U~@f0 zXShZDd3@vRedqom7?#pPQ<1i}pi!f+uX53R*ll+1NPh(gRv#b$4ORa*`JXi6s#&Tc z>Ssx=YiCzY-{+#je4mT+vK76_ZDwCx$^yfJi?-5n(bD+fn)Q4z0IYg9Yc;r8!7(77 z5^bb+Rr^T5*GqLkSh~G~ri#H(tJ<Jm<$tGH<b<=5yUxj+tx9bXh(efHR=!hnt2K^0 zTdBL-bq<%4uS;LDX$AwN)<|7pmulVS=~YdN)F8KP{uTyq*R*X*WO8l3JZBpOWX)ny z4k>q-4#Dd%EL#uIgE)Geza?{~Fs>LbdN&)gqmSgxS85qO>%9qnoqD21-WBJKZ`W)z ze8<38FK99(G$W8Q)2f!XV;jtRgPwGgGN2AgU*jT6HO_Lqlhy<JX=?&12agzdIWaDY z5D}}M2*p5`&8_H8cA1&c!VC+j2VU|v3(aBvBZaUg@-_Lbj?okitjc0Ii$nX?*_@BY zvhTgpNf@K2I|k6bFR9OB^~MT@Bty#mUNg(BuipD2Sb_Jxkl}1faPKQjjxuu9-I!R% z;1BKOIel(cGpJe>hfgOqw4Dubd=!jZIR?y_@j}r_Ony1w*@4iBi{%AI-}?eTedV5) zq1ev3WZFWgef!$z*rAc^<;NR=KC1pz&G;Ji%avN`j)hvC<e}4*j931f^Uhm4*GMx1 z|1Aizz(*`Xe=(SuxDF3twTGo_xurB+FeBBjSSL|7l+WVy1rQkHXAC6odODA>XkTm0 zXd>FM?VC0yWy^>r^$g{@vAq>r(eLoU7iFJju}Q2^*A_SD=Pu@Em9=SsxJ$ss-cHk! z&=pzp$y4V<7%%&+=sS=q`Av4w*K!sN4>5jpG3}>S{*<kRq%A|5CNdAf4=C5W)y|mS zthO3;R$XSJuiFph=9FQ9#}0W3?ed+V_10Qx*%q&j8ybK7s;lwfq{y-uWEK#3nV7yE z)B3sV^YaJ!zrijsnc}F9w$6b$J^SRz=RP}+H-lCG@)V=%>QZBc9XI+&hOIcZyg@RP zCq6#V$vfmMC(R6%d>Qkexu$n*v3m4s>~d|w@f#n#cgyCZuW1;yZaSkjRm$h9HO4hS zO>-XaGWJeP;@Z|e*5olmyo-c0b)t~bgt>;cp=;|O8()@ie#CbOOqZm2Az=Y{rjA7t zZ=ShK5!tcHfgU|N#TqL6QqGlD8{HE}|NI*uzw<4!wK966Q?Rv+7?y^Y<tH}n>#UGR zwu-BaAb9TNuEn;##k}21M}^dwe9Sk`Gl9{te@1EOaJ=2gJ1H0&rc80j>O0LZooeH; zP=dul+^~2H8Y?$$b~^2BwNfizG~>Dx$#R&tSE&$I$i>BYXZr(OzJgytOR9X1!go<B zSFZQq!8Qk@cN5YYe1eMSW>sYA1pe}AQy5ZFXr!5)Hr~(Zx0=khS8E^_fO1J*0T+CY z^g3)XJpySd*w#*s=PCkcxHLmM5jqT>YgYA1HYKoG?<U_ia-@dTck_`=oP1$hO-_1W z-F<f<K3A5~L_v}?-z#VFK&k^>$xiyi;iBS1Cj@>`Hq$*vj&2mZ56Lc4n-ZUV?$CVP zYLuojNKc>2sFQ+Q^nL_mRUmZWvNo(C1iFS=cOmzIAdBwgbCdJ_cou@Sc~+8b7VW)O zoVT(~gH=j*g-$+qWPV;o?fo)^lfV+j_it;;cE)5;i(agjS^DniN>>eoD^4+fxwf1% zlXb*!{EkkkiU-NrDTe+lGi~7$6uzKE0#laR6+1c)_w%w=d4mFJQXr|0Zao0O%Pe5V zE=uX6@Bvr9`2{ryR2Mq6^@<Xg15Rq6k~AvlA%>qH8d41ghZfxy1X7MBhYxN=fMwA% z!_nc%tq2@WN#M{{1dgO6aCj>MM^h3wvK4`2DG40iioo%d1deS*;6zFS$G0Nz*^~rM zY(=1ylE7!TB5*w=fznn47E%(pz7+um@>HU{uoVHU-&6$3TM<}HNuaV7fysj@DQpc0 zDG}kwmWVK!5)zJV2?>)aG2zITm@t_V6pm~O3X>^O;mDS#fF+em9FA-W3zI2v;mDS_ zFqsk<j%*1GlPQtm$d<@3nGza~YzYmMDY4<mme??v5*&_f2@aDf(c#FJ=rEZQ9*%4Y z50feJ;mDTwa401{9N7{d4yDA0qg&#`p_KS=bW40VloB6~Zix?vQsTqWE%D({N_;rF zB|aQVi4RA&#D_yE@!{x}_;4sCJ{;W=9}cC&hof8K!=aS;aCA$2IFu3}j&6w$hf?Ch z(Jk@eP)d9_x+OjwN{J6g13ql=)q<u4M^lpGpjw+3Y)2|3=HScdN9tHg@L|ccFR7F$ z#5VT6q*B7sVgR&lcy%l#E-eOR+m2L9fLaU?w;idJNVOQSZaY#bA!{*!-gcx?V%K6o zzwJn+1hK^cgWHixiDrud54R(g64n+2Fm6XGCB7{Ngxro)N}yW|P`Mqcl!&(&FmpRn zDe-EtKVBV6iC2sL@#=U=ykfsyKae?|60a8f<JIw$cr|&jKVThC30RW{`y<xzl!!HX zus>uSPYGF*2m52z@syY~d9Xid9Zv~blLz~w*7206HF>Z<Y#mPtTayR-<JR$%xHWmO zKX4sS30#v0`y<!!l*l!Cus?JiPYGR<2m52!@s!v#d9Xit9Zv~flLz~w*NK$qHF>Z< ze4R)MUy}#><JXC__=PX4AFQ58i(ixd@#{od{KCK0w_a)S3r|;HT50hMpI2X6Y4Hp1 zS6^Cb@e4m#Us`GL3y)Y|T50hM-&kK-Y4Hm$SzlUd@e6-hUs`GL3(r|!T50hMA6j2p zY4HnhT0dH!O^aXn)%wy(i(h!y`qD~^U-;Vk(n^b8c-{KaN{e6k-}=%@i(h!+`qD~^ zU-;zu(n^b8c<1`kN{e6k>H5-2i(h!``qD~^U-<6&(n^b8c=7tuN{e6k^ZL?Ci(h#5 z`qD~^U-<a?(n^b8c>DU%Dy79Q{C<6DrNytf(7(-GyOb8c;+p?<w9?{NT>jsVR$BaG zUtV8+rNytq{qd`m7QYVn$FEXa{5sqpze;KGi;vm+@+&QV9qx}`rL_2UxIccC(&E?Q z{`gf&i(iNP;}_rbrCQpZJlr3@N@?-yaDV(NrNytq{qgI1TKqcPAHS}r#jnHt?XT-; z@hk37*ama1r^T<hS7AF^Y4I!WTG)<OTKtOp7q+977Qf<7hV5vj#jm)hVLMuB@hk3b z*p60O{EGV=wxg96zv7OE?P#UNuekSNJ6dV+EAE2Wj#gUyiu)n9qm>rF;?9WeXr;xk zxJP0eS_^6MEAE!qj#gUyiu)$Eqm>rF;tq=KXr;xkxR+u(T50hs?yA_1R$Bau`zyAi zl@`C^PK)hmrNytf=VCirY4I!WzSxddTKtOpFt($W7Qf<-jO}Qp#jm(GV>?=D@hk4q z*p60O{EGWEwxg96zv9k~?P#UNuM~SYIQ=J`jmc(@e)fGiEq)#CZ-153;uqUJ`qnEg zejV%Y|0<`&uVek^kL9%Z#g31@ZA^<_d=}G}R$BZz)_?w3PK#g1`p+NBY4Ph=|M_D% zEq)#AKYuKz#jj)i=a1#I_;sxR{88sYrP(Pyd945Zkpm1;(&|5dET_e<WBuokm9+SE ztUrG7rGCmb_Qx;2_fJQQ?H~R0v62?Q*#FU&R$BaG14v(5Y4M8<Abn}2#V<C1^re*+ zzt{lMmsVQ*VgpEDT50i%4Iq7KrNu8cfb^x67Qfg4qHo#kWQ&vhmrFWDs`pT?@E>73 z_qWeXA3Z$z*;7aMpE!Ev#Qr14jvd^8>h!@g`zI$SkAC*}nW;mk4;}rwd-6$t^v%IL z#||Dmc<AV%{gYOL9YdTPUF^SSiziq3Piy^A%(GpGAIFaXXD;#~vCd+#&p|opk7JNI z5+yu!1^vgwoZxW7zQFE!BuhwcH@<5>%OQa``I3%<L8@i_Pdc4%_H+U@2O0B`GauV^ zqB-fs{?l`JviGE2|JCTp=MM9wW;oEw9>T#t_eqWN*vsdR&d($KI%h>eWcRt_^YgFq zpUES7&n?Z*+kZt-TRrYBRVuf-GJy(J<v^o3p`fWxc<V+2%A6W=yAuKVNK@oHG*v<< z4B6~@ae~i}Z&#a*x*fG6>6qg`n(}7?_^)?8U+q(P6P^|QkB#9&?hfB{2rnN+hZ9FS zY}ApFW&YcB9of-|?LCFH6F>VZU-nM%+2bLdr>g@xIf758|MH0_2NNXUmX<5i4Sf$D z&Rt8sUAGgt<MG|echY<_&w<L#-k0&r29ww1;ROy+HsN#r|H3)d<bM_I{dRoQ3;Qa+ z_u%)=*O{DXt#b}^f+?SD+mRYHkV7n!?=$uBvc9nH@J{mB;Yc_+Q0K;x#~&$Es&z_; z9OneIi;MQjdnd0y@h^NtFWI+GwM|*{#eK^iSXkh*S~ou*zADux)A0*Zoon*BNxWCR zI)3DO2^|lIOuSgB@!@!KqJn*T9u80t8T;_Q;#+Vpl|%a0Scj)1AGX38J4&H-ii6m6 zxF#RsCof^5NoVpEZ1{k-HC5ADu2a`_+`??F!pWrm`|R`81x|@+EVd8mQ*p}j2QVLK z#*pLBK+(C@r=0#4-DP*iopu-9OWZHJ8F#_GK<s{g9Baf0H%+(TZn`Rm*W4g((KU$C zyEgAQjEC@Ryls=F$P-7oBq@|@kvByv=~FIqIF@<VO;OT0N}T5H9HnorN6h0s9`p3p z)93W>+-I&(y9#IXaf%(aRjtZa8_vY#-k=t$xlZk=xC72THp?k~b<&l{(_L%#*t7QB zOX*jMa|7htHEWzuo7|(9t&|nY6Av2DE4rs$W`JMoER=m|DxYJ&xGumM@ze8c%FWX5 zBDosWQ4}I)6;p@*O4oEt(5aKFMv5=FzwHjXue(>AuVv)5>X+I33|v(En^uN;>66ao zCTZ_M=e}?mstsrsNuwU}DckTN@<%<WdfYGyOO&j>FH(Mst7@g(l8Lr>ICO#fyN_NV z{{FSioGwC<gAmEJLK?M0a#FR{RNdF0B<@`1t@`EOno-K9J8vU@e2H`9=;e-^6^~UL z^{Yzr^%iw;&)1|xyjmPN<t0R^Repm!zK*^>-DlK(pF<KBdF6Rnrsk5is+9_`AR+Ui z^qO<)|N3PL)u~S+al@&b&Jm;V3U>~Ea%ZWULdtxav{68&h!MLv{K?+mzZ+uZdb{jt zYj}sUgylLVik|Oel_Q4u`&I%c_9?wY)^{am7!y(lNMz>_9<fnOk)Xu*PCI=3y#g17 zs0av1H92^U`UyzH9hEi%MRkG1GpdiC#g%4Ydl3-vN~E}o)kIywv5dxJb*S2?E)~zk z2VZirFR#_*FOau{8hAxGK#Ui?dsVY#eVZAYC52o2<^{TWir;0j_{Iw(I4q85uT5U2 zbQL3oOkOv{%o+`se5$&2nzKabN!Fw6b&yx|gnFVbUGn;L7=71Yq_Ht&xvM5{VzF}c z3X4jSc8Y<VUPtM-Y4mmOs!J=uyZx5JOT6BAO_O+5O$Q{vnOFaP%Tq048L3KK`~6Fy zkHw->G)1s0R)}G``r$~rCnlHd-K(UFK-^(xF~F->(p?ed6c{fN|1@bPf#9bJM{tw= z#BRF<UBRfzF_sLCxSc@34c)q{>Q%D4vZ}O->5N~!;(I@ycPr=ug-UECExrM<KfPRB zH)Znu+)<*Ax*Tw-;}jJaD!&X1N=V@xSJm<vMiVtzOq7ByS#599bfs3TWL;nt$3rRh z(@2F_<yAP2FhX)+a>FbKZ&%zOQ6psmiKN(fVGWACQmpP(?K1<j&Sl)dv(D}BjMe=l z3CaD;W!jTg@<{(s5$NeyKyE@p<2AQe1XMFOwBJ2P-9AG|qqrM*#kq$&^^5#*d%J5P zeHT~V)0@Y2mDSPAB=@7A*(A0h|Jdgd_a%BKNjWk_FR7oFX@h&{8MFK@V?SJ$%`hzM z?>SOuKK6{+gEL6Mj3Js@Jx6Gc9HbmlP25NiCq7z4R%WRAW>q8oOp)}RcK7QSp_Olg z`hA&JU@Cj4{S8s-=GMOlt%=@Rb<|yDi5vc}``G3(H>KR$OUKvL{kmc|_kbWnR+HCR zg@vNt%IgLs`rwJkgDs^Cj*I6P;E%K_qPO(b<@ApGL+9!3&Pd`u-m&PaCL6+g>9n+4 zn!xBW@az0O&F@oi;YE`KEWW2^L#<^GHEonypkx89&s}t%L%N?Kj^i$=ji{C-Ed#&h z+}Jags{_hzKyQG^{j%W~Oouc`3sp46X!wnEH7YfTz2)4m-QU6%CuO8GX@#WSTeKR{ zbR=iRWXI)pf)%@*+k4LNL}+>4YF`rNA<kZ>M%c^)ll%_xJIwD0zoYz)@jK4%1i#Pn z+mDt=+I<;St9SRPEj~i;g)_z>ZxH#hGuBhGt(ld_NIj_sWE?iFzIx&WRk#XrjCtE% zcDqb3aaua4v|T)9u6oEFc1PS%cg!7kC){VT2TJJeb%sb>_0)2jJZG>x&O);{H7y@H z$ROwT_QrcE?r?WYR9j(@#*^3%Sp=%H#*Z3rsr8vxtR*s^d}^6xZTA^cdHcIXdnBD2 z7o_zZbIQ8~D9JVo^0<25DDEdteDrc9>E6D4&1AivN$VsR-rkag`Fh4VR<z_ru~Q$= ze&CvOUz(w=-MuW0QO`-rq@x<|G*edFG#2!7!Oy2PUP?<<wjZZ8Kg&#RrtRlTk`q}4 z>R*n!g|audpJ4|3$uI}(ovEVfk7<;a#1zTv$4sFnayY-alxt!3+o3I4^5(u;rx}y@ zC9P5|I`q8V>HA1LG`u*vnSO7rrPVUL#5IjQ8X4j1z`S$SDdh4rGI<7he8CB8KJR`5 z3;H~$b`iVj3t+uQo-24MUUpaAZ@Mp1yX(*qe-`NlStegae{0Bv`gz%o-c|iq=(X2q z=_)f$_x1m;O1iJ^l=^X~BXwS@H}~$-v_|%n$C0PuhkvTm?o~<Br_-0<9+qy(6B0EK ztAsJ^OK`qI>}ys^8E=EE7G&-oDUH%Do6l>K`cx*eycGCBh9myF+%@_Y8e`A8U!#Oq z2!E1vUuVW#bi-!5fyleg(Bqfr=ij8vbHb((`J*Hk=4}{JD0#}AK{iNZckDjAI=^Y@ zrjU?%QeNh-Y#NsntxqFse~aJq{GQ~uK>X9xl6vO;meXH1u)?oN*&5G;f_HdkCeJh1 zfkl30eoMrB0x8w?BF{7Yp5k|o-zWG@^P^q^Pw=Dkfsd2&3Y^xJv|N?)^Ngx3WVbBZ zLmx+)b#2&{atTuw*Q#AB^v#S(yT*rzi_~&J_T-oOo#gi%X-{fY7<$gGpR?-|y53_& zMkx}G3d6i5?+(kV5e7%J^cq$*3=nQbKTI5hz?|Vz$crRE9<okYve;%MVayy+%af;F zK75!_s`JL4!kc4^U7a`nX_k5kZ-q?m*H5GWvM)TM_l~Hlqeeqb*t{&p(bZ4hz(Q<Z z**mg-S7n>zJnFfJd|q$0wBRT*I{^2PWN%%$+yV3q3PWbu4_`38QKN^>Sk0of;>O~e z=q7PF@2+qoejcbYC;{Gy^Q+E%@(l9Ujj8Ghalg06DVtJ#4c)NMgB(De|F4aHmabkm zUTGxq{ykCkenIc6qQwt)&nkSZ8#zrIO0-m1?S|*L3PIgNr;VF(glN2W!xhq5nz8ew z=|~T<`0^`VvLjj1SSGpgnAIz7vKbfodE3#?9DAitrI^3*3%w<!%_$zrM$yPE8zoxD zNbN3famz*#&MbmEaxJMZ^&|^3v~u7I$R)n2EuO1z@YiIqiYNTX1UBZXmC=Irvg$3% zI4ABx##jF4dA)C5BYdx{bX*geSEXOwwu+=EN|J07{&x<3wcultRi^p3VkHUQPt<8y zY>Vz4DxJPXBF9dGZ_26Ff(o-oH}F-P1$h1QdiPan8h&aY_i65OrC97hl^jA_^x)Sz z&c6eU2bvj4o8`@r=Us8)ImcvEl44`2Xw%0}k^V-&nwNPe-8oAf>rWA*wn=jus_I|& z$*t*3Q>rXe@dxC7V(XOZ1+-_I^3GWe(b}iBrqYF|+olqN%c|b4yokcvm8a23d=r*z zT`P@eNr|8K_#pp}<Z>GBNRqzBPn5*@FY-pc=sva?<vf?-jK_WQthK{SpD>h@tqrL~ zJEE(k*=?G4O+jCd^_a#zq1<&W0@0Sls8$v13;CT?8~4;@;$_v|F=uadzH<t^$w8et z6l2#!C)GLf$&VY~Gk!6KOOvn-hBXQ;3(1L-6xKoICE}>-F0CzuQg;c7eW`9nGp)^Y zwZDmt>W0N#am#%!dUw3X+0QFIaw*2wOdPx~Dn1rbt~V{3i=U^XYmPtfJU07({`4DP zIs4w|*xtYYe?0q?%m1^lU3=-VBOiWq$KJwlc64-TZ($@ez;!I+!=t<y$rOs*#xjL# z{;BMrbmQH!e_GDj)7l%{NxJq%-bfPIsX$@9SXg^2q<K5s?}qzNL)vxcBi5g^h=IcT zyCGtlJ5<+or_A-Ah5IE6r{d#w8yN6UJ3P6Gv8O_+H;Es~jO~xbyc6Q%{VLC*uDhsz z5bnhguRHM@E)dul3=xln`@V25#{}Oe;!I|2<85m^_rk`zR*Aw)C+7X^j?tTc6WRHj z%%mQfyhm&gx;?#-2i>#15!*W=2Bizb4!PM|IG-6E!1={*bg-B~l8Twk#ORRA=127+ zn=58BV{0Gehl&n4*uh&QW0=Uo+Ute&9}Vs(tp7rnN4TuLuFJc6{84sC*0Q{zs5dNl zSHZgjJCI6|S$`y7gvwjQd9rWY^WDPQ+dPl0{b_z@F`MOS4=H?!cgNQL#HS5e-tzHp zkcuM4*1oIij;g?CsII@>-CZ0|rJ=$<wXaaj?#K`97<+b5$~BnLC9BJTE{Yr+;zCVd zR9mKX`MECEw39~SMe?5*%qy*fz@US`Ab;K94$C@rk_6Ag(#+@%${!sa-QhBY>B0<# z?kJRxh~BdV9`Vc&6W6{Y(qkumOmWCj)g!wcwLd~FP@Y{y@xzB9hjLCs;ST8wYj5UN zSRRJt)!6l-SW!4KMs>59{AgZT-zeM}9WD;|0G$l0?&Rp|!g67mjFw`(7<sy0jGSBl zISkmTW*F(8?+}+K#wokT?<;D`^UyUe-%(K(s;OS(!m{zJO#eWH)@PNxxGN+FUTP%B z7OvU#E65yOQ&{F#=65X;TZY)Ex&bn^L3+2AgL(}PgnLnM?ns2z$H&(9iJfn&r13l@ z!IHQ0yNZK8K%~{ivMftf){7#!3{T1atTABy5u}A0jMMJI+IxuW=%|RkX*F8^#n?$b zeP5TiNOpB_2jVA&aTAv)(7^`8`;8cQdzXX7is3C1Mp(K2NY(rqG}^x7r@3W`rf1;y z+v-wj3#on2AjZ<F_4jp|Q}>RJW_OJ1=>yUGQ$lO+OB%*K!4F1?Lz!_JnIC)JUZX~y z)cdAT@F$-iMh;MP{)xs1bX491<i$alf((l@@0%>;Rlma8k5$Zj_G0Zl!W%!L313j; zhr0YY4{lz81OI9#c|*{6xACLG7fd+U-_P$U4k5+wQ}g_u{2p#_n}`n-A;#;~`}sV{ z<2|pyaB<M?ya|+5>A%zkMIBrFh3|;J<dKKLJyO%6F3;<-rpwQD$>}nz3yyJAcWmvK z)O}qNI3u|sIBL!HFE%7r>x0I-jeWeN^@VjO?r@U=W|5Jx_1(JcA?-#x=Z7|WXKei- zWS=yKZL~*dT+t+f?z|g#wf^ITSL<T$`j1JSg`U{OExWro2xsV?QPfWwr{Kgm(b72o z;5nlFs6mc2qockt+}D3<$_V(3t^dT+)(zS}@kRW^wDYI2J|A}K^P#ECIlE3vkk`*4 zQT#)2e0bD{C`IEgUBCXJC%TW;7uKH{*fB96o-Ai~3}tuhK+^}1r|hT(3aW1PFu@x@ zC5bS}hQ+iXpGP$ze8iBaFeAEZO}L*EeO=c6u|hABnCDUHooabC2Bw8!;u6e~ycgCl z@o#Y7FaP?l2Y(9q8@aLdKM{Ml6xIxJC5?|zcCP657Jf6MW|H%&%nsx3gz$VHLIEF? zPF47dRen4W{E0p7uqUjW><;l^{iZI<y0k|n>Y<pz`W+K6(F!5pUm@r#q<-Tj01*uc zO7M25(rbebSs%pUWb`8baY^;ZxP*$VNvKChN$5MD=WKTDDNmF}i8g$_Lw$h+9(Gwl z$ly~V|2l(QHsi8cKpZBx>>iiJMtI(3*If2P7m2?fN_$;x`+LyJj^>Gy{Lzd-tHA3+ zo{eu7*54F&#`i@Yz*un+WGK91Y}Qku1TX2$4+^hH?4k4>tP~J`{W~h;I|kwe$JXD< z4lovHLKOhm!ut1Bg@G&_gv;WfDM3ZA-Vy6eIq&N6DndD~ae|=a#E%nKVT58l&+bZG z*Z;%{|A0nVt=0vY<5r8Sl3w0xSoy$4P@^T-0t?P7xdK%MjED&gk{!k#gv=88_U_5s zkcMo$7Xu%}z`NwZC>hvY+`(`>kQapJtz54s6PR?au!M9jX?R;2+%0i%7%hYDd0p0Y z!F(A3R^YWpJQ!`<d4;TFClnkzA*CBTftn%*C&Z@r;93UL5K|Fl*X#TQ!#?B4*z*eL znHSPF#Rw35+G%U$+B>j?E~GqJWn#j{?g%N^ImJ;&N1?b1^Ut{Sqze8mU1T28bE9;z zZrCw!`WL8ghE`JNydHN*_unw1YyG$V?T-wbe+h|=Yom;aqj>^_jeTS5zl0(%`%4oV zrVFCH;YRa=E;BCd+7K9QFfbN2{z#X+F7G2xN>$jnq>)PLp(j>`pr>2d`2MKuwvBfQ zF`<zCH3K4ZDGp`}lf>G)?-;rF^&+6}#@z&cH}2-#0E5fKxJT9vN$bXUjGG(MfQ|3^ z@OKe)(31YKaf`Xni+X!0v}_+5vT@E@%T18FvCr5)r&M#E#?@f~9WuDF&qrJ`i8#nZ z;nl*5J-jN(T9vGASXO6(zVRY?B1wkR!p5{N--jux32#)OqE2+D?>t=Mb@FDKdczcQ zeg~F5l+Yjz|NI+hiu<DONsnzj5B+tQyk-a#i5EwWfS{#_4MaBIwtecmS5!o4{NZ9Y z=pM4!rK(?-s_sB%zn;N}MCi~)!Gi>EqfK#Zzb)RZy=NlH4TC`A(`0tX2uvQ^SR2W? ztZpMxoDt#O$OuqF$Pw++<o#{f-*)(0&fj+W+b(}&iXoyy{<fRZji<uK>wu9;;UCK6 z16=)U0!->gMn(V+{|dkwQQg;d`G(rEwr<yNK$q5h1C1J$G7+uoHwN+!J9C%jJeu+d zI{sQ0w>Ef~8^ilBq&8kBJ6F|Jb@DegfTz4h;*HnG*1nmuz{Jpy%Vh1Ev+J%2wTdKS z9JlbK7V{*ga1&ET^yo4}{)W!!Dd%sY62txpt<<}n{<h2Cc5@SB*1oA{I>m0ntzjg4 zVwld^A-vnO)2_pI-DTH&PVwX<4e?ki3hm<O(~i(2$WY|O@We13uUmen8?-w?8~8R} zr$k-?46o<IT~d-&!_<-7_$O4f0M|k24(GuEBQ)ZMETD&p;azSpc^bAbRiGp#-a}|4 zyeG`RhrriJbq^tkLSs*!N@s_M_hg|kOtte0h4Mqsk(efPmB5qHK<jm}*f362=AYn) zDh*|ZhbNdkeJe{uejLV*Jw-m|4&UZB#7(>&B21!hOEA}dHwM1x6OH&A5~?gr<8<5U zZ-f4}+uyM1AdwvhKrK<u--i8d7dL<a6J+h%2>uRIQjLFrSEo2IuE5$iWJSkdVaB7- zcMWSmvayZ7C)viZFKoPtq+@&wRS+Wqh~X$0Y^>RXluV4<IJ~jvA&oOe1XACf7^n73 z#5BNwDNc_>=K+NAaY!->kB|Eic)ajRZpX*gey_0cj>>$;qu6d6TxsIQTQ-4KfRP9? z(0NyO!N$9cG5+~|%fom=U4etQ{fj&|QG82{dixPf2X3PHe*DKYQ!SbV;pn$<O`xe4 z)iR)k9tlO^Pr0o9M3?WW;c+hbQ+xP{#s(iXw)PjpR8WBWu(f>RVVB>*<aTsoG?yDF z?3=*Vl*4g})HBD<W%Jn`xk2Uy*_}E1_$~frv+A&i-JXXt!{qRBENJg7to;?y4`+5+ zNan&CoN;@{*8XjXSIEaBY!7E1Nl026|Avxr&`|OyMk1Nlhp1`Z?j%q?C)Ix#v||wd zm0S)-g#E)h!AALcOqm_ZX&z?RyEKV*XtW6JpcB@<`%n(Kf6IoDchs=ms?Xifq8)C4 zdT2WNFcq+t>Xj@n>f@_69I7^q02TM<cAyh?trd5(RKsE;&ASYA+2Pz!9#OxWwaRc8 z%O|r)D0N$VhbmDHSN>&3NK4Z2Bq<tO-<!`E$TNokd}qeiA49ArP%|hGa-S|tD^$2t z_^rYm49FIaWFzaYj#Ae8)xe&sz<^`!MmHlvGh#Zz6)OERP!oCBfnwwzb|1|R8)tvU zoCF@9Gm2{4&t&yyj0J`Dr--=fZ6w0J$CT(QVmpvmUk!}sFb1H&q~e{VmqL+O_vLcX zrvqPvFrJpkz@MofP{`fl?)sA?$s>O`VCQXIM@Emxt9Z@U-VU@hUkbtLN9f}9llE^q z#>ED#z5P+7hoYboitChHobdI*=YvZwX7zVcJ(t5lGHsP8(xnnXS~l%jl#~>chwN6$ zkYwdo#ENP9Jk~j6f$|vrCvww~1Jj`~_!K0cZz9xz?i&&kdBKR{CTUVIo8vvjl+koE zqB{CBeIfUe!d1EIp2r(lRuk^15oOD#2(^N1pb&1Vit3%zGCUU<SjD|z?6LLzY8bwI zA3zj*_+htePbTxYS+S41p`A*#KQ~G()XL}W`g5y_C{acb*m5kiI4VtGRlqkYI|zv~ za*vQboH>~*1WFJyGLW#&s6o^J*4_$PW32<_@~3i4sV(0f6@7;s<(Q@?OF6Ri+ON^? zSF_^RHU0*E^`yP#pRUD1B0)_TtOfF(G7gVEq~83N$rij_&VEE9_1T@>e+p}_XQj4X zJ>HQV6(9{uI%N>RyJL9w)|0tiCKR-)Mm_1{x9(|L_M<sO8_7{SLc2rd%h@M$yY1ao z-XaiUWG7K<+9)kZV#`8SIddd|V6B1%Yl>i|B!pmn%jz6hkpC5QtS#03)@Y!)9E5%O z302@Lp?+T}d<E~bXJ2IOwa=Omm8szW+m3h)?L+*EvDIGvr7;tJIPv`&)isfcF|_Tf zRNU8uY<oyAbt;EJBSOpilcA;MBN7-(0eI01miBG2>1H8{xZTy2PkQ#0KSBjb;Z;N< z8ZY50BaE+i4N6HJo`i{(Shen?_1Y3sF%}5XZJ-BB2RdS>htR@u_EFjcnQ6lWUq2Q7 zwmQ-@Whgh0#WKj@DNZ^f%jk;PJgDJvlmvLd^Ad&ipW{v>V+}U3Iw7s`)hQD(WSppV zM@awf#0cw&aaHC?a6ZOzH$K@|UNq{<8p&|DsD{t-FB#^P@M>1b^f_CIWpyoI1cs^r z2dlHy%qXMMz`(FsD-4bA4x1IC(6a)DUy$8=jH8O;Unu-4m`dg(agf-JGO9@(t`;`L zPG7nYY?M{07`;(OO8kI%N$psB4|Z{rZ6&>7#P<j>fVm)xJwKY2YI`FA8w6Jb1G6{b zyj^f!<`R~xBehv#>tBeL7$He|u*BA{L`#g2kGHXY{3yx<7$HX<5X<2$&5XjA2vp38 z!J*;jTeLYOgWu{mMM;EW>~tXVcGetAc(?R#_nyqa<8II6PJf4Y#$}0pxxuiE(0j`w zyqWPmI6GNOF=O;YnD$de<7v}GP;RqVWVDPkGN>9qX88kGAIlz^V6Z^$yX6B_8^<5N z7z2Y5YmKIO2F)ORA43Y}D?fH2qctlZym?=ut;|><xj`k(Tf%k66e8<o3CVX}mJ})| zz22I@D8{<mqSXDxLNPXe{l~HK>p%8R`*<_cR1*0C|FTK?50msC1}A^Gd1LoOU(z{@ zHcSJGo;IU+{hXR6pWZo7S0Ozxc4(fFlYf?J*(iVW;tW<W`ivMpl#_4KEWdnVQreA< zeUQu1clhGP5Ty4nJwrZFO-(BmVpe6VH`zR@y2IE$s&So4ec%VO(cv751sNtHsK*yD zNQI$SxEFFe<gXT;5JM5!30BNWE(L!oGrEf!dU+f5{YYv?^$)TGHY|C@VT<MmlyXNX zbA+%K0epq5wl{I)%W-Fo9vIC-jTMCfj|BNFQkylSN>V$pGXuGyxJo8|K#g9_a+Br1 zFSH26#5TiRHLi?3HI{oQKft6)e*n~cRx(CC@a>aRJ_tCo_HE2^aSgsI1q<V>7JQrd zJtM&ENS3)sc64B%`^E0ju2gtKcIR@VBfANRG%kqoaaI_ZoKv?+YB^3xyFy93KoBY^ zs`6l?XS+rp&W#}U`H5Zmyqq=p?8HD8?<Y|>w@Hk5Gnd_!;Mto|#om;0v;L;%D*-Jo z<p=V+b33({0sEYGOZZ8m=_QXLLy`kvn@}z2G1X#}?k4Mim^Lv0k6_L4XnrKOGfymk zvjY?3CXV0Hn7nUd!1ox5;U5LPlLhF;_EQnZl$R!ECg{2xw)>uevHhCf4vmiOXMKX+ zV5&h$1KEJHXBaT(OeCB2OI9&8-ubewN@G}FkQy98YHh7xFHHyQ!-GK%kWYz-K542_ z8T0B|NT9twHROQq?~Q1b_*Wr`SFS0z410Fd1ii5WBv=w8%!3c$8`#9?WP$|`gpBKd zDqymiE;j`qRjQDMfQdT<eEhox`%rr~a{ua{+)j`{`cLN%z(iKpq`7o=rm!UA8%g|Q zfeJV6ODU}XU^H)K|G-o_jtoWVq^1r<jbURa^7ybSICy9sm|PLp=^H>Li&~OO>k}ZV zjmdhG;OINngm-uyarB+6B{roc{v9JQO&l}Cob(!^^f|L*Pnvn|+M027W4DRKIS*9R z0s62sj26$+)}!yB0;9kZSSk9xLw;dt-YBfUu}d!$KpHLl+lBStj^RHltpCvjo24Xr z3ah{k1l@Cf!)ac+ft=vJbAjs{j#4L>llwF?7)^e19-d8MHeMg6RwLu69Tz;Q3hf+6 z8<-=j)*Iiqt5eBFUG?AiKK~4iE%XsA#^7X<ze%eh?}7y~=kW!^;=*dV7C_h?CMOa8 zu$ep+pW%^l7ejA+oH5gAypLy%F*6L~8+YT#v~kylq~zvXao6A8^SAGELxXXH1ok`< z#AoA?U_xv>Vy+VA2>`up4g_2d@Z8|I;KXNJyK8f$yYa~rpNp?q@DMBZMRxBqrMhHF z72k#O_hF#YIs3+*O(M|W!mGBqV5P94>b)vY;;YH~JhWGdT$M#uSpQ$VVfN?#>3@?1 zt`^q+Wnuk)X4s<^!6c$KQj2FzJf>CQ@xsP?=*HNyz6#F}h-FyDXX29$-5YNf*8ifg zArz&%-$dnche~J1>FvQhp2p|FX{6#kISI=KFqjI4JZAF%$z&wTkVT1ZTB4uCL?D(e zxu8+t5ZfD+p0}1BGn!=><*FeqW9$DW10vJ9pT^wYP4;g9(D2%_^V%0j&CZ#iwpqJT zJ=fl2p+kVpl;%CdxkrRsn8>_ksRZQJI!$5yuNccTZfO+`UC)ky{#pldXaaHy1yaja z92tQpEVYd2S)=9%(<m*y_=Oj}@$a6`xWnPlq0Rv^bB#u=b%0}n8uc5s)w$K>N;$qf zwNkB>E6v=Y0|)h&lBw6m7+5GL^O#wW>#WxpY^;5QcsabkVREtY7>>NGs%s-rVdhxI zO?D2knO$gBmvz{c9cOdkRQ1M8y<NFcX?|KY2<HiLn2*b;GhSzLKumv~RRZvoiN6K? ziV7otj>Qjl6MYkAWI)-W3B+SqY4+eGP?!-9)0POhn}bEe!@I!EiJ=iJp9xP-Z%vL~ z7x0LW`60Uw+BIiab{Q(Og@NAOz|Nhz?%E|u+byuA7BWS4vJ_I-*v~)g_Cabu9VmN; z63e?hq&-mCq20g~Hi!OXu{yFN>Tr5i>17$QPm0zITN8X}7latpiDT)6Fp9)Ahn*=J zrX#Owqz??pKVs&MU$tR5$Ft4^@^wnynQ=qYXHH#tft}38VB+`(dK$a@Q*wQTA=ch^ zUn!dU4Vy_p0mBTq1xzUwWh+Iy@;i6JA9b89Ns(7+cd7p3nkqk-S5rQM#b|lB$ZE_F zTOSs1lPF&QLX^}dRwQdXcE<fa<l((^xHjQJPiaBX31C+<r?qcQ3}`W2clMgd;8f8j zRpG9gKnA;uE*`=L8-{mu!^9BHg0~Zdw04MK45%-6Q~7cAK88BBA1+{B^Vkv0#F)|2 zw-|yJ%(4MzY~yFFZb>M{Ha<r=wq%E;I>W#q%T@O3%s2s|KaI1n3FID=pm6|?eg*p& zGB>_6jFFz%Gx0dv7k9GpPR+6T8tXgbsucyv)6SKD*#ZV5V<1DHMzZzqVHqO>eq`JU zr7%gA>yot}Dx|^GvfIGvmpgp&U1ps4@R$m~X~3F?k5Gr^fn#kQ@QX0AEDhMgD$x`e zGPZFBqnCsp=+}N~Uf-V-nCiwDUxy!g@9$4wC_i@m?KF=DyF6glnli-n*-FNJ^1y{N zb7z~SrOIoK=B;O6;w-OfqyD+uM-Ci(_ENL4Sgln)ce+;Pw7HC%8+{~6IbCfn*Gj88 zNAP1JQB2+xj}(1|V#qIjvGcf`+m~?<Td;V(RIL}2GuPZx8CN{b31`jfjhpS_fAf!u zhYlV*QM}w(D%FcKw@dYQt8p7p%xF=2cZQRkBDw;YIRkhCc|*>}m1r*ek(W7Dk7M7G zv(Pw3jDy@P?eD!ea9(KzwKw@)x-sA`y*%J9&rZ+&^>5ApUh~l}o&Up+f9{Jv{rc*+ zl&1Wv*KSnX^Rt|owp^~<uGAXK^Oq~j95)6SUu!iNu1%H8GxgTB^VQbEHUFk{%^G^G zas8{;?C3ZDd|;WQW<R97_~+j#T#Qe>_n&vA^Ka%)H=5J6nz-kdS__S4rE;KL<I5ZV z{Pk0=_`HQ4Tpn=X0S6v%-~k67aNq$4{{O;(jP{kgea@}*w%Cj&PNBFrUg=)scXe&R z{mjohE$h#+N4US_W;r>+pM*N=W;os90?#vC&+4QH{`~X7fBo<LK0`CBi1ByMO0qwL zT)W6x+%(q=RP|-CzD3rTtorIzUr_7MlTNwx^|`*UZ}HxLt*WnA{hxn4cn+c&YS%ew z=Uz(BSQ>x&pRPwZ2LK+p=iMXZjo<M5^91--nmXv4QGdvyzNyyt-9=6b(wCq9v?!e_ z;-JIkhNR~D{#hr+=xchNpAgOt=%ME*msxj`=Oyy^gBW9*{JEq$o7B!Hr3_AQGp_iP zMD(3~4ZeqS4!Y`k!0E&c*?;<iHN)4+{`=mVwNT&R`m^G0>RZ_R#1-8?BHtlOKFG;P zMZO}}NfF|Fky7;4yuRAjcjcJh?xfZ0VxTDwsa}!ydeZmC-MsA7?^)y9CGzSUV1HI< zr$ya)#AETRH|=JwZRXht%d@$^ibz^7w>Rgbx)1(5;J^b8JmA0s4m{w%0}edkzyl6E z;J^b8JmA28_#F7kfYbNFdrtg^U)2XSe87PR9C*Ni2ON07fd?FTz<~!Gc))=N9C*Ni Q2ON07fd?G;n{nX(0gQ_{WB>pF literal 0 HcmV?d00001 From 2d90b7e8acbce590297626f82709b1821e3da931 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 11 Feb 2011 19:53:29 +0100 Subject: [PATCH 015/168] Change namespace --- .../Project/Commands/ViewCommands.cs | 3 ++- .../DesignerBinding/ReportDefinitionDeserializer.cs | 2 +- .../Project/DesignerBinding/ReportDesignerLoader.cs | 1 + .../Project/Dialogs/DataTypeStringConverter.cs | 2 +- .../Project/Dialogs/FormatStringConverte.cs | 2 +- .../Project/ReportDesignerView.cs | 1 + .../Project/ReportItems/BaseCircleItem.cs | 1 + .../Project/ReportItems/BaseImageItem.cs | 1 + .../Project/ReportItems/BaseRectangleItem.cs | 1 + .../Project/ReportItems/BaseRowItem.cs | 1 + .../Project/ReportItems/BaseTableItem.cs | 1 + .../Project/ReportItems/BaseTextItem.cs | 1 + .../Project/ReportManagers/StandartPreviewManager.cs | 1 + .../ReportWizard/Generators/AbstractReportGenerator.cs | 10 ++++++---- .../ReportWizard/Generators/GenerateFormSheetReport.cs | 3 ++- .../ReportWizard/Generators/GeneratePlainReport.cs | 3 ++- .../ReportWizard/Generators/GeneratePullDataReport.cs | 3 +-- .../ReportWizard/Generators/GeneratePushDataReport.cs | 1 + .../ReportWizard/Generators/GeneratorFactory.cs | 1 + .../ReportWizard/ReportLayout/AbstractLayout.cs | 1 + .../Project/ReportWizard/ReportLayout/ListLayout.cs | 1 + .../Project/ReportWizard/ReportLayout/TableLayout.cs | 1 + .../Project/ReportWizard/ReportStructure.cs | 5 +++-- .../Project/ReportWizard/ReportWizardCommand.cs | 1 + .../ReportWizard/WizardPanels/BaseSettingsPanel.cs | 2 ++ .../Project/ReportWizard/WizardPanels/LayoutPanel.cs | 2 +- .../ReportWizard/WizardPanels/LayoutPanelControl.cs | 1 + .../ReportWizard/WizardPanels/PushModelPanel.cs | 1 + .../Project/ReportWizard/WizardPanels/ResultPanel.cs | 1 + .../Project/SecondaryViews/ReportPreview.cs | 3 ++- .../SecondaryViews/ReportViewerSecondaryView.cs | 6 +++--- .../Project/Toolbox/ToolboxProvider.cs | 4 +++- .../ReportDesignerDisplayBindingTestFixture.cs | 7 ++++--- .../Test/Wizard/GeneratePlainReportFixture_1.cs | 1 + .../Wizard/Generators/GenarateListReportFixture.cs | 1 + .../Test/Wizard/Generators/GenerateFormsSheetReport.cs | 1 + .../Wizard/Generators/GenerateListWithGroupFixture.cs | 3 ++- .../Wizard/Generators/GeneratePlainReportFixture_2.cs | 1 + .../Wizard/Generators/GenerateTableReportFixture.cs | 1 + .../Wizard/Generators/GenerateTableWithGrouping.cs | 2 ++ .../Test/Wizard/Generators/GeneratorFactoryFixture.cs | 1 + .../Test/Wizard/Generators/ReportGenerationHelper.cs | 6 ++++-- .../Test/Wizard/ReportStructureFixture.cs | 4 ++-- .../Project/BaseClasses/Printing/StandardPrinter.cs | 1 + .../Project/BaseClasses/SectionBounds.cs | 1 + .../Project/BaseItems/BaseGraphicItem.cs | 1 + .../Project/BaseItems/BaseReportItem.cs | 1 + .../Project/BaseItems/Graphics/BaseImageItem.cs | 1 + .../Project/DataManager/DataManager.cs | 1 + .../Project/Exporter/BasePager.cs | 1 + .../Project/Exporter/Converters/GroupedRowConverter.cs | 1 + .../Exporter/Converters/GroupedTableConverter.cs | 1 + .../Project/Exporter/DataPageBuilder.cs | 1 + .../Project/Exporter/Decorators/BaseStyleDecorator.cs | 3 +++ .../Project/Exporter/ExportColumns/BaseExportColumn.cs | 3 ++- .../Project/Exporter/ExportColumns/ExportGraphic.cs | 2 ++ .../Project/Exporter/ExportColumns/ExportText.cs | 1 + .../Project/Exporter/ExportRenderer/PdfRenderer.cs | 5 +++-- .../Functions/ReportingService/FieldReference.cs | 1 + .../Project/Factories/RendererFactory.cs | 1 + .../Project/Globals/CreateGraphicObject.cs | 2 +- .../Project/Globals/FilePathConverter.cs | 2 +- .../Project/Globals/FileUtility.cs | 2 +- .../Project/Globals/FontCache.cs | 2 +- .../Project/Globals/GlobalEnums.cs | 3 ++- .../Project/Globals/GlobalLists.cs | 2 +- .../Project/Globals/GlobalValues.cs | 3 ++- .../Project/Globals/GraphicsUnit.cs | 2 +- .../Project/Globals/PdfHelper.cs | 2 +- .../Project/Globals/ReportSectionNames.cs | 2 +- .../Project/Globals/UnitConverter.cs | 2 +- .../Project/Interfaces/IReportModel.cs | 1 + .../Project/Printing/AbstractDataRenderer.cs | 1 + .../Project/Printing/Graphics/Border.cs | 1 + .../Project/Printing/Graphics/EllipseShape.cs | 4 +++- .../Project/Printing/Graphics/LineShape.cs | 1 + .../Project/Printing/Graphics/RectangleShape.cs | 1 + .../Project/Printing/RenderDataReport.cs | 1 + .../Project/Printing/RenderTable.cs | 1 + .../ICSharpCode.Reports.Core/Project/ReportEngine.cs | 3 ++- .../ICSharpCode.Reports.Core/Project/ReportModel.cs | 2 ++ .../ICSharpCode.Reports.Core/Project/ReportSettings.cs | 1 + .../Project/ReportViewer/ReportViewer.cs | 3 ++- .../BaseItems/BaseReportItemFixture.cs | 1 + .../Collections/ReportItemCollectionFixture.cs | 1 + .../ReportModelFixture.cs | 3 ++- .../ReportSettings/ReportSettingsFixture.cs | 1 + 87 files changed, 126 insertions(+), 46 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ViewCommands.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ViewCommands.cs index b8ed4cb3a0..6b30ce513f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ViewCommands.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ViewCommands.cs @@ -6,10 +6,11 @@ using System.Globalization; using System.Windows.Forms; using ICSharpCode.Core; +using ICSharpCode.Reports.Addin.ReportWizard; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Gui; -using ICSharpCode.Reports.Addin.ReportWizard; namespace ICSharpCode.Reports.Addin.Commands { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDefinitionDeserializer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDefinitionDeserializer.cs index c5ad57b05c..e558df661c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDefinitionDeserializer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDefinitionDeserializer.cs @@ -107,7 +107,7 @@ namespace ICSharpCode.Reports.Addin Console.WriteLine("Absolut2RelativePath"); Console.WriteLine("Image Filename {0}",fileName); Console.WriteLine("Image Filename {0}",baseImageItem.ImageFileName); - string d = ICSharpCode.Reports.Core.FileUtility.GetRelativePath( + string d = ICSharpCode.Reports.Core.Globals.FileUtility.GetRelativePath( Path.GetDirectoryName(fileName), Path.GetDirectoryName(baseImageItem.ImageFileName)); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerLoader.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerLoader.cs index 1063e54a42..7f27b716b4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerLoader.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerLoader.cs @@ -9,6 +9,7 @@ using System.IO; using System.Xml; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.SharpDevelop; namespace ICSharpCode.Reports.Addin diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Dialogs/DataTypeStringConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Dialogs/DataTypeStringConverter.cs index e3a8da0a59..75630cb4b7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Dialogs/DataTypeStringConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Dialogs/DataTypeStringConverter.cs @@ -9,7 +9,7 @@ using System; using System.ComponentModel; using ICSharpCode.Reports.Core; - +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Addin.Dialogs { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Dialogs/FormatStringConverte.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Dialogs/FormatStringConverte.cs index f4d41faf3a..c89c34815b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Dialogs/FormatStringConverte.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Dialogs/FormatStringConverte.cs @@ -9,7 +9,7 @@ using System; using System.ComponentModel; using ICSharpCode.Reports.Core; - +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Addin.Dialogs { 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 4d57e43b4a..a8165a4e1c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs @@ -19,6 +19,7 @@ using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Exporter.ExportRenderer; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Gui; 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 2115ec5b7b..9511a5b89a 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 @@ -7,6 +7,7 @@ using System.Drawing; using System.Drawing.Drawing2D; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Addin { 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 2ed456e017..43d77d406b 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 @@ -11,6 +11,7 @@ using System.Xml.Serialization; using ICSharpCode.Reports.Addin.TypeProviders; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Addin { 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 ad05261673..2863f0cad9 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 @@ -8,6 +8,7 @@ using System.Drawing.Drawing2D; using ICSharpCode.Reports.Addin.TypeProviders; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Addin { 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 e5c8d8c792..ac1b89c360 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 @@ -7,6 +7,7 @@ using System.Drawing; using ICSharpCode.Reports.Addin.TypeProviders; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Addin { 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 072ea18178..1478f2fc86 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,6 +7,7 @@ using System.Drawing; using ICSharpCode.Reports.Addin.TypeProviders; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Addin { 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 09464a5e25..75db75a60f 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 @@ -9,6 +9,7 @@ using ICSharpCode.Reports.Addin.Dialogs; using ICSharpCode.Reports.Addin.TypeProviders; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.BaseClasses.Printing; +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Addin { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportManagers/StandartPreviewManager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportManagers/StandartPreviewManager.cs index 7795ef6b95..3f82e9e7eb 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportManagers/StandartPreviewManager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportManagers/StandartPreviewManager.cs @@ -4,6 +4,7 @@ using System; using System.Data; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Addin { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs index 7522b1d063..1e6bfa729d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs @@ -5,9 +5,12 @@ using System; using System.Drawing; using System.IO; using System.Xml; -using ICSharpCode.SharpDevelop; -using ICSharpCode.Reports.Core; + using ICSharpCode.Core; +using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; +using ICSharpCode.SharpDevelop; + /// <summary> /// Abstract Class for all ReportGenerators /// </summary> @@ -81,10 +84,9 @@ namespace ICSharpCode.Reports.Addin.ReportWizard settings.GroupColumnsCollection.Clear(); settings.GroupColumnsCollection.AddRange(this.groupColumnCollection); -// settings.ParameterCollection.Clear(); -// settings.ParameterCollection.AddRange(this.SqlQueryParameters); } + private void AdjustSectionToDefault () { ReportSettings settings = ReportModel.ReportSettings; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GenerateFormSheetReport.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GenerateFormSheetReport.cs index 563d68a3aa..a77a3f4787 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GenerateFormSheetReport.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GenerateFormSheetReport.cs @@ -4,8 +4,9 @@ using System; using System.IO; using ICSharpCode.Core; -using ICSharpCode.SharpDevelop; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; +using ICSharpCode.SharpDevelop; namespace ICSharpCode.Reports.Addin.ReportWizard { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePlainReport.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePlainReport.cs index f4ccc0cea4..5a3d0ddca4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePlainReport.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePlainReport.cs @@ -3,8 +3,9 @@ using System; using ICSharpCode.Core; -using ICSharpCode.SharpDevelop; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; +using ICSharpCode.SharpDevelop; namespace ICSharpCode.Reports.Addin.ReportWizard { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePullDataReport.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePullDataReport.cs index f7e371f837..0a29af0427 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePullDataReport.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePullDataReport.cs @@ -4,6 +4,7 @@ using System; using ICSharpCode.Core; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.SharpDevelop; namespace ICSharpCode.Reports.Addin.ReportWizard @@ -34,8 +35,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard { base.ReportModel.ReportSettings.ReportType = GlobalEnums.ReportType.DataReport; base.ReportModel.ReportSettings.DataModel = GlobalEnums.PushPullModel.PullData; -// base.ReportModel.ReportSettings.AvailableFieldsCollection.AddRange(base.ReportStructure.AvailableFieldsCollection); -// base.ReportModel.ReportSettings.ParameterCollection.AddRange(base.ReportStructure.SqlQueryParameters); base.GenerateReport(); GlobalEnums.ReportLayout reportLayout = (GlobalEnums.ReportLayout)base.Properties.Get("ReportLayout"); 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 7978343de2..a9587879aa 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 @@ -4,6 +4,7 @@ using System; using ICSharpCode.Core; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.SharpDevelop; /// <summary> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratorFactory.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratorFactory.cs index 60d89c8cb3..245c2558eb 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratorFactory.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratorFactory.cs @@ -4,6 +4,7 @@ using System; using ICSharpCode.Core; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.SharpDevelop; namespace ICSharpCode.Reports.Addin.ReportWizard diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs index 0bb310fc99..fddd1d53ca 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs @@ -4,6 +4,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; namespace ICSharpCode.Reports.Addin.ReportWizard 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 85873d2da4..1c1d2e1b88 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 @@ -4,6 +4,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; /// <summary> /// This class build a TableLayout diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/TableLayout.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/TableLayout.cs index 126395a198..bf7d7fd41a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/TableLayout.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/TableLayout.cs @@ -4,6 +4,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; namespace ICSharpCode.Reports.Addin.ReportWizard 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 7916c74efe..55ae3c94c7 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 @@ -7,6 +7,7 @@ using System.Drawing; using ICSharpCode.Data.Core.Interfaces; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; /// <summary> /// This class creates settings for a report @@ -75,7 +76,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard public string ReportName {get;set;} - public ICSharpCode.Reports.Core.GlobalEnums.ReportType ReportType {get;set;} + public ICSharpCode.Reports.Core.Globals.GlobalEnums.ReportType ReportType {get;set;} public string FileName {get;set;} @@ -94,7 +95,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard public CommandType CommandType {get;set;} - public ICSharpCode.Reports.Core.GlobalEnums.PushPullModel DataModel {get;set;} + public ICSharpCode.Reports.Core.Globals.GlobalEnums.PushPullModel DataModel {get;set;} public IDatabaseObjectBase IDatabaseObjectBase {get;set;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportWizardCommand.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportWizardCommand.cs index 42c8dfe5bb..d12acafc05 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportWizardCommand.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportWizardCommand.cs @@ -7,6 +7,7 @@ using System.Windows.Forms; using ICSharpCode.Core; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Gui; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/BaseSettingsPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/BaseSettingsPanel.cs index 470b80ba65..89f24e73ca 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/BaseSettingsPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/BaseSettingsPanel.cs @@ -6,8 +6,10 @@ using System.ComponentModel.Design; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms; + using ICSharpCode.Core; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Gui; using Org.BouncyCastle.Crypto.Engines; 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 74e40aed9f..b88dda21e4 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 @@ -5,7 +5,7 @@ using System; using System.Drawing; using ICSharpCode.Core; using ICSharpCode.Reports.Core; - +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Addin.ReportWizard { 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 bf4e6ecdbe..3c57eecdb3 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 @@ -8,6 +8,7 @@ using System.Windows.Forms; using ICSharpCode.Core; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Addin.ReportWizard { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PushModelPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PushModelPanel.cs index cedf9efb4c..3132fb90c4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PushModelPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PushModelPanel.cs @@ -8,6 +8,7 @@ using System.Windows.Forms; using ICSharpCode.Core; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.SharpDevelop; namespace ICSharpCode.Reports.Addin.ReportWizard diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs index ab8cc64885..04e10585da 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs @@ -16,6 +16,7 @@ using ICSharpCode.Data.Core.Enums; using ICSharpCode.Data.Core.Interfaces; using ICSharpCode.Reports.Addin.Commands; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Project.BaseClasses; using ICSharpCode.SharpDevelop; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportPreview.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportPreview.cs index ef0fb64a0c..87415a6105 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportPreview.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportPreview.cs @@ -3,8 +3,9 @@ using System; using System.Windows.Forms; -using ICSharpCode.Core; +using ICSharpCode.Core; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.Reports.Addin diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs index 825cbfaef2..7fded46ba2 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs @@ -3,13 +3,13 @@ using System; using System.Windows.Forms; -using ICSharpCode.Core; -using ICSharpCode.Reports.Core; +using ICSharpCode.Core; using ICSharpCode.Reports.Addin.Commands; +using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.ReportViewer; using ICSharpCode.SharpDevelop.Gui; - namespace ICSharpCode.Reports.Addin { /// <summary> 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 042dbd331b..db75192f6b 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 @@ -1,13 +1,15 @@ // 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 ICSharpCode.Core.WinForms; using System; using System.Diagnostics; using System.Drawing; using System.Drawing.Design; + using ICSharpCode.Core; +using ICSharpCode.Core.WinForms; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Widgets.SideBar; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/ReportDesignerDisplayBindingTestFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/ReportDesignerDisplayBindingTestFixture.cs index 7964838892..7c51944d1b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/ReportDesignerDisplayBindingTestFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/ReportDesignerDisplayBindingTestFixture.cs @@ -2,12 +2,13 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using NUnit.Framework; -using ICSharpCode.Reports.Core; +using ICSharpCode.Core; using ICSharpCode.Reports.Addin; using ICSharpCode.Reports.Addin.ReportWizard; -using ICSharpCode.Core; +using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.SharpDevelop; +using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Designer { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/GeneratePlainReportFixture_1.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/GeneratePlainReportFixture_1.cs index ff4c52bdcb..605fd82f84 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/GeneratePlainReportFixture_1.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/GeneratePlainReportFixture_1.cs @@ -9,6 +9,7 @@ using System.Xml.Linq; using ICSharpCode.Core; using ICSharpCode.Reports.Addin.ReportWizard; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Wizard diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenarateListReportFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenarateListReportFixture.cs index dd82242b4f..6622eb7c2a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenarateListReportFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenarateListReportFixture.cs @@ -4,6 +4,7 @@ using System; using System.ComponentModel; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateFormsSheetReport.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateFormsSheetReport.cs index f1efa6f2f6..3b77e1563a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateFormsSheetReport.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateFormsSheetReport.cs @@ -5,6 +5,7 @@ using System; using ICSharpCode.Core; using ICSharpCode.Reports.Addin.ReportWizard; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Wizard diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateListWithGroupFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateListWithGroupFixture.cs index c6978c4628..b6011fb054 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateListWithGroupFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateListWithGroupFixture.cs @@ -2,12 +2,13 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.ComponentModel; using System.Collections.ObjectModel; +using System.ComponentModel; using System.Linq; using ICSharpCode.Reports.Addin.ReportWizard; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GeneratePlainReportFixture_2.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GeneratePlainReportFixture_2.cs index 3c90302a2f..79fbebd239 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GeneratePlainReportFixture_2.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GeneratePlainReportFixture_2.cs @@ -5,6 +5,7 @@ using System; using ICSharpCode.Core; using ICSharpCode.Reports.Addin.ReportWizard; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Wizard diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableReportFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableReportFixture.cs index 05c35983f8..60599eb755 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableReportFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableReportFixture.cs @@ -6,6 +6,7 @@ using System.ComponentModel; using ICSharpCode.Core; using ICSharpCode.Reports.Addin.ReportWizard; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableWithGrouping.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableWithGrouping.cs index 3aee82864d..0d82fafb82 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableWithGrouping.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableWithGrouping.cs @@ -10,8 +10,10 @@ using System; using System.Collections.ObjectModel; using System.Linq; + using ICSharpCode.Reports.Addin.ReportWizard; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GeneratorFactoryFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GeneratorFactoryFixture.cs index 5fc3aaaf17..7c734d5fc9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GeneratorFactoryFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GeneratorFactoryFixture.cs @@ -4,6 +4,7 @@ using System; using ICSharpCode.Reports.Addin.ReportWizard; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/ReportGenerationHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/ReportGenerationHelper.cs index da3054b10d..0b0d863d7b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/ReportGenerationHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/ReportGenerationHelper.cs @@ -2,11 +2,13 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using ICSharpCode.Reports.Core; -using ICSharpCode.Reports.Addin.ReportWizard; using System.Xml; using System.Xml.Linq; +using ICSharpCode.Reports.Addin.ReportWizard; +using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; + namespace ICSharpCode.Reports.Addin.Test.Wizard { /// <summary> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/ReportStructureFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/ReportStructureFixture.cs index 765caf2bfb..399070c618 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/ReportStructureFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/ReportStructureFixture.cs @@ -2,9 +2,9 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; - -using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Addin.ReportWizard; +using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Wizard diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs index cf2b618977..ff64f038cf 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs @@ -4,6 +4,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; using ICSharpCode.Reports.Expressions.ReportingLanguage; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs index 5f5d4ec00d..66fa8c5a85 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs @@ -3,6 +3,7 @@ using System; using System.Drawing; +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Core.BaseClasses { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGraphicItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGraphicItem.cs index 957db260ec..644e6f14df 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGraphicItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGraphicItem.cs @@ -8,6 +8,7 @@ using System.Drawing.Drawing2D; using System.Xml.Serialization; using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Core { /// <summary> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs index 224ff65f18..361bd0e70f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs @@ -8,6 +8,7 @@ using System.Xml.Serialization; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Globals; /// <summary> /// This Class is the BaseClass for <see cref="BaseTextItem"></see> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs index b51eaa3850..ec6f40ac1e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs @@ -14,6 +14,7 @@ using System.Globalization; using System.IO; using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Core { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataManager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataManager.cs index 2bb1e1570f..ddbeb5ee4d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataManager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataManager.cs @@ -7,6 +7,7 @@ using System.ComponentModel; using System.Data; using System.Globalization; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Project.Interfaces; /// <summary> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index f2b726cf33..a323de6b1e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -5,6 +5,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.BaseClasses; using ICSharpCode.Reports.Core.BaseClasses.Printing; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; using ICSharpCode.Reports.Expressions.ReportingLanguage; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index 49cd8cc81a..b7af5dea5a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -4,6 +4,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.BaseClasses.Printing; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; using ICSharpCode.Reports.Expressions.ReportingLanguage; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs index 05af0a6d9c..5bac5b37c4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs @@ -7,6 +7,7 @@ using System.Drawing; using System.Linq; using ICSharpCode.Reports.Core.BaseClasses.Printing; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; using ICSharpCode.Reports.Expressions.ReportingLanguage; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index ed0a7a24ee..1a5394dd97 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -5,6 +5,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Events; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; namespace ICSharpCode.Reports.Core.Exporter diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/BaseStyleDecorator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/BaseStyleDecorator.cs index a0f2dd8415..7e37d8ef79 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/BaseStyleDecorator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/BaseStyleDecorator.cs @@ -4,6 +4,9 @@ using System; using System.Drawing; using System.Drawing.Drawing2D; + +using ICSharpCode.Reports.Core.Globals; + namespace ICSharpCode.Reports.Core.Exporter { /// <summary> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs index fb41b4b5dd..26d8ddde25 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs @@ -3,8 +3,9 @@ using System; using System.Drawing; -using iTextSharp.text.pdf; using ICSharpCode.Reports.Core.BaseClasses.Printing; +using ICSharpCode.Reports.Core.Globals; +using iTextSharp.text.pdf; namespace ICSharpCode.Reports.Core.Exporter { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphic.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphic.cs index 1964f4e75d..dd1dc73b5f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphic.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphic.cs @@ -3,8 +3,10 @@ using System; using System.Drawing; +using ICSharpCode.Reports.Core.Globals; using iTextSharp.text; using iTextSharp.text.pdf; + namespace ICSharpCode.Reports.Core.Exporter { /// <summary> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs index 8aa5d49e9f..ff7268a1d8 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs @@ -4,6 +4,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.BaseClasses.Printing; +using ICSharpCode.Reports.Core.Globals; using iTextSharp.text; using iTextSharp.text.pdf; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs index 4acec16352..2b00232cd2 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs @@ -4,10 +4,11 @@ using System; using System.Drawing.Printing; using System.IO; + +using ICSharpCode.Reports.Core.Globals; using iTextSharp.text; -using iTextSharp.text.pdf; using iTextSharp.text.factories; - +using iTextSharp.text.pdf; namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs index 545f74df46..16a56e5fe1 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs @@ -9,6 +9,7 @@ using System; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.BaseClasses; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; using SimpleExpressionEvaluator.Compilation.Functions.AggregateFunctions; using SimpleExpressionEvaluator.Utilities; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Factories/RendererFactory.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Factories/RendererFactory.cs index 0f9f4cd974..21af7c464c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Factories/RendererFactory.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Factories/RendererFactory.cs @@ -3,6 +3,7 @@ using System; using ICSharpCode.Reports.Core.BaseClasses.Printing; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; /// <summary> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/CreateGraphicObject.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/CreateGraphicObject.cs index 2990f1ae3e..588d291ce5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/CreateGraphicObject.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/CreateGraphicObject.cs @@ -5,7 +5,7 @@ using System; using System.Drawing; using System.Drawing.Printing; -namespace ICSharpCode.Reports.Core +namespace ICSharpCode.Reports.Core.Globals { /// <summary> /// Description of CreateGraphic. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/FilePathConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/FilePathConverter.cs index 292d5b3bd2..e1fcbdbfb7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/FilePathConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/FilePathConverter.cs @@ -4,7 +4,7 @@ using System; using System.IO; -namespace ICSharpCode.Reports.Core +namespace ICSharpCode.Reports.Core.Globals { /// <summary> /// Description of FileHelper. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/FileUtility.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/FileUtility.cs index 0032ba644c..0590eaecbb 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/FileUtility.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/FileUtility.cs @@ -10,7 +10,7 @@ using System.Windows.Forms; using Microsoft.Win32; -namespace ICSharpCode.Reports.Core +namespace ICSharpCode.Reports.Core.Globals { /// <summary> /// A utility class related to file utilities. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/FontCache.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/FontCache.cs index 723b02acdc..0909279951 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/FontCache.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/FontCache.cs @@ -5,7 +5,7 @@ using System; using System.Collections; using System.Drawing; -namespace ICSharpCode.Reports.Core +namespace ICSharpCode.Reports.Core.Globals { /// <summary> /// Description of FontCache. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalEnums.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalEnums.cs index 81db43b422..1116e0457e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalEnums.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalEnums.cs @@ -13,7 +13,8 @@ using System.Reflection; /// created on - 13.12.2004 09:39:14 /// </remarks> /// -namespace ICSharpCode.Reports.Core { +namespace ICSharpCode.Reports.Core.Globals +{ public sealed class GlobalEnums { private GlobalEnums() { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs index ec4ac7a3ca..dca4cf5572 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs @@ -9,7 +9,7 @@ using System.Collections; /// Use this code to have the same functionnames as SLQReportingServer /// See <see cref="http://www.fyireporting.com/"></see> /// </summary> -namespace ICSharpCode.Reports.Core +namespace ICSharpCode.Reports.Core.Globals { /// <summary> /// Description of GlobalLists. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs index 0eb4b9512b..fce257ef2d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs @@ -19,7 +19,8 @@ using System.Text; /// created on - 19.01.2005 10:57:33 /// </remarks> -namespace ICSharpCode.Reports.Core { +namespace ICSharpCode.Reports.Core.Globals +{ public sealed class GlobalValues { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GraphicsUnit.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GraphicsUnit.cs index 9263259b1a..a99e2aa938 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GraphicsUnit.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GraphicsUnit.cs @@ -27,7 +27,7 @@ // DEALINGS IN THE SOFTWARE. #endregion -namespace ICSharpCode.Reports.Core +namespace ICSharpCode.Reports.Core.Globals { /// <summary> /// Specifies the unit of measure. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/PdfHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/PdfHelper.cs index b3c59922db..ce2dcdaa9c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/PdfHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/PdfHelper.cs @@ -4,7 +4,7 @@ using System; using iTextSharp.text; -namespace ICSharpCode.Reports.Core +namespace ICSharpCode.Reports.Core.Globals { /// <summary> /// Description of PdHelper. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/ReportSectionNames.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/ReportSectionNames.cs index c19ddee1c8..8e19a27882 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/ReportSectionNames.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/ReportSectionNames.cs @@ -3,7 +3,7 @@ using System; -namespace ICSharpCode.Reports.Core +namespace ICSharpCode.Reports.Core.Globals { /// <summary> /// Description of ReportSectionNames. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/UnitConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/UnitConverter.cs index 0ed22ce65b..0874e95eb4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/UnitConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/UnitConverter.cs @@ -31,7 +31,7 @@ using System; using System.Diagnostics; using System.Globalization; -namespace ICSharpCode.Reports.Core +namespace ICSharpCode.Reports.Core.Globals { /// <summary> /// Represents a value and its unit of measure. The structure converts implicitly from and to diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IReportModel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IReportModel.cs index 8017f3e869..9ba2def732 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IReportModel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IReportModel.cs @@ -2,6 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Core.Interfaces { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs index 9b29439419..a3fce0ac93 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs @@ -6,6 +6,7 @@ using System.Drawing; using System.Drawing.Printing; using ICSharpCode.Reports.Core.BaseClasses.Printing; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; using ICSharpCode.Reports.Expressions.ReportingLanguage; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs index 9b759049f4..3f51faf2c4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs @@ -3,6 +3,7 @@ using System; using System.Drawing; +using ICSharpCode.Reports.Core.Globals; /// <summary> /// This Class drwas a Border around an ReportItem diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/EllipseShape.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/EllipseShape.cs index 111c9e2883..a714d26954 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/EllipseShape.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/EllipseShape.cs @@ -4,7 +4,9 @@ using System; using System.Drawing; using System.Drawing.Drawing2D; -using ICSharpCode.Reports.Core.Exporter; + +using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Globals; /// <summary> /// This class draws a Ellipse/Ellipse diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/LineShape.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/LineShape.cs index eb1768131c..01e3398118 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/LineShape.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/LineShape.cs @@ -6,6 +6,7 @@ using System.Drawing; using System.Drawing.Drawing2D; using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Globals; /// <summary> /// Draw a simple Line diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/RectangleShape.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/RectangleShape.cs index 57764ae581..06749855a8 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/RectangleShape.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/RectangleShape.cs @@ -6,6 +6,7 @@ using System.Drawing; using System.Drawing.Drawing2D; using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Globals; /// <summary> /// Draw a Rectangle, used by DesingerControls and printing stuff diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderDataReport.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderDataReport.cs index fc3cf14635..98e50a9abb 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderDataReport.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderDataReport.cs @@ -6,6 +6,7 @@ using System.Drawing; using System.Drawing.Printing; using ICSharpCode.Reports.Core.BaseClasses.Printing; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; /// <summary> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs index 7dde45b20f..3ebd6e868a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs @@ -9,6 +9,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.BaseClasses.Printing; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; using ICSharpCode.Reports.Expressions.ReportingLanguage; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs index 5d9957e2d6..9b061e687e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs @@ -10,8 +10,9 @@ using System.Windows.Forms; using System.Xml; using ICSharpCode.Reports.Core.BaseClasses.Printing; -using ICSharpCode.Reports.Core.Interfaces; using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Globals; +using ICSharpCode.Reports.Core.Interfaces; /// <summary> /// This Class contains the basic Functions to handle reports diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportModel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportModel.cs index f2b1c829f5..6f86f2bd49 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportModel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportModel.cs @@ -3,7 +3,9 @@ using System; using System.Drawing; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; + namespace ICSharpCode.Reports.Core { 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 6b64995387..1b428ec726 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs @@ -10,6 +10,7 @@ using System.Windows.Forms; using System.Xml.Serialization; using ICSharpCode.Reports.Core.Dialogs; +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Core{ /// <summary> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs index 298990622d..4dca5c147f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs @@ -11,9 +11,10 @@ using System.Globalization; using System.Windows.Forms; using ICSharpCode.Reports.Core.BaseClasses.Printing; -using ICSharpCode.Reports.Core.Interfaces; using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Exporter.ExportRenderer; +using ICSharpCode.Reports.Core.Globals; +using ICSharpCode.Reports.Core.Interfaces; namespace ICSharpCode.Reports.Core.ReportViewer { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseReportItemFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseReportItemFixture.cs index c02f884b20..bba027e392 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseReportItemFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseReportItemFixture.cs @@ -2,6 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using ICSharpCode.Reports.Core.Globals; using NUnit.Framework; namespace ICSharpCode.Reports.Core.Test.BaseItems diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Collections/ReportItemCollectionFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Collections/ReportItemCollectionFixture.cs index d3ba1b1ba0..eec3d72d44 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Collections/ReportItemCollectionFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Collections/ReportItemCollectionFixture.cs @@ -3,6 +3,7 @@ using System; using System.Linq; +using ICSharpCode.Reports.Core.Globals; using NUnit.Framework; namespace ICSharpCode.Reports.Core.Test.Basics diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportModelFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportModelFixture.cs index 04199faa5a..caf0ec8be1 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportModelFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportModelFixture.cs @@ -2,8 +2,9 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using NUnit.Framework; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; +using NUnit.Framework; namespace ICSharpCode.Reports.Core.Test { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportSettings/ReportSettingsFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportSettings/ReportSettingsFixture.cs index e8eb080f6a..0859b0ce9b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportSettings/ReportSettingsFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportSettings/ReportSettingsFixture.cs @@ -8,6 +8,7 @@ using System.IO; using System.Windows.Forms; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using NUnit.Framework; namespace ICSharpCode.Reports.Core.Test From 1f65200563c973f659aeed4bca901ab699eb7e3a Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 11 Feb 2011 20:55:42 +0100 Subject: [PATCH 016/168] Add ServiceContainer.cs with UnitTest's --- .../ICSharpCode.Reports.Core.csproj | 1 + .../Project/Globals/ServiceContainer.cs | 54 ++++++++++++ .../Globals/ServiceContainerFixture.cs | 84 +++++++++++++++++++ .../ICSharpCode.Reports.Core.Test.csproj | 2 + 4 files changed, 141 insertions(+) create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/ServiceContainer.cs create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Globals/ServiceContainerFixture.cs diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index d3c92910f3..e51980a584 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -244,6 +244,7 @@ <Compile Include="Project\Factories\DisplayNameAttribute.cs" /> <Compile Include="Project\Factories\RendererFactory.cs" /> <Compile Include="Project\Factories\SectionFactory.cs" /> + <Compile Include="Project\Globals\ServiceContainer.cs" /> <Compile Include="Project\Globals\CreateGraphicObject.cs" /> <Compile Include="Project\Globals\FilePathConverter.cs" /> <Compile Include="Project\Globals\FileUtility.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/ServiceContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/ServiceContainer.cs new file mode 100644 index 0000000000..1f9918dfd3 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/ServiceContainer.cs @@ -0,0 +1,54 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 11.02.2011 + * Time: 20:15 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Collections.Generic; + +namespace ICSharpCode.Reports.Core.Globals +{ + /// <summary> + /// Description of . + /// </summary> + public static class ServiceContainer + + { + private static Dictionary<Type, object> services = new Dictionary<Type, object>(); + + public static void InitializeServiceContainer() + { + + } + + public static void AddService<T>(T service) + { + services.Add(typeof(T), service); + } + + + public static bool Contains (Type serviceType) + { + object service; + + services.TryGetValue(serviceType, out service); + if (service != null) { + return true; + } + return false; + } + + + public static object GetService(Type serviceType) + { + object service; + + services.TryGetValue(serviceType, out service); + + return service; + } + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Globals/ServiceContainerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Globals/ServiceContainerFixture.cs new file mode 100644 index 0000000000..bc4aec79a3 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Globals/ServiceContainerFixture.cs @@ -0,0 +1,84 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 11.02.2011 + * Time: 20:26 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using NUnit.Framework; +using ICSharpCode.Reports.Core.Globals; + + +namespace ICSharpCode.Reports.Core.Test.Globals +{ + + public interface ITestInterface + { + bool Test(); + } + + + public class MyTestImplementation : ITestInterface + { + + + public bool Test() + { + throw new NotImplementedException(); + } + } + + + [TestFixture] + public class ServiceContainerFixture + { + [Test] + public void GetServiceFromContainer() + { + var service = ServiceContainer.GetService(typeof(ITestInterface)); + Assert.That (service,Is.Not.Null); + Assert.That (service,Is.AssignableFrom(typeof(MyTestImplementation))); + Assert.That (service,Is.AssignableTo (typeof(ITestInterface))); + } + + + [Test] + [ExpectedException(typeof(System.ArgumentException))] + public void ShouldNotAddServiceMoreThanOneTime() + { + ServiceContainer.AddService<ITestInterface>(new MyTestImplementation()); + } + + + [Test] + public void ContainsService() + { + bool contains = ServiceContainer.Contains(typeof(ITestInterface)); + Assert.That(contains,Is.True); + } + + + [Test] + public void DosNotContainsService() + { + bool contains = ServiceContainer.Contains(typeof(IServiceProvider)); + Assert.That(contains,Is.False); + } + + + [TestFixtureSetUp] + public void Init() + { + ServiceContainer.InitializeServiceContainer(); + ServiceContainer.AddService<ITestInterface>(new MyTestImplementation()); + } + + [TestFixtureTearDown] + public void Dispose() + { + // TODO: Add tear down code. + } + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj index 54df47fb98..ac0605e97a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj @@ -80,6 +80,7 @@ <Compile Include="DataManager\TableStragy\GroupTableFixture.cs" /> <Compile Include="DataManager\TableStragy\TableDataManagerFixture.cs" /> <Compile Include="DataManager\TableStragy\TableStrategyFixture.cs" /> + <Compile Include="Globals\ServiceContainerFixture.cs" /> <Compile Include="Printing\SectionBoundFixture.cs" /> <Compile Include="Printing\Shapes\BaseLineFixture.cs" /> <Compile Include="Printing\Shapes\EllipseShapeFixture.cs" /> @@ -121,6 +122,7 @@ <Folder Include="DataManager" /> <Folder Include="Collections" /> <Folder Include="BaseClasses" /> + <Folder Include="Globals" /> <Folder Include="Printing\Shapes" /> <Folder Include="TestHelpers" /> <Folder Include="Printing" /> From 0fdc2e1de145635c3c3245e260228b5892df7f96 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 13 Feb 2011 18:25:34 +0100 Subject: [PATCH 017/168] Add Layouter to Servicecontainer --- .../Project/Exporter/BasePager.cs | 18 +++++++++++------- .../Exporter/Converters/BaseConverter.cs | 12 ++++++------ .../Exporter/Converters/ConverterFactory.cs | 8 +++----- .../Exporter/Converters/GroupedRowConverter.cs | 2 +- .../Converters/GroupedTableConverter.cs | 10 +--------- .../Project/Exporter/DataPageBuilder.cs | 6 ++---- 6 files changed, 24 insertions(+), 32 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index a323de6b1e..68fa9e9551 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -33,10 +33,12 @@ namespace ICSharpCode.Reports.Core.Exporter if (reportModel == null) { throw new ArgumentNullException("reportModel"); } - + this.ReportModel = reportModel; - //this.Layouter = layouter; - this.Layouter = new Layouter(); + + if (!ServiceContainer.Contains(typeof(ILayouter))) { + ServiceContainer.AddService<ILayouter>(new Layouter()); + } this.Graphics = CreateGraphicObject.FromSize(this.ReportModel.ReportSettings.PageSize); } @@ -97,7 +99,9 @@ namespace ICSharpCode.Reports.Core.Exporter Point offset = new Point(section.Location.X,section.SectionOffset); // Call layouter only once per section - Rectangle desiredRectangle = Layouter.Layout(this.Graphics,section); + ILayouter layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); + var desiredRectangle = layouter.Layout(this.Graphics,section); + Rectangle sectionRectangle = new Rectangle(section.Location,section.Size); if (!sectionRectangle.Contains(desiredRectangle)) { section.Size = new Size(section.Size.Width,desiredRectangle.Size.Height + GlobalValues.ControlMargins.Top + GlobalValues.ControlMargins.Bottom); @@ -194,7 +198,7 @@ namespace ICSharpCode.Reports.Core.Exporter EvaluateRecursive(evaluatorFacade,p.Items); } } - + private static void EvaluateRecursive (IExpressionEvaluatorFacade evaluatorFassade,ExporterCollection items) { @@ -254,7 +258,7 @@ namespace ICSharpCode.Reports.Core.Exporter { EventHelper.Raise<RowRenderEventArgs>(RowRendering,this,rrea); } - + protected void FirePageCreated(ExporterPage page) { EventHelper.Raise<PageCreatedEventArgs>(PageCreated,this, @@ -267,7 +271,7 @@ namespace ICSharpCode.Reports.Core.Exporter protected Graphics Graphics {get; private set;} - public ILayouter Layouter {get; private set;} + //public ILayouter Layouter {get; private set;} public IReportModel ReportModel {get;set;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index 8fdcfa7b34..66bc53f35c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -9,6 +9,7 @@ using System.Linq; using ICSharpCode.Reports.Core.BaseClasses; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Events; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; using ICSharpCode.Reports.Expressions.ReportingLanguage; @@ -31,8 +32,8 @@ namespace ICSharpCode.Reports.Core.Exporter public event EventHandler<GroupFooterEventArgs> GroupFooterRendering; public event EventHandler<RowRenderEventArgs> RowRendering; - public BaseConverter(IDataNavigator dataNavigator,ExporterPage singlePage, - ILayouter layouter) + + public BaseConverter(IDataNavigator dataNavigator,ExporterPage singlePage) { if (dataNavigator == null) { throw new ArgumentNullException("dataNavigator"); @@ -41,17 +42,16 @@ namespace ICSharpCode.Reports.Core.Exporter throw new ArgumentNullException("singlePage"); } - if (layouter == null) { - throw new ArgumentNullException("layouter"); - } + this.SinglePage = singlePage; this.DataNavigator = dataNavigator; SectionBounds = this.SinglePage.SectionBounds; - this.Layouter = layouter; + this.Layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); this.Evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.DataNavigator); } + #region PageBreak protected void BuildNewPage(ExporterCollection myList,BaseSection section) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/ConverterFactory.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/ConverterFactory.cs index 4873a32c13..00912c1cd3 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/ConverterFactory.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/ConverterFactory.cs @@ -14,18 +14,16 @@ namespace ICSharpCode.Reports.Core.Exporter public static class ConverterFactory { - public static IBaseConverter CreateConverter (BaseReportItem itemToConvert,IDataNavigator dataNavigator, - ExporterPage singlePage,ILayouter layouter) + ExporterPage singlePage) { - Type t = itemToConvert.GetType(); if (t.Equals(typeof(BaseTableItem))) { - return new GroupedTableConverter(dataNavigator,singlePage,layouter); + return new GroupedTableConverter(dataNavigator,singlePage); } if (t.Equals(typeof(BaseRowItem))) { - return new GroupedRowConverter (dataNavigator,singlePage,layouter); + return new GroupedRowConverter (dataNavigator,singlePage); } return null; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index b7af5dea5a..14c8fcdb35 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -21,7 +21,7 @@ namespace ICSharpCode.Reports.Core.Exporter private BaseReportItem parent; public GroupedRowConverter(IDataNavigator dataNavigator, - ExporterPage singlePage, ILayouter layouter):base(dataNavigator,singlePage,layouter) + ExporterPage singlePage):base(dataNavigator,singlePage) { } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs index 5bac5b37c4..4e19dfa4e9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs @@ -22,7 +22,7 @@ namespace ICSharpCode.Reports.Core.Exporter private ITableContainer table; public GroupedTableConverter(IDataNavigator dataNavigator, - ExporterPage singlePage, ILayouter layouter ):base(dataNavigator,singlePage,layouter) + ExporterPage singlePage):base(dataNavigator,singlePage) { } @@ -40,7 +40,6 @@ namespace ICSharpCode.Reports.Core.Exporter ExporterCollection mylist = base.Convert(parent,item); this.table = (BaseTableItem)item ; this.table.Parent = parent; -// this.table.DataNavigator = base.DataNavigator; return ConvertInternal(mylist); } @@ -98,13 +97,6 @@ namespace ICSharpCode.Reports.Core.Exporter childNavigator.Reset(); childNavigator.MoveNext(); -/* ----- GroupTableConverter.cs Zeile 151: -FillRow(simpleContainer,base.DataNavigator); -FireRowRendering(simpleContainer,base.DataNavigator); -base.PrepareContainerForConverting(section,simpleContainer); ----- -*/ //Convert children if (childNavigator != null) { do diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index 1a5394dd97..8310a1b130 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -21,7 +21,6 @@ namespace ICSharpCode.Reports.Core.Exporter #region Constructor public static IReportCreator CreateInstance(IReportModel reportModel, IDataManager dataManager) -// public static IReportCreator CreateInstance(IReportModel reportModel, IDataManager dataManager,ILayouter layouter) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); @@ -131,9 +130,8 @@ namespace ICSharpCode.Reports.Core.Exporter foreach (BaseReportItem item in section.Items) { IBaseConverter baseConverter = ConverterFactory.CreateConverter(item,dataNavigator, - this.SinglePage, - base.Layouter); - + this.SinglePage); + if (baseConverter != null) { baseConverter.SectionRendering += OnSectionRendering; From 56cd50bf0b18d75f2ff36f06d04fd1af1901fc32 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 18 Feb 2011 20:04:01 +0100 Subject: [PATCH 018/168] Rectangle and Circle can act as Container --- SharpDevelop.Tests.sln | 538 +++++++++--------- .../ICSharpCode.Reports.Addin.csproj | 4 +- ...emDesigner.cs => ContainerItemDesigner.cs} | 4 +- .../Project/Designer/GroupedRowDesigner.cs | 2 +- .../Project/ReportItems/BaseCircleItem.cs | 5 +- .../Project/ReportItems/BaseRectangleItem.cs | 3 +- .../Project/ReportItems/BaseRowItem.cs | 2 +- .../Project/ReportItems/BaseTextItem.cs | 1 + .../CircleItemTypeProvider.cs | 4 +- .../RectangleItemTypeProvider.cs | 4 + .../ICSharpCode.Reports.Core.csproj | 4 + .../BaseClasses/Printing/LayoutHelper.cs | 36 ++ .../BaseClasses/Printing/PrintHelper.cs | 33 +- .../BaseClasses/Printing/StandardPrinter.cs | 9 +- .../BaseItems/Graphics/BaseCircleItem.cs | 22 +- .../BaseItems/Graphics/BaseRectangleItem.cs | 80 ++- .../Project/Exporter/BasePager.cs | 26 +- .../Exporter/Converters/BaseConverter.cs | 28 +- .../Converters/GroupedRowConverter.cs | 2 +- .../Exporter/ExportColumns/ExportContainer.cs | 2 - .../ExportColumns/IExportContainer.cs | 1 - .../Project/Globals/ServiceContainer.cs | 2 +- .../Project/Printing/AbstractDataRenderer.cs | 8 +- .../Project/Printing/RenderTable.cs | 81 +-- 24 files changed, 456 insertions(+), 445 deletions(-) rename src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/{RowItemDesigner.cs => ContainerItemDesigner.cs} (95%) rename src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/{ => TypeProviders}/CircleItemTypeProvider.cs (93%) create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/LayoutHelper.cs diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln index 5a91492c87..e66c265302 100644 --- a/SharpDevelop.Tests.sln +++ b/SharpDevelop.Tests.sln @@ -6,64 +6,64 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-5 ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -72,45 +72,45 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{ ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" + ProjectSection(SolutionItems) = postProject + EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -119,244 +119,232 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{393278 ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -366,228 +354,240 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\Add {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -1203,125 +1203,125 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {870115DD-960A-4406-A6B9-600BCDC36A03} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {870115DD-960A-4406-A6B9-600BCDC36A03} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} - {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} - {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} - {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} - {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} - {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} - {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} - {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} - {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} - {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} - {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} - {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} - {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} - {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} + {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} + {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} + {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} + {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} + {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} + {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} + {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} + {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} + {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} + {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} + {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} + {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} EndGlobalSection EndGlobal 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 6c02c262f5..8f57aff3a2 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 @@ -96,7 +96,7 @@ <Compile Include="Project\Designer\GroupeHeaderDesigner.cs" /> <Compile Include="Project\Designer\ImageDesigner.cs" /> <Compile Include="Project\Designer\LineDesigner.cs" /> - <Compile Include="Project\Designer\RowItemDesigner.cs" /> + <Compile Include="Project\Designer\ContainerItemDesigner.cs" /> <Compile Include="Project\Designer\Ruler.cs"> <SubType>UserControl</SubType> </Compile> @@ -145,7 +145,6 @@ <Compile Include="Project\ReportItems\BaseDataItem.cs"> <SubType>Component</SubType> </Compile> - <Compile Include="Project\ReportItems\CircleItemTypeProvider.cs" /> <Compile Include="Project\ReportItems\GroupFooter.cs" /> <Compile Include="Project\ReportItems\BaseImageItem.cs"> <SubType>Component</SubType> @@ -173,6 +172,7 @@ </Compile> <Compile Include="Project\ReportItems\GroupHeader.cs" /> <Compile Include="Project\ReportItems\TypeProviders\AbstractItemTypeProvider.cs" /> + <Compile Include="Project\ReportItems\TypeProviders\CircleItemTypeProvider.cs" /> <Compile Include="Project\ReportItems\TypeProviders\DataItemTypeProvider.cs" /> <Compile Include="Project\ReportItems\TypeProviders\GroupedRowTypeProvider.cs" /> <Compile Include="Project\ReportItems\TypeProviders\ImageItemTypeProvider.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RowItemDesigner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ContainerItemDesigner.cs similarity index 95% rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RowItemDesigner.cs rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ContainerItemDesigner.cs index ec3262d38c..2c91442ec7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RowItemDesigner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ContainerItemDesigner.cs @@ -15,13 +15,13 @@ namespace ICSharpCode.Reports.Addin.Designer /// <summary> /// Description of RowItemDesigner. /// </summary> - public class RowItemDesigner:ParentControlDesigner + public class ContainerItemDesigner:ParentControlDesigner { private ISelectionService selectionService; private IComponentChangeService componentChangeService; - public RowItemDesigner() + public ContainerItemDesigner() { } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/GroupedRowDesigner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/GroupedRowDesigner.cs index fe822af604..74e8e93621 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/GroupedRowDesigner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/GroupedRowDesigner.cs @@ -10,7 +10,7 @@ namespace ICSharpCode.Reports.Addin.Designer /// <summary> /// Description of GroupedRowDesigner. /// </summary> - public class GroupedRowDesigner:RowItemDesigner + public class GroupedRowDesigner:ContainerItemDesigner { private ISelectionService selectionService; private IComponentChangeService componentChangeService; 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 9511a5b89a..c0627f722b 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 @@ -6,6 +6,7 @@ using System.ComponentModel; using System.Drawing; using System.Drawing.Drawing2D; +using ICSharpCode.Reports.Addin.TypeProviders; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.Globals; @@ -14,8 +15,8 @@ namespace ICSharpCode.Reports.Addin /// <summary> /// Description of BaseCircleItem. /// </summary> - - [Designer(typeof(ICSharpCode.Reports.Addin.Designer.ShapeDesigner))] + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.ContainerItemDesigner))] + //[Designer(typeof(ICSharpCode.Reports.Addin.Designer.ShapeDesigner))] public class BaseCircleItem:AbstractItem { 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 2863f0cad9..1bc08ca1f1 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 @@ -15,8 +15,7 @@ namespace ICSharpCode.Reports.Addin /// <summary> /// Description of BaseRectangleItem. /// </summary> - - [Designer(typeof(ICSharpCode.Reports.Addin.Designer.ShapeDesigner))] + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.ContainerItemDesigner))] 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 ac1b89c360..735e9b04ff 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 @@ -14,7 +14,7 @@ namespace ICSharpCode.Reports.Addin /// <summary> /// Description of BaseRowItem. /// </summary> - [Designer(typeof(ICSharpCode.Reports.Addin.Designer.RowItemDesigner))] + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.ContainerItemDesigner))] public class BaseRowItem: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 75db75a60f..d55e5e98ed 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 @@ -34,6 +34,7 @@ namespace ICSharpCode.Reports.Addin base.BackColor = Color.White; this.contentAlignment = ContentAlignment.TopLeft; TypeDescriptor.AddProvider(new TextItemTypeProvider(), typeof(BaseTextItem)); + System.Console.WriteLine (this.Font.ToString()); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/CircleItemTypeProvider.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/CircleItemTypeProvider.cs similarity index 93% rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/CircleItemTypeProvider.cs rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/CircleItemTypeProvider.cs index 58678fee59..ccb80a3a32 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/CircleItemTypeProvider.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/CircleItemTypeProvider.cs @@ -11,7 +11,7 @@ using System.ComponentModel; using ICSharpCode.Reports.Addin.Designer; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.TypeProviders { internal class CircleItemTypeProvider : TypeDescriptionProvider @@ -62,6 +62,8 @@ namespace ICSharpCode.Reports.Addin prop = props.Find("Thickness",true); allProperties.Add(prop); + prop = props.Find("Controls",true); + allProperties.Add(prop); return new PropertyDescriptorCollection(allProperties.ToArray()); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs index 63fdaa4931..8d3075c508 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs @@ -59,6 +59,10 @@ namespace ICSharpCode.Reports.Addin.TypeProviders prop = props.Find("CornerRadius",true); allProperties.Add(prop); + + prop = props.Find("Controls",true); + allProperties.Add(prop); + return new PropertyDescriptorCollection(allProperties.ToArray()); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index e51980a584..0557ce393c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -59,6 +59,9 @@ <Reference Include="itextsharp"> <HintPath>..\Libraries\itextsharp.dll</HintPath> </Reference> + <Reference Include="NUnit.Framework"> + <HintPath>$(SharpDevelopBinPath)\Tools\NUnit\NUnit.Framework.dll</HintPath> + </Reference> <Reference Include="System" /> <Reference Include="System.Core"> <RequiredTargetFramework>3.5</RequiredTargetFramework> @@ -80,6 +83,7 @@ <Compile Include="..\..\..\..\Main\GlobalAssemblyInfo.cs"> <Link>Project\Configuration\GlobalAssemblyInfo.cs</Link> </Compile> + <Compile Include="Project\BaseClasses\Printing\LayoutHelper.cs" /> <Compile Include="Project\BaseClasses\TypeHelpers.cs" /> <Compile Include="Project\BaseClasses\CurrentItem.cs" /> <Compile Include="Project\BaseClasses\GroupColumn.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/LayoutHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/LayoutHelper.cs new file mode 100644 index 0000000000..979fe90cee --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/LayoutHelper.cs @@ -0,0 +1,36 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 17.02.2011 + * Time: 20:29 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Drawing; +using ICSharpCode.Reports.Core.Globals; +using ICSharpCode.Reports.Core.Interfaces; + +namespace ICSharpCode.Reports.Core.BaseClasses.Printing +{ + + internal sealed class LayoutHelper + { + public static Rectangle FixSectionLayout(Graphics graphics,BaseSection section) + { + ILayouter layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); + var desiredRectangle = layouter.Layout(graphics, section); + return desiredRectangle; + } + + + public static void SetLayoutForRow (Graphics graphics, ILayouter layouter,ISimpleContainer row) + { + Rectangle textRect = layouter.Layout(graphics,row); + if (textRect.Height > row.Size.Height) { + row.Size = new Size(row.Size.Width,textRect.Height + 5); + } + } + + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs index 6f44c4da66..46aea1941f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs @@ -19,40 +19,27 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing { } - #region Layout - - public static void SetLayoutForRow (Graphics graphics, ILayouter layouter,ISimpleContainer row) - { - Rectangle textRect = layouter.Layout(graphics,row); - if (textRect.Height > row.Size.Height) { - row.Size = new Size(row.Size.Width,textRect.Height + 5); - } - } - - #endregion - - #region Section's - - public static void AdjustParent (BaseReportItem parent,ReportItemCollection items) + public static void AdjustParent (ISimpleContainer parent,ReportItemCollection items) { - foreach (BaseReportItem i in items) { - i.Parent = parent; - ISimpleContainer ic = i as ISimpleContainer; - if (ic != null) { - AdjustParentInternal(ic.Items,i); + foreach (BaseReportItem item in items) { + item.Parent = parent as BaseReportItem; + ISimpleContainer container = item as ISimpleContainer; + if (container != null) { + AdjustParentInternal(container.Items,container); } else { - AdjustParentInternal(items,parent); + AdjustParentInternal(items,parent as ISimpleContainer); } } } + private static void AdjustParentInternal (ReportItemCollection items,ISimpleContainer parent) - private static void AdjustParentInternal (ReportItemCollection items,BaseReportItem parent) + //private static void AdjustParentInternal (ReportItemCollection items,BaseReportItem parent) { foreach(BaseReportItem item in items) { - item.Parent = parent; + item.Parent = parent as BaseReportItem; } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs index ff64f038cf..179d22dbd9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs @@ -111,8 +111,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing PrintHelper.AdjustChildLocation(item,offset); - //BaseTextItem textItem = item as BaseTextItem; - IReportExpression epr = item as IReportExpression; string evaluatedValue = String.Empty; @@ -207,13 +205,14 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing } - public static ExportContainer ConvertToContainer (ISimpleContainer item,Point offset) + public static ExportContainer ConvertToContainer (ISimpleContainer container,Point offset) { - if (item == null) { + if (container == null) { throw new ArgumentNullException("item"); } - IExportColumnBuilder lineBuilder = item as IExportColumnBuilder; + PrintHelper.AdjustParent(container,container.Items); + IExportColumnBuilder lineBuilder = container as IExportColumnBuilder; if (lineBuilder != null) { ExportContainer lineItem = (ExportContainer)lineBuilder.CreateExportColumn(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs index 2bbfc0e8a6..e19d50f808 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs @@ -4,6 +4,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Interfaces; /// <summary> ///This class drwas a Circle @@ -14,8 +15,9 @@ using ICSharpCode.Reports.Core.Exporter; /// </remarks> namespace ICSharpCode.Reports.Core { - public class BaseCircleItem : BaseGraphicItem, IExportColumnBuilder + public class BaseCircleItem : BaseGraphicItem, IExportColumnBuilder,ISimpleContainer { + private ReportItemCollection items; EllipseShape shape = new EllipseShape(); #region Constructor @@ -28,12 +30,12 @@ namespace ICSharpCode.Reports.Core { #region IExportColumnBuilder - public BaseExportColumn CreateExportColumn() - { + public BaseExportColumn CreateExportColumn(){ +// shape.CornerRadius = CornerRadius; IGraphicStyleDecorator style = base.CreateItemStyle(this.shape); - ExportGraphic item = new ExportGraphic(style,false); - return item as ExportGraphic; + return new ExportGraphicContainer(style,true); } + #endregion @@ -53,5 +55,15 @@ namespace ICSharpCode.Reports.Core { base.Baseline(), rect); } + + + public ReportItemCollection Items { + get { + if (this.items == null) { + this.items = new ReportItemCollection(); + } + return this.items; + } + } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs index c21010fe97..9315c808c0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs @@ -7,7 +7,8 @@ using System.Drawing.Drawing2D; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Exporter; - +using ICSharpCode.Reports.Core.Globals; +using ICSharpCode.Reports.Core.Interfaces; /// <summary> /// This class draws a Rectangle @@ -16,16 +17,18 @@ using ICSharpCode.Reports.Core.Exporter; /// created by - Forstmeier Peter /// created on - 29.09.2005 11:57:30 /// </remarks> -namespace ICSharpCode.Reports.Core { +namespace ICSharpCode.Reports.Core +{ - public class BaseRectangleItem : BaseGraphicItem,IExportColumnBuilder + public class BaseRectangleItem : BaseGraphicItem,IExportColumnBuilder,ISimpleContainer { - - RectangleShape shape = new RectangleShape(); + private ReportItemCollection items; + private RectangleShape shape = new RectangleShape(); #region Constructor - public BaseRectangleItem() { + public BaseRectangleItem() + { } #endregion @@ -36,8 +39,7 @@ namespace ICSharpCode.Reports.Core { public BaseExportColumn CreateExportColumn(){ shape.CornerRadius = CornerRadius; IGraphicStyleDecorator style = base.CreateItemStyle(this.shape); - ExportGraphic item = new ExportGraphic(style,false); - return item as ExportGraphic; + return new ExportGraphicContainer(style,true); } @@ -74,5 +76,67 @@ namespace ICSharpCode.Reports.Core { return "BaseRectangleItem"; } + + public ReportItemCollection Items { + get { + if (this.items == null) { + this.items = new ReportItemCollection(); + } + return this.items; + } + } + } + + public class ExportGraphicContainer :ExportContainer ,IExportContainer + { + ExporterCollection items; + + + public ExportGraphicContainer (IBaseStyleDecorator itemStyle,bool isContainer):base(itemStyle as BaseStyleDecorator) + { + + } + + public override void DrawItem(Graphics graphics) + { + base.DrawItem(graphics); + ILineDecorator lineDecorator = base.StyleDecorator as LineDecorator; + if (lineDecorator != null) { + GraphicsLineDrawer (graphics); + } + else { + IGraphicStyleDecorator style = base.StyleDecorator as GraphicStyleDecorator; + if (style != null) { + base.FillShape(graphics,style.Shape); + BaseLine baseLine = null; + if (style.BackColor == GlobalValues.DefaultBackColor){ + baseLine = new BaseLine (style.ForeColor,style.DashStyle,style.Thickness); + } else { + baseLine = new BaseLine (style.BackColor,style.DashStyle,style.Thickness); + } + style.Shape.DrawShape(graphics, + baseLine, + style.DisplayRectangle); + } + } + } + + + private void GraphicsLineDrawer (Graphics graphics) + { + LineDecorator lineStyle = base.StyleDecorator as LineDecorator; + + BaseLine baseLine = null; + baseLine = new BaseLine (lineStyle.ForeColor,lineStyle.DashStyle,lineStyle.Thickness); + + Point from = new Point(lineStyle.DisplayRectangle.Left + lineStyle.From.X, + lineStyle.DisplayRectangle.Top + lineStyle.From.Y); + Point to = new Point(lineStyle.DisplayRectangle.Left + lineStyle.To.X, + lineStyle.DisplayRectangle.Top + lineStyle.To.Y); + lineStyle.Shape.DrawShape(graphics, + baseLine, + from, + to); + } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 68fa9e9551..0937e58d3a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -97,15 +97,10 @@ namespace ICSharpCode.Reports.Core.Exporter if (section.Items.Count > 0) { Point offset = new Point(section.Location.X,section.SectionOffset); + + Rectangle desiredRectangle = LayoutHelper.FixSectionLayout(this.Graphics,section); - // Call layouter only once per section - ILayouter layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); - var desiredRectangle = layouter.Layout(this.Graphics,section); - - Rectangle sectionRectangle = new Rectangle(section.Location,section.Size); - if (!sectionRectangle.Contains(desiredRectangle)) { - section.Size = new Size(section.Size.Width,desiredRectangle.Size.Height + GlobalValues.ControlMargins.Top + GlobalValues.ControlMargins.Bottom); - } + Setlayout( desiredRectangle, section); foreach (BaseReportItem item in section.Items) { @@ -114,11 +109,8 @@ namespace ICSharpCode.Reports.Core.Exporter if (container != null) { ExportContainer exportContainer = StandardPrinter.ConvertToContainer(container,offset); - StandardPrinter.AdjustBackColor (container); - - ExporterCollection clist = StandardPrinter.ConvertPlainCollection(container.Items,offset); - + ExporterCollection clist = StandardPrinter.ConvertPlainCollection(container.Items,exportContainer.StyleDecorator.Location); exportContainer.Items.AddRange(clist); list.Add(exportContainer); @@ -129,6 +121,16 @@ namespace ICSharpCode.Reports.Core.Exporter } return list; } + + + void Setlayout(Rectangle desiredRectangle, BaseSection section) + { + Rectangle sectionRectangle = new Rectangle(section.Location, section.Size); + if (!sectionRectangle.Contains(desiredRectangle)) { + section.Size = new Size(section.Size.Width, + desiredRectangle.Size.Height + GlobalValues.ControlMargins.Top + GlobalValues.ControlMargins.Bottom); + } + } public static BaseRectangleItem CreateDebugItem (BaseReportItem item) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index 66bc53f35c..ca226b63c6 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -243,7 +243,8 @@ namespace ICSharpCode.Reports.Core.Exporter Console.WriteLine("\tPrepareContainerForConverting"); FireSectionRendering(section); - LayoutRow(simpleContainer); + LayoutHelper.SetLayoutForRow(Graphics,Layouter,simpleContainer); + //LayoutRow(simpleContainer); } protected Point ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer) @@ -261,26 +262,6 @@ namespace ICSharpCode.Reports.Core.Exporter } - /* - protected Point old_ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer) - { - var rowSize = simpleContainer.Size; -Console.WriteLine("ConvertStandardRow"); - - Point curPos = new Point (DefaultLeftPosition,CurrentPosition.Y + simpleContainer.Size.Height); - - ExporterCollection ml = BaseConverter.ConvertItems (simpleContainer, curPos); - //curPos = new Point (DefaultLeftPosition,curPos.Y + simpleContainer.Size.Height); - EvaluationHelper.EvaluateRow(Evaluator,ml); - mylist.AddRange(ml); - // - simpleContainer.Size = rowSize; - Console.WriteLine(""); - return curPos; - - } - - */ protected void AfterConverting (ExporterCollection convertedList) { @@ -302,10 +283,5 @@ Console.WriteLine("ConvertStandardRow"); currentNavigator.Fill(row.Items); } - - private void LayoutRow (ISimpleContainer row) - { - PrintHelper.SetLayoutForRow(Graphics,Layouter,row); - } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index 14c8fcdb35..db1e65cfa8 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -40,7 +40,7 @@ namespace ICSharpCode.Reports.Core.Exporter simpleContainer.Parent = parent; - PrintHelper.AdjustParent(parent,simpleContainer.Items); + PrintHelper.AdjustParent(parent as ISimpleContainer,simpleContainer.Items); if (PrintHelper.IsTextOnlyRow(simpleContainer)) { ExporterCollection myList = new ExporterCollection(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs index 289a0f6274..bbb5c87d0d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs @@ -30,7 +30,6 @@ namespace ICSharpCode.Reports.Core.Exporter #region overrides - public override void DrawItem(Graphics graphics) { if (graphics == null) { @@ -46,7 +45,6 @@ namespace ICSharpCode.Reports.Core.Exporter base.Decorate(); } - #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportContainer.cs index a47fdf942f..3d5a4d4d55 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportContainer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportContainer.cs @@ -10,7 +10,6 @@ namespace ICSharpCode.Reports.Core.Exporter { void DrawItem(System.Drawing.Graphics graphics); void DrawItem(PdfWriter pdfWriter, ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter); -// void AddLineItem(BaseExportColumn item); ExporterCollection Items { get; } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/ServiceContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/ServiceContainer.cs index 1f9918dfd3..5ec7c0c0e8 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/ServiceContainer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/ServiceContainer.cs @@ -15,8 +15,8 @@ namespace ICSharpCode.Reports.Core.Globals /// Description of . /// </summary> public static class ServiceContainer - { + private static Dictionary<Type, object> services = new Dictionary<Type, object>(); public static void InitializeServiceContainer() diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs index a3fce0ac93..3d96d529ef 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs @@ -77,12 +77,12 @@ namespace ICSharpCode.Reports.Core if (row != null) { rs = row.Size; - PrintHelper.AdjustParent(tableContainer as BaseReportItem,tableContainer.Items); + PrintHelper.AdjustParent(tableContainer,tableContainer.Items); if (PrintHelper.IsTextOnlyRow(row) ) { - PrintHelper.SetLayoutForRow(rpea.PrintPageEventArgs.Graphics,base.Layout,row); + LayoutHelper.SetLayoutForRow(rpea.PrintPageEventArgs.Graphics,base.Layout,row); Rectangle r = StandardPrinter.RenderContainer(row,Evaluator,currentPosition,rpea); @@ -106,7 +106,7 @@ namespace ICSharpCode.Reports.Core this.dataNavigator.Fill(row.Items); - PrintHelper.SetLayoutForRow(rpea.PrintPageEventArgs.Graphics,base.Layout,row); + LayoutHelper.SetLayoutForRow(rpea.PrintPageEventArgs.Graphics,base.Layout,row); Rectangle r = StandardPrinter.RenderContainer(row,Evaluator,currentPosition,rpea); @@ -162,7 +162,7 @@ namespace ICSharpCode.Reports.Core Size containerSize = new Size (section.Items[0].Size.Width,section.Items[0].Size.Height); - PrintHelper.SetLayoutForRow(rpea.PrintPageEventArgs.Graphics,base.Layout,container); + LayoutHelper.SetLayoutForRow(rpea.PrintPageEventArgs.Graphics,base.Layout,container); section.Render (rpea); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs index 3ebd6e868a..59cc7c0306 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs @@ -61,19 +61,19 @@ namespace ICSharpCode.Reports.Core Size rs = Size.Empty; - ISimpleContainer headerRow = null; +// ISimpleContainer headerRow = null; var simpleContainer = table.Items[0] as ISimpleContainer; // foreach (BaseRowItem row in table.Items) // { rs = simpleContainer.Size; - PrintHelper.AdjustParent(table as BaseReportItem,table.Items); + PrintHelper.AdjustParent(table,table.Items); // if (PrintHelper.IsTextOnlyRow(simpleContainer) ) // { - PrintHelper.SetLayoutForRow(ReportPageEventArgs.PrintPageEventArgs.Graphics,Layouter,simpleContainer); + LayoutHelper.SetLayoutForRow(ReportPageEventArgs.PrintPageEventArgs.Graphics,Layouter,simpleContainer); var r = StandardPrinter.RenderContainer(simpleContainer,evaluator,currentPosition,ReportPageEventArgs); @@ -102,7 +102,7 @@ namespace ICSharpCode.Reports.Core this.dataNavigator.Fill(simpleContainer.Items); - PrintHelper.SetLayoutForRow(ReportPageEventArgs.PrintPageEventArgs.Graphics,Layouter,simpleContainer); + LayoutHelper.SetLayoutForRow(ReportPageEventArgs.PrintPageEventArgs.Graphics,Layouter,simpleContainer); r = StandardPrinter.RenderContainer(simpleContainer,evaluator,currentPosition,ReportPageEventArgs); @@ -116,79 +116,6 @@ namespace ICSharpCode.Reports.Core } - - - public void old_Render (ISimpleContainer table,ReportPageEventArgs rpea,IExpressionEvaluatorFacade evaluator) - { - if (this.dataNavigator.CurrentRow < 0 ) { - this.dataNavigator.MoveNext(); - } - this.reportPageEventArgs = rpea; - Point saveLocation = table.Location; - Rectangle pageBreakRect = Rectangle.Empty; - - Point currentPosition = new Point(PrintHelper.DrawingAreaRelativeToParent(this.currentSection,table).Location.X, - this.currentSection.Location.Y); - table.Items.SortByLocation(); - - Size rs = Size.Empty; - - - - - foreach (BaseRowItem row in table.Items) - { - rs = row.Size; - PrintHelper.AdjustParent(table as BaseReportItem,table.Items); - - if (PrintHelper.IsTextOnlyRow(row) ) - { - - PrintHelper.SetLayoutForRow(ReportPageEventArgs.PrintPageEventArgs.Graphics,Layouter,row); - - Rectangle r = StandardPrinter.RenderContainer(row,evaluator,currentPosition,ReportPageEventArgs); - - currentPosition = PrintHelper.ConvertRectangleToCurentPosition (r); - - table.Location = saveLocation; - } - else { - int adjust = row.Location.Y - saveLocation.Y; - row.Location = new Point(row.Location.X,row.Location.Y - adjust - 3 * GlobalValues.GapBetweenContainer); - rs = row.Size; - - do { - - pageBreakRect = PrintHelper.CalculatePageBreakRectangle((BaseReportItem)table,currentPosition); - - if (PrintHelper.IsPageFull(parentRectangle,this.SectionBounds)) { - Console.WriteLine("PageBreak - PageFull"); - table.Location = saveLocation; - AbstractRenderer.PageBreak(ReportPageEventArgs); - return; - } - - this.dataNavigator.Fill(row.Items); - - PrintHelper.SetLayoutForRow(ReportPageEventArgs.PrintPageEventArgs.Graphics,Layouter,row); - - Rectangle r = StandardPrinter.RenderContainer(row,evaluator,currentPosition,ReportPageEventArgs); - - currentPosition = PrintHelper.ConvertRectangleToCurentPosition (r); - - row.Size = rs; - } - while (this.dataNavigator.MoveNext()); - - } - - row.Size = rs; - } -// base.NotifyAfterPrint (rpea.LocationAfterDraw); - } - - - public ICSharpCode.Reports.Core.BaseClasses.SectionBounds SectionBounds { get { return this.singlePage.SectionBounds; From 042d2fecc4637be89cef0bad5e66d6758217351c Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 18 Feb 2011 20:37:06 +0100 Subject: [PATCH 019/168] Cleanup --- .../Project/Designer/DesignerHelper.cs | 18 ++++- .../TypeProviders/CircleItemTypeProvider.cs | 12 +--- .../RectangleItemTypeProvider.cs | 11 +-- .../ICSharpCode.Reports.Core.csproj | 1 + .../BaseItems/Graphics/BaseCircleItem.cs | 3 +- .../BaseItems/Graphics/BaseRectangleItem.cs | 54 --------------- .../ExportColumns/BaseExportColumn.cs | 69 +++++++------------ .../ExportColumns/ExportGraphicContainer.cs | 67 ++++++++++++++++++ 8 files changed, 114 insertions(+), 121 deletions(-) create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs 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 1c16284e1e..484337c23f 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 @@ -11,7 +11,7 @@ namespace ICSharpCode.Reports.Addin.Designer /// <summary> /// Description of DesignerHelper. /// </summary> - public sealed class DesignerHelper + internal sealed class DesignerHelper { private DesignerHelper() @@ -84,7 +84,7 @@ namespace ICSharpCode.Reports.Addin.Designer public static void AddTextbasedProperties (List<PropertyDescriptor> allProperties, PropertyDescriptorCollection props) { - PropertyDescriptor prop = prop = props.Find("Font",true); + PropertyDescriptor prop = props.Find("Font",true); allProperties.Add(prop); prop = props.Find("FormatString",true); @@ -105,5 +105,19 @@ namespace ICSharpCode.Reports.Addin.Designer prop = props.Find("DataType",true); allProperties.Add(prop); } + + public static void AddGraphicProperties (List<PropertyDescriptor> allProperties, + PropertyDescriptorCollection props) + { + PropertyDescriptor prop = null; + prop = props.Find("ForeColor",true); + allProperties.Add(prop); + + prop = props.Find("DashStyle",true); + allProperties.Add(prop); + + prop = props.Find("Thickness",true); + allProperties.Add(prop); + } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/CircleItemTypeProvider.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/CircleItemTypeProvider.cs index ccb80a3a32..e1a4463517 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/CircleItemTypeProvider.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/CircleItemTypeProvider.cs @@ -51,17 +51,9 @@ namespace ICSharpCode.Reports.Addin.TypeProviders System.Collections.Generic.List<PropertyDescriptor> allProperties = new System.Collections.Generic.List<PropertyDescriptor>(); DesignerHelper.AddDefaultProperties(allProperties,props); - + DesignerHelper.AddGraphicProperties(allProperties,props); PropertyDescriptor prop = null; - prop = props.Find("ForeColor",true); - allProperties.Add(prop); - - prop = props.Find("DashStyle",true); - allProperties.Add(prop); - - prop = props.Find("Thickness",true); - allProperties.Add(prop); - + prop = props.Find("Controls",true); allProperties.Add(prop); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs index 8d3075c508..af9710ec55 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs @@ -46,17 +46,10 @@ namespace ICSharpCode.Reports.Addin.TypeProviders System.Collections.Generic.List<PropertyDescriptor> allProperties = new System.Collections.Generic.List<PropertyDescriptor>(); DesignerHelper.AddDefaultProperties(allProperties,props); + DesignerHelper.AddGraphicProperties(allProperties,props); PropertyDescriptor prop = null; - prop = props.Find("ForeColor",true); - allProperties.Add(prop); - - prop = props.Find("DashStyle",true); - allProperties.Add(prop); - - prop = props.Find("Thickness",true); - allProperties.Add(prop); - + prop = props.Find("CornerRadius",true); allProperties.Add(prop); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index 0557ce393c..dde8419236 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -145,6 +145,7 @@ <Compile Include="Project\Exceptions\WrongColumnException.cs" /> <Compile Include="Project\Exceptions\WrongSectionException.cs" /> <Compile Include="Project\Exporter\Converters\GroupedTableConverter.cs" /> + <Compile Include="Project\Exporter\ExportColumns\ExportGraphicContainer.cs" /> <Compile Include="Project\Expressions\EvaluationHelper.cs" /> <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\ReportingService\FieldReference.cs" /> <Compile Include="Project\Exporter\BasePager.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs index e19d50f808..2afe584806 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs @@ -31,9 +31,8 @@ namespace ICSharpCode.Reports.Core { #region IExportColumnBuilder public BaseExportColumn CreateExportColumn(){ -// shape.CornerRadius = CornerRadius; IGraphicStyleDecorator style = base.CreateItemStyle(this.shape); - return new ExportGraphicContainer(style,true); + return new ExportGraphicContainer(style,true); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs index 9315c808c0..ae571268c1 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs @@ -7,7 +7,6 @@ using System.Drawing.Drawing2D; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Exporter; -using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; /// <summary> @@ -86,57 +85,4 @@ namespace ICSharpCode.Reports.Core } } } - - public class ExportGraphicContainer :ExportContainer ,IExportContainer - { - ExporterCollection items; - - - public ExportGraphicContainer (IBaseStyleDecorator itemStyle,bool isContainer):base(itemStyle as BaseStyleDecorator) - { - - } - - public override void DrawItem(Graphics graphics) - { - base.DrawItem(graphics); - ILineDecorator lineDecorator = base.StyleDecorator as LineDecorator; - if (lineDecorator != null) { - GraphicsLineDrawer (graphics); - } - else { - IGraphicStyleDecorator style = base.StyleDecorator as GraphicStyleDecorator; - if (style != null) { - base.FillShape(graphics,style.Shape); - BaseLine baseLine = null; - if (style.BackColor == GlobalValues.DefaultBackColor){ - baseLine = new BaseLine (style.ForeColor,style.DashStyle,style.Thickness); - } else { - baseLine = new BaseLine (style.BackColor,style.DashStyle,style.Thickness); - } - style.Shape.DrawShape(graphics, - baseLine, - style.DisplayRectangle); - } - } - } - - - private void GraphicsLineDrawer (Graphics graphics) - { - LineDecorator lineStyle = base.StyleDecorator as LineDecorator; - - BaseLine baseLine = null; - baseLine = new BaseLine (lineStyle.ForeColor,lineStyle.DashStyle,lineStyle.Thickness); - - Point from = new Point(lineStyle.DisplayRectangle.Left + lineStyle.From.X, - lineStyle.DisplayRectangle.Top + lineStyle.From.Y); - Point to = new Point(lineStyle.DisplayRectangle.Left + lineStyle.To.X, - lineStyle.DisplayRectangle.Top + lineStyle.To.Y); - lineStyle.Shape.DrawShape(graphics, - baseLine, - from, - to); - } - } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs index 26d8ddde25..d639042b42 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs @@ -15,24 +15,24 @@ namespace ICSharpCode.Reports.Core.Exporter public class BaseExportColumn { - private IBaseStyleDecorator styleDecorator; - private bool isContainer; - private ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter; - private PdfWriter pdfWriter; +// private IBaseStyleDecorator styleDecorator; + // private bool isContainer; + // private ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter; +// private PdfWriter pdfWriter; #region Constructors public BaseExportColumn() { - this.styleDecorator = new BaseStyleDecorator(System.Drawing.Color.White, + this.StyleDecorator = new BaseStyleDecorator(System.Drawing.Color.White, System.Drawing.Color.Black); } - public BaseExportColumn(IBaseStyleDecorator itemStyle, bool isContainer) + public BaseExportColumn(IBaseStyleDecorator styleDecorator, bool isContainer) { - this.styleDecorator = itemStyle; - this.isContainer = isContainer; + this.StyleDecorator = styleDecorator; + this.IsContainer = isContainer; } #endregion @@ -54,8 +54,8 @@ namespace ICSharpCode.Reports.Core.Exporter if (converter == null) { throw new ArgumentNullException("converter"); } - this.pdfWriter = pdfWriter; - this.converter = converter; + this.PdfWriter = pdfWriter; + this.PdfUnitConverter = converter; } #endregion @@ -82,9 +82,9 @@ namespace ICSharpCode.Reports.Core.Exporter { RectangleShape shape = new RectangleShape(); - shape.DrawShape(this.pdfWriter.DirectContent, + shape.DrawShape(this.PdfWriter.DirectContent, null, - this.styleDecorator, + this.StyleDecorator, ConvertToPdfRectangle()); this.DrawFrame(); @@ -111,8 +111,8 @@ namespace ICSharpCode.Reports.Core.Exporter } shape.FillShape(graphics, - new SolidFillPattern(this.styleDecorator.BackColor), - this.styleDecorator.DisplayRectangle); + new SolidFillPattern(this.StyleDecorator.BackColor), + this.StyleDecorator.DisplayRectangle); } @@ -121,10 +121,10 @@ namespace ICSharpCode.Reports.Core.Exporter protected iTextSharp.text.Rectangle ConvertToPdfRectangle () { - ScreenRectToPdfRectConverter rectangleConverter = new ScreenRectToPdfRectConverter(this.converter); + ScreenRectToPdfRectConverter rectangleConverter = new ScreenRectToPdfRectConverter(this.PdfUnitConverter); iTextSharp.text.Rectangle r = (iTextSharp.text.Rectangle)rectangleConverter.ConvertTo(null,System.Globalization.CultureInfo.InvariantCulture, - this.styleDecorator.DisplayRectangle, + this.StyleDecorator.DisplayRectangle, typeof(iTextSharp.text.Rectangle)); @@ -140,51 +140,32 @@ namespace ICSharpCode.Reports.Core.Exporter private Border CreateDefaultBorder() { - return new Border(new BaseLine (this.styleDecorator.FrameColor, + return new Border(new BaseLine (this.StyleDecorator.FrameColor, System.Drawing.Drawing2D.DashStyle.Solid,1)); } private void DrawFrame () { - if (this.styleDecorator.DrawBorder) { + if (this.StyleDecorator.DrawBorder) { Border b = this.CreateDefaultBorder(); - b.DrawBorder(this.pdfWriter.DirectContent, + b.DrawBorder(this.PdfWriter.DirectContent, ConvertToPdfRectangle(), - this.styleDecorator); + this.StyleDecorator); } } - #endregion - public virtual IBaseStyleDecorator StyleDecorator { - get { - return styleDecorator; - } - set { - this.styleDecorator = value; - } - } + public virtual IBaseStyleDecorator StyleDecorator {get;set;} - public bool IsContainer { - get { - return isContainer; - } - set { - isContainer = value; - } - } - - public ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter PdfUnitConverter { - get { return converter; } - } + public bool IsContainer {get; protected set;} + + public ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter PdfUnitConverter {get;private set;} - public PdfWriter PdfWriter { - get { return pdfWriter; } - } + public PdfWriter PdfWriter {get;private set;} } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs new file mode 100644 index 0000000000..bc120931e8 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs @@ -0,0 +1,67 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 18.02.2011 + * Time: 20:20 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Drawing; +using ICSharpCode.Reports.Core.Globals; +using iTextSharp.text.pdf; + +namespace ICSharpCode.Reports.Core.Exporter +{ + public class ExportGraphicContainer :ExportContainer + { + //ExporterCollection items; + + public ExportGraphicContainer (IBaseStyleDecorator itemStyle,bool isContainer):base(itemStyle as BaseStyleDecorator) + { + + } + + public override void DrawItem(Graphics graphics) + { + base.DrawItem(graphics); + ILineDecorator lineDecorator = base.StyleDecorator as LineDecorator; + if (lineDecorator != null) { + GraphicsLineDrawer (graphics); + } + else { + IGraphicStyleDecorator style = base.StyleDecorator as GraphicStyleDecorator; + if (style != null) { + base.FillShape(graphics,style.Shape); + BaseLine baseLine = null; + if (style.BackColor == GlobalValues.DefaultBackColor){ + baseLine = new BaseLine (style.ForeColor,style.DashStyle,style.Thickness); + } else { + baseLine = new BaseLine (style.BackColor,style.DashStyle,style.Thickness); + } + style.Shape.DrawShape(graphics, + baseLine, + style.DisplayRectangle); + } + } + } + + + private void GraphicsLineDrawer (Graphics graphics) + { + LineDecorator lineStyle = base.StyleDecorator as LineDecorator; + + BaseLine baseLine = null; + baseLine = new BaseLine (lineStyle.ForeColor,lineStyle.DashStyle,lineStyle.Thickness); + + Point from = new Point(lineStyle.DisplayRectangle.Left + lineStyle.From.X, + lineStyle.DisplayRectangle.Top + lineStyle.From.Y); + Point to = new Point(lineStyle.DisplayRectangle.Left + lineStyle.To.X, + lineStyle.DisplayRectangle.Top + lineStyle.To.Y); + lineStyle.Shape.DrawShape(graphics, + baseLine, + from, + to); + } + } +} From 06a04c13aec8709f05f19ada16f48a61ce493728 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 20 Feb 2011 20:22:54 +0100 Subject: [PATCH 020/168] GraphicsContainer can be used with printer and pdf --- .../Project/ReportItems/BaseTextItem.cs | 1 - .../ExportColumns/BaseExportColumn.cs | 10 +--- .../Exporter/ExportColumns/ExportContainer.cs | 10 ++++ .../ExportColumns/ExportGraphicContainer.cs | 22 ++++++++- .../Exporter/ExportColumns/ExportText.cs | 48 +++++++++++-------- .../ExportRenderer/BaseExportRenderer.cs | 12 +---- .../Exporter/ExportRenderer/PdfRenderer.cs | 23 +++++---- .../Project/Globals/PdfHelper.cs | 3 +- 8 files changed, 73 insertions(+), 56 deletions(-) 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 d55e5e98ed..75db75a60f 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 @@ -34,7 +34,6 @@ namespace ICSharpCode.Reports.Addin base.BackColor = Color.White; this.contentAlignment = ContentAlignment.TopLeft; TypeDescriptor.AddProvider(new TextItemTypeProvider(), typeof(BaseTextItem)); - System.Console.WriteLine (this.Font.ToString()); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs index d639042b42..2cc0d25a2d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs @@ -15,11 +15,6 @@ namespace ICSharpCode.Reports.Core.Exporter public class BaseExportColumn { -// private IBaseStyleDecorator styleDecorator; - // private bool isContainer; - // private ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter; -// private PdfWriter pdfWriter; - #region Constructors public BaseExportColumn() @@ -37,7 +32,6 @@ namespace ICSharpCode.Reports.Core.Exporter #endregion - #region draw item public virtual void DrawItem (Graphics graphics) @@ -163,9 +157,9 @@ namespace ICSharpCode.Reports.Core.Exporter public bool IsContainer {get; protected set;} - public ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter PdfUnitConverter {get;private set;} + public ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter PdfUnitConverter {get;protected set;} - public PdfWriter PdfWriter {get;private set;} + public PdfWriter PdfWriter {get;protected set;} } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs index bbb5c87d0d..808abfeeef 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs @@ -37,12 +37,22 @@ namespace ICSharpCode.Reports.Core.Exporter } base.DrawItem(graphics); base.Decorate(graphics); + foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in items) + { + baseExportColumn.DrawItem(graphics); + } } + + public override void DrawItem(PdfWriter pdfWriter, ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter) { base.DrawItem(pdfWriter, converter); base.Decorate(); + foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in this.Items) + { + baseExportColumn.DrawItem(pdfWriter,converter); + } } #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs index bc120931e8..de0d6ca26a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs @@ -15,7 +15,6 @@ namespace ICSharpCode.Reports.Core.Exporter { public class ExportGraphicContainer :ExportContainer { - //ExporterCollection items; public ExportGraphicContainer (IBaseStyleDecorator itemStyle,bool isContainer):base(itemStyle as BaseStyleDecorator) { @@ -29,7 +28,8 @@ namespace ICSharpCode.Reports.Core.Exporter if (lineDecorator != null) { GraphicsLineDrawer (graphics); } - else { + else + { IGraphicStyleDecorator style = base.StyleDecorator as GraphicStyleDecorator; if (style != null) { base.FillShape(graphics,style.Shape); @@ -47,6 +47,24 @@ namespace ICSharpCode.Reports.Core.Exporter } + public override void DrawItem(PdfWriter pdfWriter, ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter) + { + base.PdfWriter = pdfWriter; + base.PdfUnitConverter = converter; + + IGraphicStyleDecorator style = base.StyleDecorator as GraphicStyleDecorator; + + style.Shape.DrawShape(pdfWriter.DirectContent, + new BaseLine (style.ForeColor,style.DashStyle,style.Thickness), + style, + ConvertToPdfRectangle()); + foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in this.Items) + { + baseExportColumn.DrawItem(pdfWriter,converter); + } + } + + private void GraphicsLineDrawer (Graphics graphics) { LineDecorator lineStyle = base.StyleDecorator as LineDecorator; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs index ff7268a1d8..64d23a0115 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs @@ -39,30 +39,12 @@ namespace ICSharpCode.Reports.Core.Exporter { throw new ArgumentNullException("converter"); } base.DrawItem(pdfWriter,converter); - - iTextSharp.text.Font font = null; - - if (this.StyleDecorator.Font.Unit == GraphicsUnit.Point) { - - font = FontFactory.GetFont(this.StyleDecorator.Font.FontFamily.Name, - BaseFont.IDENTITY_H, - this.StyleDecorator.Font.Size, - (int)this.StyleDecorator.Font.Style, - this.StyleDecorator.PdfForeColor); - - } else { - - font = FontFactory.GetFont(this.StyleDecorator.Font.FontFamily.Name, - BaseFont.IDENTITY_H, - UnitConverter.FromPixel(this.StyleDecorator.Font.Size).Point, - (int)this.StyleDecorator.Font.Style, - this.StyleDecorator.PdfForeColor); - } base.Decorate(); - + PdfContentByte contentByte = base.PdfWriter.DirectContent; - + + iTextSharp.text.Font font = CreateFontFromFactory(this.StyleDecorator); CalculatePdfFormat pdfFormat = new CalculatePdfFormat(this.StyleDecorator,font); ColumnText columnText = new ColumnText(contentByte); @@ -83,6 +65,30 @@ namespace ICSharpCode.Reports.Core.Exporter { columnText.Go(); } + + private static iTextSharp.text.Font CreateFontFromFactory(TextStyleDecorator styleDecorator) + { + iTextSharp.text.Font font = null; + if (styleDecorator.Font.Unit == GraphicsUnit.Point) { + + font = FontFactory.GetFont(styleDecorator.Font.FontFamily.Name, + BaseFont.IDENTITY_H, + styleDecorator.Font.Size, + (int)styleDecorator.Font.Style, + styleDecorator.PdfForeColor); + + } else { + + font = FontFactory.GetFont(styleDecorator.Font.FontFamily.Name, + BaseFont.IDENTITY_H, + UnitConverter.FromPixel(styleDecorator.Font.Size).Point, + (int)styleDecorator.Font.Style, + styleDecorator.PdfForeColor); + } + return font; + } + + public override void DrawItem(Graphics graphics) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/BaseExportRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/BaseExportRenderer.cs index f219aa2de0..7e9a89bf86 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/BaseExportRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/BaseExportRenderer.cs @@ -27,18 +27,8 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer{ protected static void DrawItems (Graphics graphics,ExporterCollection items) { - foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in items) { - - if (baseExportColumn != null) { - ExportContainer container = baseExportColumn as ExportContainer; - if (container == null) { - baseExportColumn.DrawItem(graphics); - } else { - container.DrawItem(graphics); - DrawItems(graphics,container.Items); - } - } + baseExportColumn.DrawItem(graphics); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs index 2b00232cd2..3a0f040566 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs @@ -101,17 +101,15 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer private void DrawPage (ExporterCollection items) { - foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in items) { - if (baseExportColumn != null) { - - IExportContainer container = baseExportColumn as ExportContainer; - if (container == null) { - baseExportColumn.DrawItem(this.pdfWriter,this.pdfUnitConverter); - } else { - container.DrawItem(this.pdfWriter,this.pdfUnitConverter); - this.DrawPage(container.Items); - } - } + foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in items) + { + baseExportColumn.DrawItem(this.pdfWriter,this.pdfUnitConverter); +// IExportContainer container = baseExportColumn as ExportContainer; +// if (container == null) { +// baseExportColumn.DrawItem(this.pdfWriter,this.pdfUnitConverter); +// } else { +// container.DrawItem(this.pdfWriter,this.pdfUnitConverter); +// } } } @@ -157,7 +155,8 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer } - public class PdfUnitConverter { + public class PdfUnitConverter + { Rectangle pageSize; float lowerLeftX; float lowerleftY; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/PdfHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/PdfHelper.cs index ce2dcdaa9c..c842d1394b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/PdfHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/PdfHelper.cs @@ -2,7 +2,6 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using iTextSharp.text; namespace ICSharpCode.Reports.Core.Globals { @@ -14,6 +13,7 @@ namespace ICSharpCode.Reports.Core.Globals { ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter; + public ScreenRectToPdfRectConverter(ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter) { if (converter == null) { @@ -57,5 +57,6 @@ namespace ICSharpCode.Reports.Core.Globals float ry = (float)ly + UnitConverter.FromPixel(r.Height).Point; return new iTextSharp.text.Rectangle(lx,ly,rx,ry); } + } } From 4237e4c6a7efe7478c15a8db738b7daa946716b2 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier <peter.forstmeier@t-online.de> Date: Mon, 21 Feb 2011 16:51:25 +0100 Subject: [PATCH 021/168] Better grouping with collections --- .../ICSharpCode.Reports.Core.csproj | 48 +----- .../Project/DataManager/ChildNavigator.cs | 37 ++-- .../ListStrategy/BaseListStrategy.cs | 63 ++----- .../ListStrategy/CollectionStrategy.cs | 158 ++++++------------ .../DataManager/ListStrategy/TableStrategy.cs | 2 +- .../Project/Interfaces/IDataViewStrategy.cs | 2 + .../TableStragy/GroupTableFixture.cs | 4 +- 7 files changed, 92 insertions(+), 222 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index dde8419236..d4c9df244b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -122,13 +122,17 @@ <Compile Include="Project\DataManager\ListStrategy\CollectionStrategy.cs" /> <Compile Include="Project\DataManager\DataManager.cs" /> <Compile Include="Project\Dialogs\EditorDialog.cs"> + <SubType>Form</SubType> </Compile> <Compile Include="Project\Dialogs\EditorDialog.Designer.cs" /> <Compile Include="Project\Dialogs\GroupingCollectionEditor.cs" /> <Compile Include="Project\Dialogs\IStringBasedEditorDialog.cs" /> <Compile Include="Project\Dialogs\ParametersCollectionEditor.cs" /> - <Compile Include="Project\Dialogs\ParameterDialog.cs" /> + <Compile Include="Project\Dialogs\ParameterDialog.cs"> + <SubType>Form</SubType> + </Compile> <Compile Include="Project\Dialogs\PreviewControl.cs"> + <SubType>UserControl</SubType> </Compile> <Compile Include="Project\Dialogs\DefaultTextEditor.cs" /> <Compile Include="Project\Dialogs\SortingCollectionEditor.cs" /> @@ -287,6 +291,7 @@ </Compile> <Compile Include="Project\ReportEngine.cs" /> <Compile Include="Project\ReportViewer\NumericToolStripTextBox.cs"> + <SubType>Component</SubType> </Compile> <Compile Include="Project\ConnectionObject.cs" /> <Compile Include="Project\ReportModel.cs" /> @@ -323,6 +328,7 @@ <Compile Include="Project\Exporter\ExportColumns\IExportColumnBuilder .cs" /> <Compile Include="Project\ReportViewer\PageNavigationEventArgs.cs" /> <Compile Include="Project\ReportViewer\ReportViewer.cs"> + <SubType>UserControl</SubType> </Compile> <Compile Include="Project\ReportViewer\ReportViewer.Designer.cs"> <DependentUpon>Project\ReportViewer.cs</DependentUpon> @@ -358,44 +364,6 @@ <None Include="Project\ReportViewer\Resources\Icons\Last.bmp" /> <None Include="Project\ReportViewer\Resources\Icons\Next.bmp" /> </ItemGroup> - <ItemGroup> - <Folder Include="Project\BaseClasses\Printing" /> - <Folder Include="Project\BaseItems" /> - <Folder Include="Project\BaseItems\Graphics" /> - <Folder Include="Project\Collections" /> - <Folder Include="Project\DataManager" /> - <Folder Include="Project\DataManager\Comparer" /> - <Folder Include="Project\DataManager\ListHandling" /> - <Folder Include="Project\DataManager\ListStrategy" /> - <Folder Include="Project\Dialogs" /> - <Folder Include="Project\Events" /> - <Folder Include="Project\Exceptions" /> - <Folder Include="Project\Exporter\Converters" /> - <Folder Include="Project\Expressions\SimpleExpressionEvaluator" /> - <Folder Include="Project\Expressions\ReportingLanguage" /> - <Folder Include="Project\Expressions\SimpleExpressionEvaluator\Compilation" /> - <Folder Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions" /> - <Folder Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\AggregateFunctions" /> - <Folder Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\Operators" /> - <Folder Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\ReportingService" /> - <Folder Include="Project\Expressions\SimpleExpressionEvaluator\Evaluation" /> - <Folder Include="Project\Expressions\SimpleExpressionEvaluator\Parser" /> - <Folder Include="Project\Expressions\SimpleExpressionEvaluator\Utilities" /> - <Folder Include="Project\Factories" /> - <Folder Include="Project\Globals" /> - <Folder Include="Project\Interfaces" /> - <Folder Include="Project\Expressions" /> - <Folder Include="Project\ReportViewer\Resources\Icons" /> - <Folder Include="Project\Resources" /> - <Folder Include="Project\Printing" /> - <Folder Include="Project\Printing\Graphics" /> - <Folder Include="Project\Xml" /> - <Folder Include="Project\Configuration" /> - <Folder Include="Project\BaseClasses" /> - <Folder Include="Project\Exporter" /> - <Folder Include="Project\Exporter\ExportColumns" /> - <Folder Include="Project\ReportViewer" /> - <Folder Include="Project\ReportViewer\Resources" /> - </ItemGroup> + <ItemGroup /> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> </Project> \ No newline at end of file diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs index e59b324185..1a41b76e42 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs @@ -12,7 +12,7 @@ namespace ICSharpCode.Reports.Core public class ChildNavigator:IDataNavigator { private IndexList indexList; - private IDataViewStrategy store; + private IDataViewStrategy dataStore; private System.Collections.Generic.List<BaseComparer>.Enumerator enumerator; public ChildNavigator(IDataViewStrategy dataStore,IndexList indexList) @@ -20,7 +20,7 @@ namespace ICSharpCode.Reports.Core if (dataStore == null) { throw new ArgumentNullException("dataStore"); } - this.store = dataStore; + this.dataStore = dataStore; this.indexList = indexList; enumerator = this.indexList.GetEnumerator(); enumerator.MoveNext(); @@ -70,34 +70,34 @@ namespace ICSharpCode.Reports.Core public object Current { get { - TableStrategy t = this.store as TableStrategy; -// return t.myCurrent(enumerator.Current.ListIndex); - return t.myCurrent(this.indexList[CurrentRow].ListIndex); + return dataStore.myCurrent(this.indexList[CurrentRow].ListIndex); } } public AvailableFieldsCollection AvailableFields { get { - return store.AvailableFields; + return dataStore.AvailableFields; } } public void Fill(ReportItemCollection collection) { - TableStrategy tableStrategy = store as TableStrategy; - foreach (var item in collection) { - IDataItem dataItem = item as IDataItem; - if (dataItem != null) { - CurrentItemsCollection currentItemsCollection = tableStrategy.FillDataRow(this.indexList[CurrentRow].ListIndex); - CurrentItem s = currentItemsCollection.FirstOrDefault(x => x.ColumnName == dataItem.ColumnName); - dataItem.DBValue = s.Value.ToString(); - } - - } + foreach (var item in collection) + { + IDataItem dataItem = item as IDataItem; + if (dataItem != null) + { + CurrentItemsCollection currentItemsCollection = dataStore.FillDataRow(this.indexList[CurrentRow].ListIndex); + CurrentItem s = currentItemsCollection.FirstOrDefault(x => x.ColumnName == dataItem.ColumnName); + dataItem.DBValue = s.Value.ToString(); + } + + } } + public bool MoveNext() { this.indexList.CurrentPosition ++; @@ -113,8 +113,7 @@ namespace ICSharpCode.Reports.Core public CurrentItemsCollection GetDataRow { get { - var st= store as TableStrategy; - return st.FillDataRow(this.indexList[CurrentRow].ListIndex); + return dataStore.FillDataRow(this.indexList[CurrentRow].ListIndex); } } @@ -126,7 +125,7 @@ namespace ICSharpCode.Reports.Core if ((i == null) || (i.Count == 0)) { return null; } - return new ChildNavigator(this.store,i); + return new ChildNavigator(this.dataStore,i); } } 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 dcc7992816..832debe52a 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 @@ -110,7 +110,7 @@ namespace ICSharpCode.Reports.Core { } compVal = v; } -// ShowIndexList(IndexList); + ShowIndexList(IndexList); } @@ -130,7 +130,7 @@ namespace ICSharpCode.Reports.Core { #endregion #region Debug Code - /* + protected static void ShowIndexList (IndexList list) { @@ -151,7 +151,7 @@ namespace ICSharpCode.Reports.Core { } } } - */ + #endregion public virtual void Reset() @@ -180,7 +180,17 @@ namespace ICSharpCode.Reports.Core { { return new CurrentItemsCollection(); } - + + public virtual object myCurrent(int pos) + { + return null; + } + + + public virtual CurrentItemsCollection FillDataRow(int pos) + { + return FillDataRow(); + } #endregion #region SharpReportCore.IDataViewStrategy interface implementation @@ -231,33 +241,6 @@ namespace ICSharpCode.Reports.Core { public bool IsGrouped {get;set;} - /* - public bool IsFiltered - { - get { - return this.isFiltered; - } set { - this.isFiltered = value; - } - } - */ - - - - - /* - protected virtual void Group() - { - if (this.indexList != null) { - this.isGrouped = true; - this.isSorted = true; - } else { - throw new ReportException ("BaseListStrategy:Group Sorry, no IndexList"); - } - - } - */ - public virtual void Sort() { @@ -283,24 +266,6 @@ namespace ICSharpCode.Reports.Core { } - /* - public IndexList ChildRows - { - get { - if (this.IsGrouped == true) { - GroupSeparator gs = (GroupSeparator)this.indexList[this.CurrentRow] as GroupSeparator; - if (gs != null) { - return (gs.GetChildren); - } else { - return null; - } - } else { - return null; - } - } - } - */ - public virtual void Dispose() { this.Dispose(true); 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 e43d5ec6e2..941f8604f8 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 @@ -166,7 +166,7 @@ namespace ICSharpCode.Reports.Core { base.Group(); IndexList gl = new IndexList("group"); gl = this.BuildSortIndex (ReportSettings.GroupColumnsCollection); -// ShowIndexList(gl); + ShowIndexList(gl); base.BuildGroup(gl); } @@ -207,71 +207,12 @@ namespace ICSharpCode.Reports.Core { #endregion - /* - - public override void Fill(IDataItem item) - { - if (item is BaseDataItem) - { - if (item.ColumnName.Contains(".")) { - string[] splittedNames = SplitNames(ref item); - - // PropDes for SubClass - - PropertyDescriptor classProperty = this.listProperties.Find(splittedNames[0], true); - if (classProperty == null) - { - WrongColumnName (item); - } - else - { - //all Props for SubClass - var propCollection = ExtendedTypeDescriptor.GetProperties(classProperty.PropertyType); - - var subProperty = propCollection.Find(splittedNames[1], true); - - var classValue = classProperty.GetValue(this.Current); - SetReturnValue(subProperty,classValue,item); - } - } - else - { - PropertyDescriptor p = this.listProperties.Find(item.ColumnName, true); - if (p != null) { - SetReturnValue(p,this.Current,item); - } else { - WrongColumnName (item); - } - - } - - return; - } - else - { - - //image processing from IList - BaseImageItem baseImageItem = item as BaseImageItem; - - if (baseImageItem != null) { - PropertyDescriptor p = this.listProperties.Find(baseImageItem.ColumnName, true); - if (p != null) { - baseImageItem.Image = p.GetValue(this.Current) as System.Drawing.Image; - } - return; - } - } - } - - */ - + public override void Fill(IDataItem item) { if (item is BaseDataItem) { - var retVal = FollowPropertyPath(Current,item.ColumnName); - //var retVal1 = ResolveValue(Current,item.ColumnName); if (retVal != null) { item.DBValue = retVal.ToString(); } else { @@ -320,27 +261,7 @@ namespace ICSharpCode.Reports.Core { return value; } - /* - static object ResolveValue(object component, string path) - { - foreach(string segment in path.Split('.')) - { - if (component == null) return null; - if(component is IListSource) - { - component = ((IListSource)component).GetList(); - } - if (component is IList) - { - component = ((IList)component)[0]; - } - var r = ExtendedTypeDescriptor.GetProperties(component.GetType()); - - //component = GetValue(component, segment); - } - return component; - } - */ + #endregion static string WrongColumnName(string propertyName) @@ -348,35 +269,16 @@ namespace ICSharpCode.Reports.Core { return String.Format(CultureInfo.InvariantCulture, "Error : <{0}> missing!", propertyName); } - /* - static void SetReturnValue(PropertyDescriptor p,object component,IDataItem item) - { - if (p != null) - { - var o = p.GetValue(component); - - if (o != null) { - item.DBValue = o.ToString(); - } else { - item.DBValue = String.Empty; - } - - } else { - WrongColumnName(item); - } - } - - static string[] SplitNames(ref IDataItem item) - { - char[] delimiters = new char[] { '.' }; - var splittedNames = item.ColumnName.Split(delimiters); - return splittedNames; - } - - */ #region test - + + public override object myCurrent(int pos) + { + // return this.IndexList[pos]; + return this.IndexList[this.CurrentPosition]; + } + + public override CurrentItemsCollection FillDataRow() { CurrentItemsCollection ci = base.FillDataRow(); @@ -387,13 +289,47 @@ namespace ICSharpCode.Reports.Core { c = new CurrentItem(); c.ColumnName = pd.Name; c.DataType = pd.PropertyType; - c.Value = pd.GetValue(this.Current).ToString(); + var s = pd.GetValue(this.Current); + if (s != null) + { + c.Value = s.ToString(); + } + else + { + c.Value = String.Empty; + } ci.Add(c); } } return ci; } - + + public override CurrentItemsCollection FillDataRow(int pos) + { + CurrentItemsCollection ci = new CurrentItemsCollection(); + CurrentItem c = null; + foreach (PropertyDescriptor pd in this.listProperties) + { + c = new CurrentItem(); + c.ColumnName = pd.Name; + c.DataType = pd.PropertyType; + + var s = pd.GetValue(this.Current); + if (s != null) + { + c.Value = s.ToString(); + } + else + { + c.Value = String.Empty; + } + ci.Add(c); + } + + return ci; + } + + #endregion #region IDisposable 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 e7b5212be2..7f1b1e0fee 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 @@ -189,7 +189,7 @@ namespace ICSharpCode.Reports.Core } - public object myCurrent (int pos) + public override object myCurrent (int pos) { return this.table.Rows[pos]; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs index 0edf345c83..c423c6a198 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs @@ -18,7 +18,9 @@ namespace ICSharpCode.Reports.Core{ IndexList IndexList {get;} //test + object myCurrent(int pos); CurrentItemsCollection FillDataRow(); + CurrentItemsCollection FillDataRow(int pos); // AvailableFieldsCollection AvailableFields {get;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs index 5345ad4367..d69eda47a1 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs @@ -163,9 +163,9 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy if (dataNavigator.HasChildren) { DataRow r = dataNavigator.Current as DataRow; - - IDataNavigator child = dataNavigator.GetChildNavigator; string v2 = r["last"].ToString() + " GroupVal :" + r[3].ToString() ; + IDataNavigator child = dataNavigator.GetChildNavigator; + Console.WriteLine(v2); Assert.That (child,Is.Not.Null); RecursiveCall(child); From 566a235d0246b34fae98fc594c25ab1e4cfaec7e Mon Sep 17 00:00:00 2001 From: Peter Forstmeier <peter.forstmeier@t-online.de> Date: Mon, 21 Feb 2011 16:52:27 +0100 Subject: [PATCH 022/168] Changed bug when GroupFooter is added without Wizard --- .../Project/BaseItems/GroupFooter.cs | 5 +++-- .../Project/Collections/Collections.cs | 22 +++++++++++-------- .../Exporter/Converters/BaseConverter.cs | 12 +++++----- .../Converters/GroupedRowConverter.cs | 8 +++---- 4 files changed, 27 insertions(+), 20 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/GroupFooter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/GroupFooter.cs index 75b3e8b149..8724c7b800 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/GroupFooter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/GroupFooter.cs @@ -13,12 +13,13 @@ namespace ICSharpCode.Reports.Core /// <summary> /// Description of BaseGroupeFooter. /// </summary> - public class GroupFooter:GroupHeader + public class GroupFooter:BaseRowItem { public GroupFooter() { } - + + public bool PageBreakOnGroupChange { get; set; } } } 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 7cbc1a064c..e0ab48fdb1 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 @@ -147,15 +147,19 @@ namespace ICSharpCode.Reports.Core{ } #region Grouphandling - - public bool IsGrouped - { - get { - return (this[0] is GroupHeader) ; - } - } - - + + public Collection<GroupHeader> FindGroupHeader() + { + return new Collection<GroupHeader>(this.Items.OfType<GroupHeader>().ToList()); + } + + + public Collection<GroupFooter> FindGroupFooter() + { + return new Collection<GroupFooter>(this.Items.OfType<GroupFooter>().ToList()); + } + + private Collection<BaseDataItem> CreateGroupedList () { Collection<BaseDataItem> inheritedReportItems = null; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index ca226b63c6..a1c5ab12da 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -138,7 +138,7 @@ namespace ICSharpCode.Reports.Core.Exporter protected void ConvertGroupFooter (ISimpleContainer container,ExporterCollection exporterCollection) { - var footers = BaseConverter.FindGroupFooter(container); + var footers = container.Items.FindGroupFooter(); if (footers.Count > 0) { Size rowSize = footers[0].Size; @@ -164,7 +164,8 @@ namespace ICSharpCode.Reports.Core.Exporter private static bool CheckPageBreakAfterGroupChange(ISimpleContainer container) { - var groupedRows = BaseConverter.FindGroupHeader(container); + var groupedRows = container.Items.FindGroupHeader(); + //var groupedRows = BaseConverter.FindGroupHeader(container); if (groupedRows.Count > 0) { var groupedRow = groupedRows[0]; return groupedRow.PageBreakOnGroupChange; @@ -172,18 +173,19 @@ namespace ICSharpCode.Reports.Core.Exporter return false; } - + /* protected static Collection<GroupHeader> FindGroupHeader (ISimpleContainer container) { return new Collection<GroupHeader>(container.Items.OfType<GroupHeader>().ToList()); } + */ - + /* protected static Collection<GroupFooter> FindGroupFooter (ISimpleContainer container) { return new Collection<GroupFooter>(container.Items.OfType<GroupFooter>().ToList()); } - + */ protected virtual Point ForcePageBreak(ExporterCollection exporterCollection, BaseSection section) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index db1e65cfa8..ff0b16c833 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -63,8 +63,8 @@ namespace ICSharpCode.Reports.Core.Exporter DefaultLeftPosition = parent.Location.X; Size groupSize = Size.Empty; Size childSize = Size.Empty; - - if (section.Items.IsGrouped) + + if (section.Items.FindGroupHeader().Count > 0) { groupSize = section.Items[0].Size; childSize = section.Items[1].Size; @@ -76,7 +76,7 @@ namespace ICSharpCode.Reports.Core.Exporter section.Size = this.SectionBounds.DetailSectionRectangle.Size; // did we have GroupedItems at all - if (section.Items.IsGrouped) + if (section.Items.FindGroupHeader().Count > 0) { // GetType child navigator IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator; @@ -171,7 +171,7 @@ namespace ICSharpCode.Reports.Core.Exporter var retVal = Point.Empty; var rowSize = Size.Empty; ReportItemCollection groupCollection = null; - var groupedRows = BaseConverter.FindGroupHeader(section); + var groupedRows = section.Items.FindGroupHeader(); if (groupedRows.Count == 0) { groupCollection = section.Items.ExtractGroupedColumns(); base.DataNavigator.Fill(groupCollection); From a69d65fa5fc384cbbc357a340bddcf43855e88e3 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Mon, 21 Feb 2011 20:23:21 +0100 Subject: [PATCH 023/168] cleanup --- .../Project/DataManager/ChildNavigator.cs | 2 +- .../Project/DataManager/Comparer/BaseComparer.cs | 4 ++-- .../DataManager/ListStrategy/BaseListStrategy.cs | 15 +++++++++------ .../ListStrategy/CollectionStrategy.cs | 3 +-- .../DataManager/ListStrategy/TableStrategy.cs | 5 +++-- .../Project/Interfaces/IDataViewStrategy.cs | 3 ++- 6 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs index 1a41b76e42..a5699a5ac0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs @@ -70,7 +70,7 @@ namespace ICSharpCode.Reports.Core public object Current { get { - return dataStore.myCurrent(this.indexList[CurrentRow].ListIndex); + return dataStore.CurrentFromPosition(this.indexList[CurrentRow].ListIndex); } } 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 6aa1904dc9..bcb89e1c20 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 @@ -11,13 +11,13 @@ using System.Collections.ObjectModel; /// created by - Forstmeier Peter /// created on - 10.11.2005 23:41:04 /// </remarks> -namespace ICSharpCode.Reports.Core { +namespace ICSharpCode.Reports.Core +{ public class BaseComparer : System.IComparable { private int listIndex; private object[] objectArray; -// Collection<AbstractColumn> columnCollection; ColumnCollection columnCollection; /// <summary> /// Default constructor - initializes all fields to default 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 832debe52a..fcea324a48 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 @@ -36,7 +36,8 @@ namespace ICSharpCode.Reports.Core { } - internal abstract class BaseListStrategy :IDataViewStrategy,IEnumerator { + internal abstract class BaseListStrategy :IDataViewStrategy,IEnumerator + { private IndexList indexList; private AvailableFieldsCollection availableFields; @@ -181,11 +182,11 @@ namespace ICSharpCode.Reports.Core { return new CurrentItemsCollection(); } - public virtual object myCurrent(int pos) - { - return null; - } - + public virtual object CurrentFromPosition (int pos) + { + throw new NotImplementedException(); + } + public virtual CurrentItemsCollection FillDataRow(int pos) { @@ -292,5 +293,7 @@ namespace ICSharpCode.Reports.Core { } #endregion + + } } 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 941f8604f8..156869cc35 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 @@ -272,9 +272,8 @@ namespace ICSharpCode.Reports.Core { #region test - public override object myCurrent(int pos) + public override object CurrentFromPosition (int pos) { - // return this.IndexList[pos]; return this.IndexList[this.CurrentPosition]; } 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 7f1b1e0fee..da2ea5297e 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 @@ -189,7 +189,7 @@ namespace ICSharpCode.Reports.Core } - public override object myCurrent (int pos) + public override object CurrentFromPosition (int pos) { return this.table.Rows[pos]; } @@ -246,7 +246,8 @@ namespace ICSharpCode.Reports.Core } - public override object Current { + public override object Current + { get { try { int cr = base.CurrentPosition; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs index c423c6a198..db9414c4b3 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs @@ -18,7 +18,8 @@ namespace ICSharpCode.Reports.Core{ IndexList IndexList {get;} //test - object myCurrent(int pos); + object CurrentFromPosition(int pos); + CurrentItemsCollection FillDataRow(); CurrentItemsCollection FillDataRow(int pos); // From 651cc616bdc5d3e9d878161aff76413094c14880 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Tue, 22 Feb 2011 20:30:37 +0100 Subject: [PATCH 024/168] Test for FollowPropertyPath and Grouping with Collections --- .../ListStrategy/GroupListFixture.cs | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs index b601382bee..796ac5c1e9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs @@ -25,6 +25,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy } + #region standard test's + [Test] public void GroupingCollection_Contains_IsGrouped_True() { @@ -44,6 +46,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy Assert.That(availableFieldsCollection.Count,Is.GreaterThan(0)); } + #endregion + #region group by StringValue [Test] @@ -94,6 +98,60 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy } + [Test] + [Ignore] + public void Collection_Contains_Subclass () + { + var modifyedCollection = this.ModifyCollection(); + + GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending); + ReportSettings rs = new ReportSettings(); + rs.GroupColumnsCollection.Add(gc); + IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(modifyedCollection,rs); + IDataNavigator dataNavigator = dm.GetNavigator; + + ReportItemCollection searchCol = new ReportItemCollection(); + searchCol.Add(new BaseDataItem () + { + ColumnName ="DummyClass.DummyString" + } + ); + searchCol.Add(new BaseDataItem () + { + Name ="GroupItem", + ColumnName ="GroupItem" + } + ); + + dataNavigator.Reset(); + dataNavigator.MoveNext(); + + while (dataNavigator.MoveNext()) + { + dataNavigator.Fill(searchCol); + var a1 = (BaseDataItem)searchCol[0]; + var b1 = (BaseDataItem)searchCol[1]; + Console.WriteLine ("{0} - {1}",a1.DBValue,b1.DBValue); + Console.WriteLine("----------------------"); + if (dataNavigator.HasChildren) + { + var childNavigator = dataNavigator.GetChildNavigator; + do + { +// + childNavigator.Fill(searchCol); + var a = (BaseDataItem)searchCol[0]; + var b = (BaseDataItem)searchCol[1]; + Console.WriteLine ("{0} - {1}",a.DBValue,b.DBValue); + Contributor c = dataNavigator.Current as Contributor; + string v2 = c.Last + " GroupVal :" + c.GroupItem; + Console.WriteLine(v2); + } + while (childNavigator.MoveNext()); + } + } + } + #endregion #region GroupbyDataTime @@ -123,6 +181,22 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy } #endregion + private ContributorCollection ModifyCollection () + { + var newcol = this.contributorCollection; + MyDummyClass dummy; + int start = 0; + foreach (var element in newcol) + { + dummy = new MyDummyClass(); + dummy.DummyString = "dummy" + start.ToString(); + dummy.DummyInt = start; + element.DummyClass = dummy; + start ++; + } + return newcol; + } + private IDataNavigator PrepareDateTimeGrouping () { From f4219160ae8059769635c1a51246eecb1f2b87a1 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier <peter.forstmeier@t-online.de> Date: Thu, 24 Feb 2011 09:28:55 +0100 Subject: [PATCH 025/168] Modify Test's --- .../ListStrategy/GroupListFixture.cs | 42 ++++++++++++++----- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs index 796ac5c1e9..4ccc7c636e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs @@ -79,22 +79,41 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy public void Can_FillChild() { var dataNavigator = PrepareStringGrouping(); - while (dataNavigator.MoveNext()) { + ReportItemCollection searchCol = new ReportItemCollection(); + + searchCol.Add(new BaseDataItem () + { + Name ="Last", + ColumnName ="Last" + } + ); + dataNavigator.Reset(); + dataNavigator.MoveNext(); + + do + { if (dataNavigator.HasChildren) { + Console.WriteLine("---"); var childNavigator = dataNavigator.GetChildNavigator; do { Assert.That(dataNavigator.HasChildren,Is.True); // we know that current is a 'contributor' + childNavigator.Fill(searchCol); + var a = (BaseDataItem)searchCol[0]; + Console.WriteLine ("\t{0}",a.DBValue); + /* Contributor c = dataNavigator.Current as Contributor; string v2 = c.Last + " GroupVal :" + c.GroupItem; Console.WriteLine(v2); + */ } while (childNavigator.MoveNext()); } } + while (dataNavigator.MoveNext()); } @@ -118,21 +137,22 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy ); searchCol.Add(new BaseDataItem () { - Name ="GroupItem", - ColumnName ="GroupItem" + Name ="Last", + ColumnName ="Last" } ); dataNavigator.Reset(); dataNavigator.MoveNext(); - while (dataNavigator.MoveNext()) + + do { dataNavigator.Fill(searchCol); var a1 = (BaseDataItem)searchCol[0]; - var b1 = (BaseDataItem)searchCol[1]; - Console.WriteLine ("{0} - {1}",a1.DBValue,b1.DBValue); - Console.WriteLine("----------------------"); + var b1 = (BaseDataItem)searchCol[1]; + Console.WriteLine ("{0} - {1}",a1.DBValue,b1.DBValue); + if (dataNavigator.HasChildren) { var childNavigator = dataNavigator.GetChildNavigator; @@ -140,16 +160,18 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy { // childNavigator.Fill(searchCol); + var a = (BaseDataItem)searchCol[0]; var b = (BaseDataItem)searchCol[1]; Console.WriteLine ("{0} - {1}",a.DBValue,b.DBValue); - Contributor c = dataNavigator.Current as Contributor; - string v2 = c.Last + " GroupVal :" + c.GroupItem; - Console.WriteLine(v2); +// Contributor c = dataNavigator.Current as Contributor; +// string v2 = c.Last + " GroupVal :" + c.GroupItem; +// Console.WriteLine(v2); } while (childNavigator.MoveNext()); } } + while (dataNavigator.MoveNext()); } #endregion From 6c79edf505792f7ca911e65a23963d074bdd421f Mon Sep 17 00:00:00 2001 From: Peter Forstmeier <peter.forstmeier@t-online.de> Date: Thu, 24 Feb 2011 17:37:47 +0100 Subject: [PATCH 026/168] FollowPropertyPath with grouping Cleanup Data-Interfaces --- .../Project/DataManager/ChildNavigator.cs | 50 ++++++++--- .../Project/DataManager/DataManager.cs | 9 -- .../Project/DataManager/DataNavigator.cs | 4 +- .../ListStrategy/BaseListStrategy.cs | 78 ++++++----------- .../ListStrategy/CollectionStrategy.cs | 38 +------- .../DataManager/ListStrategy/TableStrategy.cs | 42 +-------- .../Project/Interfaces/IDataNavigator.cs | 4 +- .../Project/Interfaces/IDataViewStrategy.cs | 8 +- .../IConnectionDataManagerFixture.cs | 35 -------- .../ListStrategy/GroupListFixture.cs | 55 ++++++------ .../ListStrategy/IListDataManagerFixture.cs | 86 ------------------- .../TableStragy/GroupTableFixture.cs | 30 ------- .../TableStragy/TableDataManagerFixture.cs | 14 +-- .../TableStragy/TableStrategyFixture.cs | 22 ----- 14 files changed, 104 insertions(+), 371 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs index a5699a5ac0..98bbcf2c2a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs @@ -84,20 +84,50 @@ namespace ICSharpCode.Reports.Core public void Fill(ReportItemCollection collection) { - foreach (var item in collection) - { - IDataItem dataItem = item as IDataItem; - if (dataItem != null) - { - CurrentItemsCollection currentItemsCollection = dataStore.FillDataRow(this.indexList[CurrentRow].ListIndex); - CurrentItem s = currentItemsCollection.FirstOrDefault(x => x.ColumnName == dataItem.ColumnName); - dataItem.DBValue = s.Value.ToString(); - } + var ss = this.indexList[this.indexList.CurrentPosition].ListIndex; + var current = dataStore.CurrentFromPosition(ss); + + // CurrentItemsCollection currentItemsCollection = dataStore.FillDataRow(this.indexList[CurrentRow].ListIndex); + + foreach (IDataItem item in collection) + { + FillInternal (current,item); } + } - + private void FillInternal(object fillFrom,IDataItem item) + { + if (item is BaseDataItem) + { + var retVal = CollectionStrategy.FollowPropertyPath(fillFrom,item.ColumnName); + if (retVal != null) { + item.DBValue = retVal.ToString(); + } else { + item.DBValue = String.Empty; + } + } + + else + { + /* + //image processing from IList + BaseImageItem baseImageItem = item as BaseImageItem; + + if (baseImageItem != null) { + PropertyDescriptor p = this.listProperties.Find(baseImageItem.ColumnName, true); + if (p != null) { + baseImageItem.Image = p.GetValue(this.Current) as System.Drawing.Image; + } + return; + } + */ + } + } + + + public bool MoveNext() { this.indexList.CurrentPosition ++; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataManager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataManager.cs index ddbeb5ee4d..94f493ebd4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataManager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataManager.cs @@ -229,15 +229,6 @@ namespace ICSharpCode.Reports.Core { return this.dataSource; } } - - - public bool IsSorted - { - get { - return this.dataViewStrategy.IsSorted; - } - } - #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs index de83f8124b..2952c5739c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs @@ -63,10 +63,10 @@ namespace ICSharpCode.Reports.Core } - public bool IsSorted {get {return this.store.IsSorted;}} + //public bool IsSorted {get {return this.store.IsSorted;}} - public bool IsGrouped {get {return this.store.IsGrouped;}} + //public bool IsGrouped {get {return this.store.IsGrouped;}} public int CurrentRow { 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 fcea324a48..5eb08f1032 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 @@ -18,8 +18,8 @@ using System.Linq; namespace ICSharpCode.Reports.Core { - - public static class SortExtension + + internal static class SortExtension { public static IOrderedQueryable<BaseComparer> AscendingOrder(this IQueryable<BaseComparer> source ) @@ -34,12 +34,11 @@ namespace ICSharpCode.Reports.Core { return source.OrderByDescending(x => x.ObjectArray[0]); } } - + internal abstract class BaseListStrategy :IDataViewStrategy,IEnumerator { - private IndexList indexList; private AvailableFieldsCollection availableFields; @@ -51,26 +50,11 @@ namespace ICSharpCode.Reports.Core { throw new ArgumentNullException("reportSettings"); } this.ReportSettings = reportSettings; - this.indexList = new IndexList("IndexList"); + this.IndexList = new IndexList("IndexList"); } #endregion - - public IndexList IndexList - { - get { - return indexList; - } - set { - this.indexList = value; - } - } - - - protected ReportSettings ReportSettings {get;private set;} - - #region Sorting delegates protected static List<BaseComparer> GenericSorter (List<BaseComparer> list) @@ -111,7 +95,7 @@ namespace ICSharpCode.Reports.Core { } compVal = v; } - ShowIndexList(IndexList); + //ShowIndexList(IndexList); } @@ -157,7 +141,7 @@ namespace ICSharpCode.Reports.Core { public virtual void Reset() { - this.indexList.CurrentPosition = -1; + this.IndexList.CurrentPosition = -1; } @@ -171,8 +155,8 @@ namespace ICSharpCode.Reports.Core { public virtual bool MoveNext() { - this.indexList.CurrentPosition ++; - return this.indexList.CurrentPosition<this.indexList.Count; + this.IndexList.CurrentPosition ++; + return this.IndexList.CurrentPosition<this.IndexList.Count; } #region test @@ -182,6 +166,7 @@ namespace ICSharpCode.Reports.Core { return new CurrentItemsCollection(); } + public virtual object CurrentFromPosition (int pos) { throw new NotImplementedException(); @@ -192,6 +177,7 @@ namespace ICSharpCode.Reports.Core { { return FillDataRow(); } + #endregion #region SharpReportCore.IDataViewStrategy interface implementation @@ -218,42 +204,25 @@ namespace ICSharpCode.Reports.Core { public virtual int CurrentPosition { get { - return this.indexList.CurrentPosition; + return this.IndexList.CurrentPosition; } set { - if ((value > -1)|| (value > this.indexList.Count)){ - this.indexList.CurrentPosition = value; + if ((value > -1)|| (value > this.IndexList.Count)){ + this.IndexList.CurrentPosition = value; } } } - public bool HasMoreData - { - get { - return true; - } - } - - - public virtual bool IsSorted {get;set;} - - - - public bool IsGrouped {get;set;} - - public virtual void Sort() { - this.indexList.Clear(); + this.IndexList.Clear(); } public virtual void Group() { - this.indexList.Clear(); - this.IsGrouped = true; - + this.IndexList.Clear(); } public virtual void Bind() @@ -267,6 +236,14 @@ namespace ICSharpCode.Reports.Core { } + protected ReportSettings ReportSettings {get;set;} + + public IndexList IndexList {get; set;} + + #endregion + + #region IDisposeable + public virtual void Dispose() { this.Dispose(true); @@ -281,9 +258,9 @@ namespace ICSharpCode.Reports.Core { { if (disposing) { // Free other state (managed objects). - if (this.indexList != null) { - this.indexList.Clear(); - this.indexList = null; + if (this.IndexList != null) { + this.IndexList.Clear(); + this.IndexList = null; } } @@ -291,9 +268,8 @@ namespace ICSharpCode.Reports.Core { // Set large fields to null. // Call Dispose on your base class. } - #endregion - + #endregion } } 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 156869cc35..a8fe91a393 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 @@ -42,7 +42,6 @@ namespace ICSharpCode.Reports.Core { #endregion - #region build sorting private PropertyDescriptor[] BuildSortProperties (SortColumnCollection col) @@ -166,7 +165,7 @@ namespace ICSharpCode.Reports.Core { base.Group(); IndexList gl = new IndexList("group"); gl = this.BuildSortIndex (ReportSettings.GroupColumnsCollection); - ShowIndexList(gl); + //ShowIndexList(gl); base.BuildGroup(gl); } @@ -176,12 +175,9 @@ namespace ICSharpCode.Reports.Core { base.Sort(); if ((base.ReportSettings.SortColumnsCollection != null)) { if (base.ReportSettings.SortColumnsCollection.Count > 0) { - base.IndexList = this.BuildSortIndex (ReportSettings.SortColumnsCollection); - base.IsSorted = true; } else { base.IndexList = this.IndexBuilder(ReportSettings.SortColumnsCollection); - base.IsSorted = false; } } } @@ -236,12 +232,12 @@ namespace ICSharpCode.Reports.Core { } } - #region Proppath from StackOverflow + #region PropertyPath from StackOverflow //http://stackoverflow.com/questions/366332/best-way-to-get-sub-properties-using-getproperty - private static object FollowPropertyPath(object value, string path) + public static object FollowPropertyPath(object value, string path) { Type currentType = value.GetType(); foreach (string propertyName in path.Split('.')) @@ -274,7 +270,7 @@ namespace ICSharpCode.Reports.Core { public override object CurrentFromPosition (int pos) { - return this.IndexList[this.CurrentPosition]; + return this.baseList[pos]; } @@ -303,32 +299,6 @@ namespace ICSharpCode.Reports.Core { return ci; } - public override CurrentItemsCollection FillDataRow(int pos) - { - CurrentItemsCollection ci = new CurrentItemsCollection(); - CurrentItem c = null; - foreach (PropertyDescriptor pd in this.listProperties) - { - c = new CurrentItem(); - c.ColumnName = pd.Name; - c.DataType = pd.PropertyType; - - var s = pd.GetValue(this.Current); - if (s != null) - { - c.Value = s.ToString(); - } - else - { - c.Value = String.Empty; - } - ci.Add(c); - } - - return ci; - } - - #endregion #region IDisposable 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 da2ea5297e..42239f90a2 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 @@ -86,11 +86,11 @@ namespace ICSharpCode.Reports.Core if ((base.ReportSettings.SortColumnsCollection != null)) { if (base.ReportSettings.SortColumnsCollection.Count > 0) { base.IndexList = this.BuildSortIndex (ReportSettings.SortColumnsCollection); - base.IsSorted = true; + //base.IsSorted = true; } else { // if we have no sorting, we build the indexlist as well base.IndexList = this.IndexBuilder(ReportSettings.SortColumnsCollection); - base.IsSorted = false; + //base.IsSorted = false; } } } @@ -188,31 +188,12 @@ namespace ICSharpCode.Reports.Core return ci; } - + public override object CurrentFromPosition (int pos) { return this.table.Rows[pos]; } - - public CurrentItemsCollection FillDataRow(int pos) - { - CurrentItemsCollection ci = new CurrentItemsCollection(); - DataRow row = this.table.Rows[pos] as DataRow; - - if (row != null) { - CurrentItem c = null; - foreach (DataColumn dc in table.Columns) - { - c = new CurrentItem(); - c.ColumnName = dc.ColumnName; - c.DataType = dc.DataType; - c.Value = row[dc.ColumnName]; - ci.Add(c); - } - } - return ci; - } #endregion @@ -259,23 +240,6 @@ namespace ICSharpCode.Reports.Core } } - - public override int CurrentPosition { - get { return base.CurrentPosition; } - set { base.CurrentPosition = value; } - } - - public override bool IsSorted { - get { return base.IsSorted; } - set { base.IsSorted = value; } - } - #endregion - - - public DataRow Readrandowm (int pos) - { - return this.table.Rows[pos]; - } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs index d502c5b189..56b3b067de 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs @@ -30,11 +30,11 @@ using System.ComponentModel; bool HasChildren {get;} // end child list -------------------- - + /* bool IsSorted {get;} bool IsGrouped {get;} - + */ int CurrentRow {get;} int Count {get;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs index db9414c4b3..97bd63136d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs @@ -16,7 +16,7 @@ namespace ICSharpCode.Reports.Core{ void Fill (IDataItem item); - IndexList IndexList {get;} + IndexList IndexList {get;set;} //test object CurrentFromPosition(int pos); @@ -29,11 +29,5 @@ namespace ICSharpCode.Reports.Core{ int CurrentPosition {get;set;} - bool HasMoreData {get;} - - bool IsSorted {get;} - - bool IsGrouped {get;set;} - } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IConnectionDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IConnectionDataManagerFixture.cs index f785674c54..ce739d3a13 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IConnectionDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IConnectionDataManagerFixture.cs @@ -133,41 +133,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager } - [Test] - public void CheckIsSorted() - { - - ReportSettings rs = new ReportSettings(); - rs.ConnectionString = "goodConnection"; - IDataAccessStrategy da = new MockDataAccessStrategy (rs); - ICSharpCode.Reports.Core.DataManager dm = (ICSharpCode.Reports.Core.DataManager)ICSharpCode.Reports.Core.DataManager.CreateInstance(rs,da); - Assert.IsFalse(dm.IsSorted,"IsSorted should be 'false'"); - } - - /* - [Test] - public void CheckIsGrouped() - { - IDataAccessStrategy da = new MockDataAccessStrategy (); - ReportSettings rs = new ReportSettings(); - rs.ConnectionString = "goodConnection"; - ICSharpCode.Reports.Core.DataManager dm = (ICSharpCode.Reports.Core.DataManager)ICSharpCode.Reports.Core.DataManager.CreateInstance(rs,da); - Assert.IsFalse(dm.IsGrouped,"IsGrouped should be 'false'"); - } - - - [Test] - public void CheckIsFitered() - { - IDataAccessStrategy da = new MockDataAccessStrategy (); - ReportSettings rs = new ReportSettings(); - rs.ConnectionString = "goodConnection"; - ICSharpCode.Reports.Core.DataManager dm = (ICSharpCode.Reports.Core.DataManager)ICSharpCode.Reports.Core.DataManager.CreateInstance(rs,da); - Assert.IsFalse(dm.IsFiltered,"IsFiltered should be 'false'"); - } - */ - - #region Setup/TearDown [TestFixtureSetUp] diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs index 4ccc7c636e..1102f24cf8 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs @@ -15,26 +15,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy ContributorCollection contributorCollection; - [Test] - public void GroupingCollection_Empty_IsGrouped_False() - { - IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,new ReportSettings()); - DataNavigator dataNav = dm.GetNavigator; - - Assert.That(dataNav.IsGrouped == false); - } - - #region standard test's - [Test] - public void GroupingCollection_Contains_IsGrouped_True() - { - var dataNavigator = PrepareStringGrouping(); - Assert.That(dataNavigator.IsGrouped,Is.True); - } - - [Test] public void AvaiableFields_Should_Be_Set() { @@ -48,7 +30,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy #endregion - #region group by StringValue + #region Group by StringValue [Test] public void Has_Children() @@ -87,6 +69,12 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy ColumnName ="Last" } ); + searchCol.Add(new BaseDataItem () + { + + ColumnName ="GroupItem" + } + ); dataNavigator.Reset(); dataNavigator.MoveNext(); @@ -94,21 +82,18 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy { if (dataNavigator.HasChildren) { - Console.WriteLine("---"); + dataNavigator.Fill(searchCol); + var b = (BaseDataItem)searchCol[1]; + Console.WriteLine("-- <{0}>-",b.DBValue); var childNavigator = dataNavigator.GetChildNavigator; do { Assert.That(dataNavigator.HasChildren,Is.True); - // we know that current is a 'contributor' childNavigator.Fill(searchCol); var a = (BaseDataItem)searchCol[0]; Console.WriteLine ("\t{0}",a.DBValue); - /* - Contributor c = dataNavigator.Current as Contributor; - string v2 = c.Last + " GroupVal :" + c.GroupItem; - Console.WriteLine(v2); - */ + } while (childNavigator.MoveNext()); } @@ -118,7 +103,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy [Test] - [Ignore] + public void Collection_Contains_Subclass () { var modifyedCollection = this.ModifyCollection(); @@ -142,6 +127,13 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy } ); + searchCol.Add(new BaseDataItem () + { + + ColumnName ="GroupItem" + } + ); + dataNavigator.Reset(); dataNavigator.MoveNext(); @@ -150,8 +142,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy { dataNavigator.Fill(searchCol); var a1 = (BaseDataItem)searchCol[0]; - var b1 = (BaseDataItem)searchCol[1]; - Console.WriteLine ("{0} - {1}",a1.DBValue,b1.DBValue); + var b1 = (BaseDataItem)searchCol[2]; + Console.WriteLine ("-----{0} - {1}------",a1.DBValue,b1.DBValue); if (dataNavigator.HasChildren) { @@ -163,7 +155,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy var a = (BaseDataItem)searchCol[0]; var b = (BaseDataItem)searchCol[1]; - Console.WriteLine ("{0} - {1}",a.DBValue,b.DBValue); + var c = (BaseDataItem)searchCol[2]; + Console.WriteLine ("\t{0} - {1} - {2}",a.DBValue,b.DBValue,c.DBValue); // Contributor c = dataNavigator.Current as Contributor; // string v2 = c.Last + " GroupVal :" + c.GroupItem; // Console.WriteLine(v2); @@ -176,7 +169,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy #endregion - #region GroupbyDataTime + #region Group by DataTime [Test] public void DateTimeCan_FillChild() diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs index f6f6ba39e0..f43b0f9f2a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs @@ -169,90 +169,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy #region Sorting - [Test] - public void SortAscendingByOneColumn() - { - SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Ascending); - ReportSettings rs = new ReportSettings(); - rs.SortColumnsCollection.Add(sc); - IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs); - DataNavigator dataNav = dm.GetNavigator; - string v1 = String.Empty; - while (dataNav.MoveNext()) { - Contributor view = dataNav.Current as Contributor; - string v2 = view.Last; - string ss = String.Format("< {0} > <{1}>",v1,v2); - Console.WriteLine(ss); -// Assert.LessOrEqual(v1,v2); - v1 = v2; - } - Assert.IsTrue(dataNav.IsSorted); - } - - - /* - [Test] - [Ignore("Sort of integer not working")] - public void SortAscendingByInteger() - { - SortColumn sc = new SortColumn("RandomInt",System.ComponentModel.ListSortDirection.Ascending, - typeof(System.Int16),false); - ReportSettings rs = new ReportSettings(); - rs.SortColumnCollection.Add(sc); - IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs); - DataNavigator dataNav = dm.GetNavigator; - string v1 = String.Empty; - while (dataNav.MoveNext()) { - Contributor view= dataNav.Current as Contributor; - string v2 = view.RandomInt.ToString(); - int i2 = view.RandomInt; -// string ss = String.Format("< {0} > <{1}>",v1,v2); - Console.WriteLine(v2); - Assert.LessOrEqual(v1,v2); - v1 = v2; - } - Assert.IsTrue(dataNav.IsSorted); - } - */ - - [Test] - public void SortAscendingByDateTime() - { - SortColumn sc = new SortColumn("RandomDate",System.ComponentModel.ListSortDirection.Ascending, - typeof(System.Int16),false); - ReportSettings rs = new ReportSettings(); - rs.SortColumnsCollection.Add(sc); - IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs); - DataNavigator dataNav = dm.GetNavigator; - DateTime d1 = new DateTime(1,1,1); - while (dataNav.MoveNext()) { - Contributor view = dataNav.Current as Contributor; - Assert.LessOrEqual(d1,view.RandomDate); - d1 = view.RandomDate; - } - Assert.IsTrue(dataNav.IsSorted); - } - - - [Test] - public void SortDescendingByDateTime() - { - SortColumn sc = new SortColumn("RandomDate",System.ComponentModel.ListSortDirection.Descending, - typeof(System.Int16),false); - ReportSettings rs = new ReportSettings(); - rs.SortColumnsCollection.Add(sc); - IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs); - DataNavigator dataNav = dm.GetNavigator; - DateTime d1 = new DateTime(2099,12,30); - while (dataNav.MoveNext()) { - Contributor view = dataNav.Current as Contributor; - Assert.GreaterOrEqual(d1,view.RandomDate); - d1 = view.RandomDate; - } - Assert.IsTrue(dataNav.IsSorted); - } - - [Test] public void SortAscendingByTwoColumns() { @@ -274,7 +190,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy Assert.LessOrEqual(v1,v2); v1 = v2; } - Assert.IsTrue(dataNav.IsSorted); } @@ -293,7 +208,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy Assert.GreaterOrEqual(compareTo,actual); compareTo = actual; } - Assert.IsTrue(dataNav.IsSorted); } #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs index d69eda47a1..0f735b8775 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs @@ -29,16 +29,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy } - [Test] - public void GroupingCollection_EmptyGrouping_IsGrouped_False() - { - IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,new ReportSettings()); - DataNavigator dataNav = dm.GetNavigator; - - Assert.That(dataNav.IsGrouped == false); - } - - [Test] public void AvaiableFields_Should_Be_Set() { @@ -52,14 +42,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy #region Group by String - [Test] - public void GroupingCollection_ContainsGrouping_IsGrouped_True() - { - var dataNavigator = PrepareStringGrouping(); - Assert.That(dataNavigator.IsGrouped == true); - } - - [Test] public void Has_Children() { @@ -129,14 +111,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy } - [Test] - public void DataTimeCollection_Contains_IsGrouped_False() - { - var dataNavigator = PrepareDateTimeGrouping(); - Assert.That(dataNavigator.IsGrouped == true); - } - - [Test] public void DataTime_Has_Children() { @@ -146,13 +120,10 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy } } - #endregion - #region Try make recursive with ChildNavigator - [Test] public void Can_Get_ChildNavigator () { @@ -174,7 +145,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy } - private void RecursiveCall (IDataNavigator startNavigator) { do diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs index ede27012cc..ae6d6ebc87 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs @@ -80,14 +80,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy } - [Test] - public void DataNavigatorSortedEqualsFalse () - { - IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,new ReportSettings()); - DataNavigator dataNav = dm.GetNavigator; - Assert.IsFalse(dataNav.IsSorted); - - } [Test] public void DataNavigatorCountEqualListCount () { @@ -112,9 +104,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy #region Sorting - //Tests moved to \Strategy - - + [Test] public void SortDescendingByDateTime() { @@ -133,7 +123,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy Assert.GreaterOrEqual(d1,d2); d1 = d2; } - Assert.IsTrue(dataNav.IsSorted); } @@ -154,7 +143,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy // Console.WriteLine(ss); compareTo = actual; } - Assert.IsTrue(dataNav.IsSorted); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableStrategyFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableStrategyFixture.cs index d8d52c6196..9d4f7f1879 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableStrategyFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableStrategyFixture.cs @@ -26,18 +26,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy #region Grouping - [Test] - public void Add_GroupColumn_IsGrouped_true() - { - GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending); - ICSharpCode.Reports.Core.TableStrategy tableStrategy =GroupTableStrategyFactory (gc); - tableStrategy.Bind(); - Assert.That(tableStrategy.IsGrouped == true); - } - - - - [Test] public void CanGroup_All_Elements_are_GroupComparer () { @@ -70,16 +58,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy #region Sorting - [Test] - public void TableStrategy_Set_IsSorted() - { - SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Ascending); - var tableStrategy = SortTableStrategyFactory(sc); - tableStrategy.Bind(); - Assert.That(tableStrategy.IsSorted == true); - } - - [Test] public void CanSort_String_Ascending() { From b039d9763cd20500b350b00fbb00012acc9a0b38 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Thu, 24 Feb 2011 20:13:36 +0100 Subject: [PATCH 027/168] ResultPanel.cs and TableName --- .../WizardPanels/PullModelPanel.cs | 127 +++++++++--------- .../ReportWizard/WizardPanels/ResultPanel.cs | 29 ++-- 2 files changed, 83 insertions(+), 73 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs index 5de4d1b656..3249b7798f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs @@ -148,75 +148,76 @@ namespace ICSharpCode.Reports.Addin.ReportWizard firstDrag = false; } - // Drag and drop isn't working via e.Data.GetData, so I'm using reflection here - took me a lot of time to figure out how this works... - // Still don't know why they implemented dnd so buggy and uncomfortable... - string draggedFormat = e.Data.GetFormats()[0]; - IDatabaseObjectBase draggedObject = null; + // Drag and drop isn't working via e.Data.GetData, so I'm using reflection here - took me a lot of time to figure out how this works... + // Still don't know why they implemented dnd so buggy and uncomfortable... + string draggedFormat = e.Data.GetFormats()[0]; + IDatabaseObjectBase draggedObject = null; - if (e.Data.GetDataPresent(draggedFormat)) - { - object tempDraggedObject = null; - FieldInfo info; - info = e.Data.GetType().GetField("innerData", BindingFlags.NonPublic | BindingFlags.Instance); - tempDraggedObject = info.GetValue(e.Data); - info = tempDraggedObject.GetType().GetField("innerData", BindingFlags.NonPublic | BindingFlags.Instance); - System.Windows.DataObject dataObject = info.GetValue(tempDraggedObject) as System.Windows.DataObject; - draggedObject = dataObject.GetData(draggedFormat) as IDatabaseObjectBase; - } + if (e.Data.GetDataPresent(draggedFormat)) + { + object tempDraggedObject = null; + FieldInfo info; + info = e.Data.GetType().GetField("innerData", BindingFlags.NonPublic | BindingFlags.Instance); + tempDraggedObject = info.GetValue(e.Data); + info = tempDraggedObject.GetType().GetField("innerData", BindingFlags.NonPublic | BindingFlags.Instance); + System.Windows.DataObject dataObject = info.GetValue(tempDraggedObject) as System.Windows.DataObject; + draggedObject = dataObject.GetData(draggedFormat) as IDatabaseObjectBase; + } - switch (CheckCurrentNode(draggedObject)) - { - case NodeType.TableImage: - // we insert Select * from.... otherwise we have to scan - //the whole string for incorrect columnNames - this.txtSqlString.Clear(); - ITable table = draggedObject as ITable; - this.txtSqlString.Text = "SELECT * FROM " + table.Name; - reportStructure.CommandType = CommandType.Text; - reportStructure.IDatabaseObjectBase = table; - break; + switch (CheckCurrentNode(draggedObject)) + { + case NodeType.TableImage: + // we insert Select * from.... otherwise we have to scan + //the whole string for incorrect columnNames + this.txtSqlString.Clear(); + ITable table = draggedObject as ITable; + this.txtSqlString.Text = "SELECT * FROM " + table.Name; + reportStructure.CommandType = CommandType.Text; + reportStructure.IDatabaseObjectBase = table; + break; - case NodeType.ColumnImage: - IColumn column = draggedObject as IColumn; - string colName = column.Name; - - if (this.txtSqlString.Text.Length == 0) - { - this.txtSqlString.AppendText("SELECT "); - this.txtSqlString.AppendText(colName); - } - - else if (this.txtSqlString.Text.ToUpper(CultureInfo.InvariantCulture).IndexOf("where", StringComparison.OrdinalIgnoreCase) > 0) - { - this.txtSqlString.AppendText(colName + " = ?"); - } - else - { - this.txtSqlString.AppendText(", "); - this.txtSqlString.AppendText(colName); - } - reportStructure.CommandType = CommandType.Text; - reportStructure.IDatabaseObjectBase = column; - break; + case NodeType.ColumnImage: + IColumn column = draggedObject as IColumn; + string colName = column.Name; + + if (this.txtSqlString.Text.Length == 0) + { + this.txtSqlString.AppendText("SELECT "); + this.txtSqlString.AppendText(colName); + } + + else if (this.txtSqlString.Text.ToUpper(CultureInfo.InvariantCulture).IndexOf("where", StringComparison.OrdinalIgnoreCase) > 0) + { + this.txtSqlString.AppendText(colName + " = ?"); + } + else + { + this.txtSqlString.AppendText(", "); + this.txtSqlString.AppendText(colName); + } + reportStructure.CommandType = CommandType.Text; + reportStructure.IDatabaseObjectBase = column; + break; - case NodeType.ProcedureImage: - this.txtSqlString.Clear(); + case NodeType.ProcedureImage: + this.txtSqlString.Clear(); - // we can't use the dragobject because it returns an string like 'EXECUTE ProcName' - IProcedure procedure = draggedObject as IProcedure; - this.txtSqlString.Text = "[" + procedure.Name + "]"; - reportStructure.CommandType = CommandType.StoredProcedure; - reportStructure.IDatabaseObjectBase = procedure; + // we can't use the dragobject because it returns an string like 'EXECUTE ProcName' + IProcedure procedure = draggedObject as IProcedure; + this.txtSqlString.Text = "[" + procedure.Name + "]"; + reportStructure.CommandType = CommandType.StoredProcedure; + reportStructure.IDatabaseObjectBase = procedure; break; - - case NodeType.ViewImage: - this.txtSqlString.Text = String.Empty; - this.txtSqlString.Text = "No idea how to handle views"; - break; - default: - break; - } - base.EnableNext = true; +/* + case NodeType.ViewImage: + this.txtSqlString.Text = String.Empty; + this.txtSqlString.Text = "No idea how to handle views"; + break; + */ + default: + break; + } + base.EnableNext = true; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs index 04e10585da..6cb75cfb92 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs @@ -68,11 +68,10 @@ namespace ICSharpCode.Reports.Addin.ReportWizard this.txtSqlString.Text = model.ReportSettings.CommandText; switch (model.ReportSettings.CommandType) { case CommandType.Text: - ITable t = reportStructure.IDatabaseObjectBase as ITable; - this.connectionObject = CreateConnection (t); + this.connectionObject = CreateConnection (); var dataAccess = new SqlDataAccessStrategy(model.ReportSettings,connectionObject); dataSet = dataAccess.ReadData(); - dataSet.Tables[0].TableName = t.Name; + dataSet.Tables[0].TableName = CreateTableName (reportStructure); break; case CommandType.StoredProcedure: dataSet = DatasetFromStoredProcedure(); @@ -87,8 +86,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } - - ConnectionObject CreateConnection(IDatabaseObjectBase t) + ConnectionObject CreateConnection() { var conobj = ConnectionObject.CreateInstance(this.model.ReportSettings.ConnectionString, @@ -99,16 +97,27 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } - + string CreateTableName(ReportStructure reportStructure) + { + ITable t = reportStructure.IDatabaseObjectBase as ITable; + string str = String.Empty; + + if (t != null) { + str = t.Name; + } + else + { + str = reportStructure.IDatabaseObjectBase.Parent.Name; + } + return str; + } DataSet DatasetFromStoredProcedure() { - - IProcedure procedure = reportStructure.IDatabaseObjectBase as IProcedure; - this.connectionObject = CreateConnection(procedure); - + this.connectionObject = CreateConnection(); DataSet dataSet = ResultPanel.CreateDataSet(); + IProcedure procedure = reportStructure.IDatabaseObjectBase as IProcedure; var paramCollection = CheckParameters(procedure); From 88ae3c1f4a3a6b15a19732f12a9ada7cf3db07f8 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier <peter.forstmeier@t-online.de> Date: Fri, 25 Feb 2011 17:34:37 +0100 Subject: [PATCH 028/168] Expressions inside groups --- .../Project/DataManager/ChildNavigator.cs | 47 ++++++------------ .../ListStrategy/BaseListStrategy.cs | 6 +-- .../ListStrategy/CollectionStrategy.cs | 48 ++++++++++++++----- .../DataManager/ListStrategy/TableStrategy.cs | 17 ++----- .../Exporter/Converters/BaseConverter.cs | 22 +-------- .../Project/Expressions/EvaluationHelper.cs | 3 -- .../AggregateFunctions/AggregateFunction.cs | 6 ++- .../Project/Interfaces/IDataNavigator.cs | 19 ++------ 8 files changed, 68 insertions(+), 100 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs index 98bbcf2c2a..38dfe9ccb7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs @@ -3,6 +3,7 @@ using System; using System.Linq; +using System.ComponentModel; namespace ICSharpCode.Reports.Core { @@ -41,20 +42,6 @@ namespace ICSharpCode.Reports.Core } - public bool IsSorted { - get { - throw new NotImplementedException(); - } - } - - - public bool IsGrouped { - get { - throw new NotImplementedException(); - } - } - - public int CurrentRow { get {return this.indexList.CurrentPosition;} @@ -80,23 +67,19 @@ namespace ICSharpCode.Reports.Core return dataStore.AvailableFields; } } - - - public void Fill(ReportItemCollection collection) - { - var ss = this.indexList[this.indexList.CurrentPosition].ListIndex; - var current = dataStore.CurrentFromPosition(ss); - - // CurrentItemsCollection currentItemsCollection = dataStore.FillDataRow(this.indexList[CurrentRow].ListIndex); - - foreach (IDataItem item in collection) - { - FillInternal (current,item); + + public void Fill(ReportItemCollection collection) + { + var ss = this.indexList[this.indexList.CurrentPosition].ListIndex; + var current = dataStore.CurrentFromPosition(ss); + foreach (IDataItem item in collection) + { + FillInternal(current, item); } - - } + } + private void FillInternal(object fillFrom,IDataItem item) { if (item is BaseDataItem) @@ -127,7 +110,6 @@ namespace ICSharpCode.Reports.Core } - public bool MoveNext() { this.indexList.CurrentPosition ++; @@ -143,11 +125,12 @@ namespace ICSharpCode.Reports.Core public CurrentItemsCollection GetDataRow { get { - return dataStore.FillDataRow(this.indexList[CurrentRow].ListIndex); + var ss = this.indexList[this.indexList.CurrentPosition].ListIndex; + return dataStore.FillDataRow(ss); } } - - + + public IDataNavigator GetChildNavigator { get { 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 5eb08f1032..c5d9791865 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 @@ -89,9 +89,9 @@ namespace ICSharpCode.Reports.Core { childList = new IndexList(); GroupComparer gc = CreateGroupHeader(element); gc.IndexList = childList; - CreateGroupeChildren(childList,element); + CreateGroupedChildren(childList,element); } else { - CreateGroupeChildren(childList,element); + CreateGroupedChildren(childList,element); } compVal = v; } @@ -107,7 +107,7 @@ namespace ICSharpCode.Reports.Core { } - protected static void CreateGroupeChildren(IndexList list,BaseComparer sc) + protected static void CreateGroupedChildren(IndexList list,BaseComparer sc) { list.Add(sc); } 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 a8fe91a393..46e352ac42 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 @@ -113,15 +113,6 @@ namespace ICSharpCode.Reports.Core { return arrayList; } - - private void BuildAvailableFields () - { - base.AvailableFields.Clear(); - foreach (PropertyDescriptor p in this.listProperties){ - base.AvailableFields.Add (new AbstractColumn(p.Name,p.PropertyType)); - } - } - #endregion #region SharpReportCore.IDataViewStrategy interface implementation @@ -129,14 +120,18 @@ namespace ICSharpCode.Reports.Core { public override AvailableFieldsCollection AvailableFields { get { - BuildAvailableFields(); + base.AvailableFields.Clear(); + foreach (PropertyDescriptor p in this.listProperties){ + base.AvailableFields.Add (new AbstractColumn(p.Name,p.PropertyType)); + } return base.AvailableFields; } } public override object Current { - get { + get + { return this.baseList[((BaseComparer)base.IndexList[base.CurrentPosition]).ListIndex]; } } @@ -273,10 +268,39 @@ namespace ICSharpCode.Reports.Core { return this.baseList[pos]; } + + public override CurrentItemsCollection FillDataRow(int pos) + { + var item = CurrentFromPosition(pos); + CurrentItemsCollection ci = new CurrentItemsCollection(); + if (item != null) + { + CurrentItem c = null; + foreach (PropertyDescriptor pd in this.listProperties) + { + c = new CurrentItem(); + c.ColumnName = pd.Name; + c.DataType = pd.PropertyType; + var s = pd.GetValue(item); + if (s != null) + { + c.Value = s.ToString(); + } + else + { + c.Value = String.Empty; + } + ci.Add(c); + } + } + return ci; + } + + public override CurrentItemsCollection FillDataRow() { - CurrentItemsCollection ci = base.FillDataRow(); + CurrentItemsCollection ci = base.FillDataRow(); if (current != null) { CurrentItem c = null; foreach (PropertyDescriptor pd in this.listProperties) 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 42239f90a2..d3edc26c08 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 @@ -156,17 +156,6 @@ namespace ICSharpCode.Reports.Core } - private void BuildAvailableFields () - { - - base.AvailableFields.Clear(); - for (int i = 0;i < table.Columns.Count ;i ++ ) { - DataColumn col = this.table.Columns[i]; - base.AvailableFields.Add (new AbstractColumn(col.ColumnName,col.DataType)); - } - - } - #region Test public override CurrentItemsCollection FillDataRow() @@ -216,7 +205,11 @@ namespace ICSharpCode.Reports.Core public override AvailableFieldsCollection AvailableFields { get { - BuildAvailableFields(); + base.AvailableFields.Clear(); + for (int i = 0;i < table.Columns.Count ;i ++ ) { + DataColumn col = this.table.Columns[i]; + base.AvailableFields.Add (new AbstractColumn(col.ColumnName,col.DataType)); + } return base.AvailableFields; } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index a1c5ab12da..fe5ed9fd7e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -139,8 +139,7 @@ namespace ICSharpCode.Reports.Core.Exporter protected void ConvertGroupFooter (ISimpleContainer container,ExporterCollection exporterCollection) { var footers = container.Items.FindGroupFooter(); - if (footers.Count > 0) { - + if (footers.Count > 0) { Size rowSize = footers[0].Size; CurrentPosition = ConvertStandardRow(exporterCollection,(ISimpleContainer)footers[0]); FireGroupFooterRendering(footers[0]); @@ -151,7 +150,6 @@ namespace ICSharpCode.Reports.Core.Exporter protected void PageBreakAfterGroupChange(BaseSection section,ExporterCollection exporterCollection) { - if (CheckPageBreakAfterGroupChange(section) ) { if (DataNavigator.HasMoreData) @@ -165,7 +163,6 @@ namespace ICSharpCode.Reports.Core.Exporter private static bool CheckPageBreakAfterGroupChange(ISimpleContainer container) { var groupedRows = container.Items.FindGroupHeader(); - //var groupedRows = BaseConverter.FindGroupHeader(container); if (groupedRows.Count > 0) { var groupedRow = groupedRows[0]; return groupedRow.PageBreakOnGroupChange; @@ -173,19 +170,6 @@ namespace ICSharpCode.Reports.Core.Exporter return false; } - /* - protected static Collection<GroupHeader> FindGroupHeader (ISimpleContainer container) - { - return new Collection<GroupHeader>(container.Items.OfType<GroupHeader>().ToList()); - } - */ - - /* - protected static Collection<GroupFooter> FindGroupFooter (ISimpleContainer container) - { - return new Collection<GroupFooter>(container.Items.OfType<GroupFooter>().ToList()); - } - */ protected virtual Point ForcePageBreak(ExporterCollection exporterCollection, BaseSection section) { @@ -242,11 +226,8 @@ namespace ICSharpCode.Reports.Core.Exporter protected void PrepareContainerForConverting(BaseSection section,ISimpleContainer simpleContainer) { - Console.WriteLine("\tPrepareContainerForConverting"); - FireSectionRendering(section); LayoutHelper.SetLayoutForRow(Graphics,Layouter,simpleContainer); - //LayoutRow(simpleContainer); } protected Point ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer) @@ -281,7 +262,6 @@ namespace ICSharpCode.Reports.Core.Exporter protected static void FillRow (ISimpleContainer row,IDataNavigator currentNavigator) { - Console.WriteLine("\tFillrow"); currentNavigator.Fill(row.Items); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs index 29a22550c4..947bdb547d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs @@ -50,9 +50,6 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage } ExportText textItem = column as ExportText; if (textItem != null) { -// if (textItem.Text.StartsWith("=",StringComparison.InvariantCulture)) { - //// Console.WriteLine(textItem.Text); -// } textItem.Text = evaluator.Evaluate(textItem.Text); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs index bda9d86930..07aaece72d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs @@ -109,7 +109,9 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.AggregateFunctions private List<object> SetupDataSource (object data,IDataNavigator navigator) { - navigator.Reset(); + Console.WriteLine(""); + + navigator.Reset(); List<object> list = new List<object>(); while ( navigator.MoveNext()) { CurrentItemsCollection row = navigator.GetDataRow; @@ -118,7 +120,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.AggregateFunctions if (currentItem != null) { object s1 = Convert.ToString(currentItem.Value.ToString(),CultureInfo.CurrentCulture); - + Console.WriteLine("\tvalue = {0}", s1.ToString()); if (IsNumeric(s1)) { list.Add(Convert.ToDouble(s1,System.Globalization.CultureInfo.CurrentCulture)); } else { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs index 56b3b067de..8aead0b908 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs @@ -9,32 +9,22 @@ using System.ComponentModel; public interface IDataNavigator { void Fill (ReportItemCollection collection); - bool MoveNext () ; + bool MoveNext (); + void Reset(); CurrentItemsCollection GetDataRow {get;} - - bool HasMoreData { - get; - } - + bool HasMoreData {get;} + #region Try make recursive with ChildNavigator IDataNavigator GetChildNavigator{get;} #endregion - // childList ----------------- - bool HasChildren {get;} - - // end child list -------------------- - /* - bool IsSorted {get;} - bool IsGrouped {get;} - */ int CurrentRow {get;} int Count {get;} @@ -42,6 +32,5 @@ using System.ComponentModel; object Current {get;} AvailableFieldsCollection AvailableFields{get;} - } } From 2dfb2c569359956e82c294ff2c1038acff0445fd Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 25 Feb 2011 20:48:40 +0100 Subject: [PATCH 029/168] Grouping with TableStrategy.cs --- .../Project/DataManager/ChildNavigator.cs | 26 ++++++++- .../ListStrategy/BaseListStrategy.cs | 6 ++ .../ListStrategy/CollectionStrategy.cs | 5 ++ .../DataManager/ListStrategy/TableStrategy.cs | 55 +++++++++++++++++-- .../Project/Interfaces/IDataViewStrategy.cs | 5 +- 5 files changed, 87 insertions(+), 10 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs index 38dfe9ccb7..6776226311 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs @@ -67,16 +67,36 @@ namespace ICSharpCode.Reports.Core return dataStore.AvailableFields; } } - + + /* + public void Fill(ReportItemCollection collection) + { + TableStrategy tableStrategy = store as TableStrategy; + foreach (var item in collection) { + IDataItem dataItem = item as IDataItem; + if (dataItem != null) { + CurrentItemsCollection currentItemsCollection = tableStrategy.FillDataRow(this.indexList[CurrentRow].ListIndex); + CurrentItem s = currentItemsCollection.FirstOrDefault(x => x.ColumnName == dataItem.ColumnName); + dataItem.DBValue = s.Value.ToString(); + } + + } + } + */ public void Fill(ReportItemCollection collection) { - var ss = this.indexList[this.indexList.CurrentPosition].ListIndex; - var current = dataStore.CurrentFromPosition(ss); + var position = this.indexList[this.indexList.CurrentPosition].ListIndex; + var current = dataStore.CurrentFromPosition(position); + + //var current = dataStore.FillDataRow(position); + dataStore.Fill(position,collection); + /* foreach (IDataItem item in collection) { FillInternal(current, item); } + */ } 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 c5d9791865..233077cd7f 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 @@ -231,6 +231,12 @@ namespace ICSharpCode.Reports.Core { } + public virtual void Fill(int position,ReportItemCollection collection) + { + throw new NotImplementedException(); + } + + public virtual void Fill(IDataItem item) { } 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 46e352ac42..2384af96bf 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 @@ -198,6 +198,11 @@ namespace ICSharpCode.Reports.Core { #endregion + public override void Fill(int position,ReportItemCollection collection) + { +// base.Fill(collection); + } + public override void Fill(IDataItem item) { 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 d3edc26c08..1515920a1d 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 @@ -6,6 +6,7 @@ using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Data; +using System.Linq; namespace ICSharpCode.Reports.Core { @@ -39,12 +40,29 @@ namespace ICSharpCode.Reports.Core } + public override void Fill(int position,ReportItemCollection collection) + { + DataRow row = this.table.Rows[position]; + foreach (var item in collection) { + IDataItem dataItem = item as IDataItem; + if (dataItem != null) { + FillInternal (row,dataItem); + } + } + } + + public override void Fill(IDataItem item) { DataRow row = this.Current as DataRow; - if (row != null) { + if (row != null) + { + + this.FillInternal (row,item); + /* BaseImageItem bi = item as BaseImageItem; - if (bi != null) { + if (bi != null) + { using (System.IO.MemoryStream memStream = new System.IO.MemoryStream()){ Byte[] val = row[bi.ColumnName] as Byte[]; if (val != null) { @@ -57,12 +75,39 @@ namespace ICSharpCode.Reports.Core bi.Image = image; } } - } else { + } else + { if (item != null) { + item.DBValue = row[item.ColumnName].ToString(); + return; + } + } + */ + } + } + + + void FillInternal (DataRow row,IDataItem item) + { + BaseImageItem bi = item as BaseImageItem; + if (bi != null) { + using (System.IO.MemoryStream memStream = new System.IO.MemoryStream()){ + Byte[] val = row[bi.ColumnName] as Byte[]; + if (val != null) { + if ((val[78] == 66) && (val[79] == 77)){ + memStream.Write(val, 78, val.Length - 78); + } else { + memStream.Write(val, 0, val.Length); + } + System.Drawing.Image image = System.Drawing.Image.FromStream(memStream); + bi.Image = image; + } + } + } else { + if (item != null) { item.DBValue = row[item.ColumnName].ToString(); return; } - } } } @@ -86,11 +131,9 @@ namespace ICSharpCode.Reports.Core if ((base.ReportSettings.SortColumnsCollection != null)) { if (base.ReportSettings.SortColumnsCollection.Count > 0) { base.IndexList = this.BuildSortIndex (ReportSettings.SortColumnsCollection); - //base.IsSorted = true; } else { // if we have no sorting, we build the indexlist as well base.IndexList = this.IndexBuilder(ReportSettings.SortColumnsCollection); - //base.IsSorted = false; } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs index 97bd63136d..2b89ceabc7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs @@ -14,10 +14,13 @@ namespace ICSharpCode.Reports.Core{ void Bind(); + void Fill (int position,ReportItemCollection collection); + + //rausnehmen void Fill (IDataItem item); IndexList IndexList {get;set;} - //test + object CurrentFromPosition(int pos); CurrentItemsCollection FillDataRow(); From df9fa173b05e2f63b10b40cacdd331c6909a00df Mon Sep 17 00:00:00 2001 From: Peter Forstmeier <peter.forstmeier@t-online.de> Date: Sat, 26 Feb 2011 12:30:27 +0100 Subject: [PATCH 030/168] DataNavigator --- .../Project/DataManager/ChildNavigator.cs | 56 +------------------ .../ListStrategy/CollectionStrategy.cs | 31 +++++++--- .../DataManager/ListStrategy/TableStrategy.cs | 25 --------- .../ListStrategy/GroupListFixture.cs | 18 ++---- 4 files changed, 29 insertions(+), 101 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs index 6776226311..f31455795c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs @@ -67,69 +67,15 @@ namespace ICSharpCode.Reports.Core return dataStore.AvailableFields; } } - - /* - public void Fill(ReportItemCollection collection) - { - TableStrategy tableStrategy = store as TableStrategy; - foreach (var item in collection) { - IDataItem dataItem = item as IDataItem; - if (dataItem != null) { - CurrentItemsCollection currentItemsCollection = tableStrategy.FillDataRow(this.indexList[CurrentRow].ListIndex); - CurrentItem s = currentItemsCollection.FirstOrDefault(x => x.ColumnName == dataItem.ColumnName); - dataItem.DBValue = s.Value.ToString(); - } - - } - } - */ + public void Fill(ReportItemCollection collection) { var position = this.indexList[this.indexList.CurrentPosition].ListIndex; - var current = dataStore.CurrentFromPosition(position); - - //var current = dataStore.FillDataRow(position); dataStore.Fill(position,collection); - /* - foreach (IDataItem item in collection) - { - FillInternal(current, item); - } - */ } - private void FillInternal(object fillFrom,IDataItem item) - { - if (item is BaseDataItem) - { - var retVal = CollectionStrategy.FollowPropertyPath(fillFrom,item.ColumnName); - if (retVal != null) { - item.DBValue = retVal.ToString(); - } else { - item.DBValue = String.Empty; - } - } - - else - { - /* - //image processing from IList - BaseImageItem baseImageItem = item as BaseImageItem; - - if (baseImageItem != null) { - PropertyDescriptor p = this.listProperties.Find(baseImageItem.ColumnName, true); - if (p != null) { - baseImageItem.Image = p.GetValue(this.Current) as System.Drawing.Image; - } - return; - } - */ - } - } - - public bool MoveNext() { this.indexList.CurrentPosition ++; 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 2384af96bf..353afbf1e7 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 @@ -198,17 +198,22 @@ namespace ICSharpCode.Reports.Core { #endregion + public override void Fill(int position,ReportItemCollection collection) { -// base.Fill(collection); + var current = this.CurrentFromPosition(position); + foreach (IDataItem item in collection) + { + FillInternal(current, item); + } } - - public override void Fill(IDataItem item) + + private void FillInternal(object fillFrom,IDataItem item) { if (item is BaseDataItem) { - var retVal = FollowPropertyPath(Current,item.ColumnName); + var retVal = FollowPropertyPath(fillFrom,item.ColumnName); if (retVal != null) { item.DBValue = retVal.ToString(); } else { @@ -218,7 +223,6 @@ namespace ICSharpCode.Reports.Core { else { - //image processing from IList BaseImageItem baseImageItem = item as BaseImageItem; @@ -229,15 +233,22 @@ namespace ICSharpCode.Reports.Core { } return; } + } } + + public override void Fill(IDataItem item) + { + FillInternal(Current,item); + } + #region PropertyPath from StackOverflow //http://stackoverflow.com/questions/366332/best-way-to-get-sub-properties-using-getproperty - public static object FollowPropertyPath(object value, string path) + private static object FollowPropertyPath(object value, string path) { Type currentType = value.GetType(); foreach (string propertyName in path.Split('.')) @@ -276,9 +287,9 @@ namespace ICSharpCode.Reports.Core { public override CurrentItemsCollection FillDataRow(int pos) { - var item = CurrentFromPosition(pos); CurrentItemsCollection ci = new CurrentItemsCollection(); - if (item != null) + var current = CurrentFromPosition(pos); + if (current != null) { CurrentItem c = null; foreach (PropertyDescriptor pd in this.listProperties) @@ -286,7 +297,9 @@ namespace ICSharpCode.Reports.Core { c = new CurrentItem(); c.ColumnName = pd.Name; c.DataType = pd.PropertyType; - var s = pd.GetValue(item); + + //var s = pd.GetValue(current); + var s = FollowPropertyPath(current,pd.Name); if (s != null) { c.Value = s.ToString(); 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 1515920a1d..ab0e93ed80 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 @@ -57,32 +57,7 @@ namespace ICSharpCode.Reports.Core DataRow row = this.Current as DataRow; if (row != null) { - this.FillInternal (row,item); - /* - BaseImageItem bi = item as BaseImageItem; - if (bi != null) - { - using (System.IO.MemoryStream memStream = new System.IO.MemoryStream()){ - Byte[] val = row[bi.ColumnName] as Byte[]; - if (val != null) { - if ((val[78] == 66) && (val[79] == 77)){ - memStream.Write(val, 78, val.Length - 78); - } else { - memStream.Write(val, 0, val.Length); - } - System.Drawing.Image image = System.Drawing.Image.FromStream(memStream); - bi.Image = image; - } - } - } else - { - if (item != null) { - item.DBValue = row[item.ColumnName].ToString(); - return; - } - } - */ } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs index 1102f24cf8..cfb6c71e1e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs @@ -89,7 +89,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy do { Assert.That(dataNavigator.HasChildren,Is.True); - // we know that current is a 'contributor' childNavigator.Fill(searchCol); var a = (BaseDataItem)searchCol[0]; Console.WriteLine ("\t{0}",a.DBValue); @@ -137,7 +136,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy dataNavigator.Reset(); dataNavigator.MoveNext(); - do { dataNavigator.Fill(searchCol); @@ -150,16 +148,12 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy var childNavigator = dataNavigator.GetChildNavigator; do { -// childNavigator.Fill(searchCol); - - var a = (BaseDataItem)searchCol[0]; - var b = (BaseDataItem)searchCol[1]; - var c = (BaseDataItem)searchCol[2]; - Console.WriteLine ("\t{0} - {1} - {2}",a.DBValue,b.DBValue,c.DBValue); -// Contributor c = dataNavigator.Current as Contributor; -// string v2 = c.Last + " GroupVal :" + c.GroupItem; -// Console.WriteLine(v2); + var a = (BaseDataItem)searchCol[0]; + var b = (BaseDataItem)searchCol[1]; + var c = (BaseDataItem)searchCol[2]; + Console.WriteLine ("\t{0} - {1} - {2}",a.DBValue,b.DBValue,c.DBValue); + } while (childNavigator.MoveNext()); } @@ -182,7 +176,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy var childNavigator = dataNavigator.GetChildNavigator; do { - Assert.That(dataNavigator.HasChildren,Is.True); // we know that current is a 'contributor' Contributor c = dataNavigator.Current as Contributor; @@ -196,6 +189,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy } #endregion + private ContributorCollection ModifyCollection () { var newcol = this.contributorCollection; From e61da9ac974dc58bce69db75e0949668849ceac0 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 27 Feb 2011 19:23:56 +0100 Subject: [PATCH 031/168] Crash if DraggedColumn in PullModelPanel.cs is a ForeignKey-Column --- .../WizardPanels/PullModelPanel.cs | 38 +++++++++---------- .../ReportWizard/WizardPanels/ResultPanel.cs | 4 +- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs index 3249b7798f..f9452aa30c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs @@ -34,14 +34,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard private ElementHost databasesTreeHost; private DatabasesTreeView databasesTree; - private enum NodeType { - -// DataBaseRoot, -// dataBaseConnctionClose, -// dataBaseConnection, -// tablesRoot, -// viewsRoot, -// proceduresRoot, + private enum NodeType + { TableImage, ViewImage, ProcedureImage, @@ -89,7 +83,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard if (message == DialogMessage.Next) { customizer.Set("SqlString", this.txtSqlString.Text.Trim()); - //reportStructure.CommandType = commandType; reportStructure.SqlString = this.txtSqlString.Text.Trim(); reportStructure.ConnectionString = connectionString; base.EnableFinish = true; @@ -196,7 +189,10 @@ namespace ICSharpCode.Reports.Addin.ReportWizard this.txtSqlString.AppendText(colName); } reportStructure.CommandType = CommandType.Text; - reportStructure.IDatabaseObjectBase = column; + if (reportStructure.IDatabaseObjectBase == null) + { + reportStructure.IDatabaseObjectBase = column; + } break; case NodeType.ProcedureImage: @@ -208,12 +204,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard reportStructure.CommandType = CommandType.StoredProcedure; reportStructure.IDatabaseObjectBase = procedure; break; -/* - case NodeType.ViewImage: - this.txtSqlString.Text = String.Empty; - this.txtSqlString.Text = "No idea how to handle views"; - break; - */ default: break; } @@ -223,7 +213,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard private void databasesTree_SelectedItemChanged(object sender, System.Windows.RoutedPropertyChangedEventArgs<object> e) { - if (e.NewValue is IDatabaseObjectBase) + if (e.NewValue is IDatabaseObjectBase) { IDatabase parentDatabase = e.NewValue as IDatabase; @@ -251,11 +241,16 @@ namespace ICSharpCode.Reports.Addin.ReportWizard if (this.currentNode is IDatabase) { - this.connectionString = "Provider=" + parentDatabase.Datasource.DatabaseDriver.ODBCProviderName + ";" + parentDatabase.ConnectionString; - this.txtSqlString.Enabled = true; + if (parentDatabase != null) + { + this.connectionString = "Provider=" + parentDatabase.Datasource.DatabaseDriver.ODBCProviderName + ";" + parentDatabase.ConnectionString; + this.txtSqlString.Enabled = true; - if (this.firstDrag) - this.txtSqlString.Text = string.Empty; + if (this.firstDrag) + this.txtSqlString.Text = string.Empty; + + firstDrag = false; + } } else { @@ -264,6 +259,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } } + ///<summary> /// We check if a ColumnName includes an "-" Character, /// if so, suround it with []</summary> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs index 6cb75cfb92..ff7e617585 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs @@ -105,9 +105,11 @@ namespace ICSharpCode.Reports.Addin.ReportWizard if (t != null) { str = t.Name; } + else { - str = reportStructure.IDatabaseObjectBase.Parent.Name; + //str = reportStructure.IDatabaseObjectBase.Parent.Name; + str = "Table1"; } return str; } From 4af32e5101820c6c1a20937e6679bcc8dd42dff6 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 27 Feb 2011 19:44:06 +0100 Subject: [PATCH 032/168] Adjustment in Footer's and Header's --- .../Project/BaseClasses/Printing/StandardPrinter.cs | 1 + .../Project/Exporter/BasePager.cs | 2 +- .../Project/Exporter/Converters/BaseConverter.cs | 13 ++++--------- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs index 179d22dbd9..7d83af3131 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs @@ -223,6 +223,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing lineItem.StyleDecorator.DisplayRectangle = new Rectangle(lineItem.StyleDecorator.Location, lineItem.StyleDecorator.Size); + AdjustBackColor (container); return lineItem; } return null; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 0937e58d3a..1d7d0d2271 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -109,7 +109,7 @@ namespace ICSharpCode.Reports.Core.Exporter if (container != null) { ExportContainer exportContainer = StandardPrinter.ConvertToContainer(container,offset); - StandardPrinter.AdjustBackColor (container); + ExporterCollection clist = StandardPrinter.ConvertPlainCollection(container.Items,exportContainer.StyleDecorator.Location); exportContainer.Items.AddRange(clist); list.Add(exportContainer); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index fe5ed9fd7e..da678bdee8 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -118,16 +118,11 @@ namespace ICSharpCode.Reports.Core.Exporter IExportColumnBuilder exportLineBuilder = row as IExportColumnBuilder; if (exportLineBuilder != null) { - - ExportContainer lineItem = StandardPrinter.ConvertToContainer(row,offset); - - StandardPrinter.AdjustBackColor(row); - ExporterCollection list = StandardPrinter.ConvertPlainCollection(row.Items,offset); - - lineItem.Items.AddRange(list); - + ExportContainer exportContainer = StandardPrinter.ConvertToContainer(row,offset); + ExporterCollection list = StandardPrinter.ConvertPlainCollection(row.Items,exportContainer.StyleDecorator.Location); + exportContainer.Items.AddRange(list); ExporterCollection containerList = new ExporterCollection(); - containerList.Add (lineItem); + containerList.Add (exportContainer); return containerList; } return null; From 6c4afa9986ac03fde8fc999321a89a4a94d94d88 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 27 Feb 2011 20:21:20 +0100 Subject: [PATCH 033/168] Layouter.cs works with <CR> in Text --- .../Project/BaseClasses/Printing/Layouter.cs | 2 -- .../Printing/MeasurementService.cs | 34 ++++++++++++++++--- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs index b3f63ca23a..1e29b28e4b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs @@ -22,12 +22,10 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing if (graphics == null) { throw new ArgumentNullException("graphics"); } - if (container == null) { throw new ArgumentNullException("container"); } - if (container.Items == null) { return Rectangle.Empty; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/MeasurementService.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/MeasurementService.cs index 569bb3ba76..fa08d0fb76 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/MeasurementService.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/MeasurementService.cs @@ -17,22 +17,48 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing public static Size MeasureReportItem(Graphics graphics,IReportItem item) { + BaseTextItem textItem = item as BaseTextItem; - if (textItem != null) { + if (textItem != null) + { string str = String.Empty; BaseDataItem dataItem = item as BaseDataItem; - if (dataItem != null) { + if (dataItem != null) + { str = dataItem.DBValue; - } else { + } + else + { BaseTextItem it = item as BaseTextItem; - if (it != null) { + + if (it != null) + { str = it.Text; } } + /* + if (str.Contains(Environment.NewLine)) + { + Console.WriteLine ("newline"); + } + + + int lp = 0; + int cp = 0; + SizeF test = graphics.MeasureString(str.TrimEnd(), textItem.Font, textItem.Size, + + StringFormat.GenericTypographic,out cp, out lp); + + + */ SizeF sf = graphics.MeasureString(str.TrimEnd(), textItem.Font, textItem.Size.Width); + var hh = textItem.Font.GetHeight(); + var h1 = textItem.Font.Height; + var aa = sf.Height / textItem.Font.GetHeight(); + return sf.ToSize(); } return item.Size; From 42bf8d4bb4a5ab339b99472ebef2207c5f1b8a95 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier <peter.forstmeier@t-online.de> Date: Mon, 28 Feb 2011 17:59:56 +0100 Subject: [PATCH 034/168] Rows can be used as StackPanel.Orientation=horizontal --- .../ICSharpCode.Reports.Core.csproj | 15 ++++--- .../Project/BaseClasses/Printing/Layouter.cs | 3 +- .../Project/Exporter/BasePager.cs | 41 ++++++++++++++----- .../Converters/GroupedRowConverter.cs | 8 ++-- .../Project/Exporter/DataPageBuilder.cs | 3 ++ .../Project/Expressions/EvaluationHelper.cs | 2 + .../Project/ReportViewer/ReportViewer.cs | 6 +-- 7 files changed, 51 insertions(+), 27 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index d4c9df244b..6dd1ea06d5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -327,12 +327,6 @@ <Compile Include="Project\Exporter\ExportColumns\ExportText.cs" /> <Compile Include="Project\Exporter\ExportColumns\IExportColumnBuilder .cs" /> <Compile Include="Project\ReportViewer\PageNavigationEventArgs.cs" /> - <Compile Include="Project\ReportViewer\ReportViewer.cs"> - <SubType>UserControl</SubType> - </Compile> - <Compile Include="Project\ReportViewer\ReportViewer.Designer.cs"> - <DependentUpon>Project\ReportViewer.cs</DependentUpon> - </Compile> <Compile Include="Project\Exporter\ExportColumns\ExportGraphic.cs" /> <Compile Include="Project\Exporter\Decorators\TextStyleDecorator.cs" /> <Compile Include="Project\Exporter\Decorators\GraphicStyleDecorator.cs" /> @@ -344,6 +338,12 @@ <Compile Include="Project\Exporter\ExportRenderer\BaseExportRenderer.cs" /> <Compile Include="Project\Exporter\ExportRenderer\PreviewRenderer.cs" /> <Compile Include="Project\Exporter\ExportRenderer\PrintRenderer.cs" /> + <Compile Include="Project\ReportViewer\ReportViewer.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Include="Project\ReportViewer\ReportViewer.designer.cs"> + <DependentUpon>ReportViewer.cs</DependentUpon> + </Compile> <Compile Include="Project\Xml\BaseItemLoader.cs" /> <Compile Include="Project\Xml\MycroParser.cs" /> <Compile Include="Project\Xml\MycroWriter.cs" /> @@ -354,8 +354,7 @@ <DependentUpon>ParameterDialog.cs</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="Project\ReportViewer\ReportViewer.resx"> - <DependentUpon>ReportViewer.Designer.cs</DependentUpon> - <Generator>ResXFileCodeGenerator</Generator> + <DependentUpon>ReportViewer.cs</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="Project\Resources\CoreResource.resx" /> <None Include="Project\Expressions\SimpleExpressionEvaluator\Parser\SimpleExpressionLanguage.tpg" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs index 1e29b28e4b..857c44b5b5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs @@ -106,7 +106,8 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing canGrowShrinkCollection.First().Size.Width, canGrowShrinkCollection.First().Size.Height); - foreach (BaseReportItem elemToLayout in canGrowShrinkCollection) { + foreach (BaseTextItem elemToLayout in canGrowShrinkCollection) { + Console.WriteLine("ELEMTEXT {0}",elemToLayout.Text); Size textSize = MeasurementService.MeasureReportItem (graphics,elemToLayout); elemToLayout.Size = new Size(elemToLayout.Size.Width,textSize.Height); rec = Rectangle.Union(rec,new Rectangle(elemToLayout.Location,elemToLayout.Size)); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 1d7d0d2271..637b77e14e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -92,28 +92,49 @@ namespace ICSharpCode.Reports.Core.Exporter PrintHelper.AdjustParent((BaseSection)section,section.Items); - ExporterCollection list = new ExporterCollection(); + var list = new ExporterCollection(); if (section.Items.Count > 0) { - Point offset = new Point(section.Location.X,section.SectionOffset); - + section.Items.SortByLocation(); + + var offset = new Point(section.Location.X,section.SectionOffset); + IExpressionEvaluatorFacade f = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); + Rectangle desiredRectangle = LayoutHelper.FixSectionLayout(this.Graphics,section); Setlayout( desiredRectangle, section); foreach (BaseReportItem item in section.Items) { - ISimpleContainer container = item as ISimpleContainer; + ISimpleContainer simpleContainer = item as ISimpleContainer; - if (container != null) { - ExportContainer exportContainer = StandardPrinter.ConvertToContainer(container,offset); - - ExporterCollection clist = StandardPrinter.ConvertPlainCollection(container.Items,exportContainer.StyleDecorator.Location); + if (simpleContainer != null) + { + foreach (BaseTextItem v in simpleContainer.Items) + { + string ss = f.Evaluate(v.Text); + v.Text = ss; + } + Size s = simpleContainer.Size; + var l = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); + LayoutHelper.SetLayoutForRow(Graphics,l, simpleContainer); + + ExportContainer exportContainer = StandardPrinter.ConvertToContainer(simpleContainer,offset); + s = simpleContainer.Size; + + ExporterCollection clist = StandardPrinter.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location); exportContainer.Items.AddRange(clist); list.Add(exportContainer); - + offset = new Point(offset.X,offset.Y + simpleContainer.Size.Height + 4* GlobalValues.GapBetweenContainer); + + foreach (ExportText VARIABLE in clist) + { + Console.WriteLine("{0} - {1}",VARIABLE.Text,VARIABLE.StyleDecorator.Location); + } + Console.WriteLine("......."); + } else { list = StandardPrinter.ConvertPlainCollection(section.Items,offset); } @@ -273,8 +294,6 @@ namespace ICSharpCode.Reports.Core.Exporter protected Graphics Graphics {get; private set;} - //public ILayouter Layouter {get; private set;} - public IReportModel ReportModel {get;set;} protected ExporterPage SinglePage {get;set;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index ff0b16c833..b6cd1c0dd8 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -82,9 +82,9 @@ namespace ICSharpCode.Reports.Core.Exporter IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator; base.Evaluator.SinglePage.IDataNavigator = childNavigator; - Console.WriteLine("Header start {0}",base.CurrentPosition); + //Console.WriteLine("Header start {0}",base.CurrentPosition); base.CurrentPosition = ConvertGroupHeader(exporterCollection,section,base.CurrentPosition); - Console.WriteLine("Header end {0}",base.CurrentPosition); + //Console.WriteLine("Header end {0}",base.CurrentPosition); section.Size = base.RestoreSectionSize; section.Items[0].Size = groupSize; section.Items[1].Size = childSize; @@ -95,7 +95,7 @@ namespace ICSharpCode.Reports.Core.Exporter //Convert children if (childNavigator != null) { StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); - Console.WriteLine("child start {0}",base.CurrentPosition); + //Console.WriteLine("child start {0}",base.CurrentPosition); do { section.Size = base.RestoreSectionSize; @@ -109,7 +109,7 @@ namespace ICSharpCode.Reports.Core.Exporter CheckForPageBreak(section,exporterCollection); } while ( childNavigator.MoveNext()); - Console.WriteLine("child end {0}",base.CurrentPosition); + //Console.WriteLine("child end {0}",base.CurrentPosition); // GroupFooter base.ConvertGroupFooter(section,exporterCollection); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index 8310a1b130..0d3f84034d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -7,6 +7,7 @@ using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Events; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; +using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core.Exporter { @@ -77,6 +78,7 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildPageHeader () { base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader(); + ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow); base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); base.SinglePage.Items.AddRange(convertedList); @@ -186,6 +188,7 @@ namespace ICSharpCode.Reports.Core.Exporter { this.dataNavigator = this.dataManager.GetNavigator; this.BuildNewPage(); + this.SinglePage.IDataNavigator = this.dataNavigator; this.dataNavigator.MoveNext(); BaseSection section = base.ReportModel.DetailSection; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs index 947bdb547d..57ec0a0e62 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs @@ -31,9 +31,11 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage throw new ArgumentNullException("singlePage"); } + /* if (dataNavigator == null) { throw new ArgumentNullException("dataNavigator"); } + * */ singlePage.IDataNavigator = dataNavigator; IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(singlePage); return evaluatorFacade; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs index 4dca5c147f..55bdd58e66 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs @@ -224,7 +224,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void GroupHeaderRendering (object sender, GroupHeaderEventArgs ghea) { - Console.WriteLine("ReportViewer - GroupHeaderRendering :"); +// Console.WriteLine("ReportViewer - GroupHeaderRendering :"); // BaseGroupedRow v = ghea.GroupHeader; // v.BackColor = System.Drawing.Color.Red; } @@ -233,7 +233,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void GroupFooterRendering ( object sender, GroupFooterEventArgs gfea) { // Console.WriteLine(); - Console.WriteLine("ReportViewer - GroupFooterRendering :"); +// Console.WriteLine("ReportViewer - GroupFooterRendering :"); // var v = gfea.GroupFooter; // v.BackColor = System.Drawing.Color.Red; // BaseTextItem i = (BaseTextItem)v.Items[0]; @@ -243,7 +243,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void RowRendering (object sender,RowRenderEventArgs rrea) { - Console.WriteLine("ReportViewer - RowRendering :"); + //Console.WriteLine("ReportViewer - RowRendering :"); } #endregion From 0da20d96e643463164a2f476d2a4127b559fbd7d Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Wed, 2 Mar 2011 19:49:34 +0100 Subject: [PATCH 035/168] Rows can be used as StackPanel.Orientation=horizontal, PageHeader can display a List of rows --- .../BaseClasses/Printing/LayoutHelper.cs | 13 +++- .../Project/BaseClasses/Printing/Layouter.cs | 4 +- .../BaseClasses/Printing/StandardPrinter.cs | 4 +- .../Project/BaseClasses/SectionBounds.cs | 2 +- .../Project/Exporter/BasePager.cs | 69 +++++++++---------- .../Project/Exporter/DataPageBuilder.cs | 5 +- .../Project/Expressions/EvaluationHelper.cs | 18 +++++ 7 files changed, 74 insertions(+), 41 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/LayoutHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/LayoutHelper.cs index 979fe90cee..9ba54fb1c7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/LayoutHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/LayoutHelper.cs @@ -16,7 +16,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing internal sealed class LayoutHelper { - public static Rectangle FixSectionLayout(Graphics graphics,BaseSection section) + public static Rectangle CalculateSectionLayout(Graphics graphics,BaseSection section) { ILayouter layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); var desiredRectangle = layouter.Layout(graphics, section); @@ -24,6 +24,17 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing } + public static void FixSectionLayout(Rectangle desiredRectangle, BaseSection section) + { + Rectangle sectionRectangle = new Rectangle(section.Location, section.Size); + if (!sectionRectangle.Contains(desiredRectangle)) { + section.Size = new Size(section.Size.Width, + desiredRectangle.Size.Height + GlobalValues.ControlMargins.Top + GlobalValues.ControlMargins.Bottom); + } + } + + + public static void SetLayoutForRow (Graphics graphics, ILayouter layouter,ISimpleContainer row) { Rectangle textRect = layouter.Layout(graphics,row); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs index 857c44b5b5..7f28554bea 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs @@ -32,7 +32,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing } // Console.WriteLine("\tlayouter for container <{0}>",container.ToString()); - Console.WriteLine("\tLayouter for Container"); +// Console.WriteLine("\tLayouter for Container"); Rectangle desiredContainerRectangle = new Rectangle (container.Location,container.Size); System.Collections.Generic.IEnumerable<BaseReportItem> canGrowShrinkCollection = from bt in container.Items where bt.CanGrow == true select bt; @@ -71,7 +71,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing } // Console.WriteLine("\tLayouter for Container");Console.WriteLine("\tlayouter for section <{0}>",section.Name); - Console.WriteLine("\tLayouter for Section"); +// Console.WriteLine("\tLayouter for Section"); IEnumerable<BaseReportItem> canGrowShrinkCollection = from bt in section.Items where bt.CanGrow == true select bt; Rectangle desiredSectionRectangle = new Rectangle(section.Location.X, diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs index 7d83af3131..6986b7505f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs @@ -224,7 +224,9 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing lineItem.StyleDecorator.Size); AdjustBackColor (container); - return lineItem; + Console.WriteLine("\tstart container at {0}",lineItem.StyleDecorator.Location); + return lineItem; + } return null; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs index 66fa8c5a85..52567fd7c7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs @@ -96,7 +96,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses throw new ArgumentNullException("section"); } - section.SectionOffset = this.reportHeaderRectangle.Bottom + + 3 * GlobalValues.GapBetweenContainer; + section.SectionOffset = this.reportHeaderRectangle.Bottom + 3 * GlobalValues.GapBetweenContainer; this.pageHeaderRectangle = new Rectangle (this.reportHeaderRectangle.Left, section.SectionOffset, this.marginBounds.Width, diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 637b77e14e..887578c2fb 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -85,74 +85,74 @@ namespace ICSharpCode.Reports.Core.Exporter #region Converters + //Point currentPosition = Point.Empty; + protected Point Offset {get;set;} protected ExporterCollection ConvertSection (BaseSection section,int dataRow) { FireSectionRenderEvent (section ,dataRow); - + Console.WriteLine(""); + Console.WriteLine("section {0}",section.Name); PrintHelper.AdjustParent((BaseSection)section,section.Items); var list = new ExporterCollection(); + Offset = new Point(section.Location.X,section.SectionOffset); if (section.Items.Count > 0) { section.Items.SortByLocation(); - var offset = new Point(section.Location.X,section.SectionOffset); - IExpressionEvaluatorFacade f = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); + IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); - Rectangle desiredRectangle = LayoutHelper.FixSectionLayout(this.Graphics,section); - - Setlayout( desiredRectangle, section); + Rectangle desiredRectangle = LayoutHelper.CalculateSectionLayout(this.Graphics,section); + LayoutHelper.FixSectionLayout(desiredRectangle,section); - foreach (BaseReportItem item in section.Items) { - + foreach (BaseReportItem item in section.Items) + { ISimpleContainer simpleContainer = item as ISimpleContainer; - if (simpleContainer != null) { - foreach (BaseTextItem v in simpleContainer.Items) - { - string ss = f.Evaluate(v.Text); - v.Text = ss; - } + EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items); Size s = simpleContainer.Size; var l = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); LayoutHelper.SetLayoutForRow(Graphics,l, simpleContainer); - ExportContainer exportContainer = StandardPrinter.ConvertToContainer(simpleContainer,offset); +ExportContainer exportContainer = StandardPrinter.ConvertToContainer(simpleContainer,Offset); + Console.WriteLine ("offset {0}",Offset); +Console.WriteLine("start exportContainer container at {0} with height {1}",exportContainer.StyleDecorator.Location,exportContainer.StyleDecorator.Size.Height); s = simpleContainer.Size; - + ExporterCollection clist = StandardPrinter.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location); exportContainer.Items.AddRange(clist); list.Add(exportContainer); - offset = new Point(offset.X,offset.Y + simpleContainer.Size.Height + 4* GlobalValues.GapBetweenContainer); + Offset = new Point(Offset.X,Offset.Y + exportContainer.StyleDecorator.Size.Height); + +Console.WriteLine ("new offset {0}",Offset); + - foreach (ExportText VARIABLE in clist) - { - Console.WriteLine("{0} - {1}",VARIABLE.Text,VARIABLE.StyleDecorator.Location); - } - Console.WriteLine("......."); +// foreach (ExportText VARIABLE in clist) +// { +// Console.WriteLine("{0} - {1}",VARIABLE.Text,VARIABLE.StyleDecorator.Location); +// } +// Console.WriteLine("......."); - } else { - list = StandardPrinter.ConvertPlainCollection(section.Items,offset); } + else + { + Console.WriteLine("start section {0} at {1}",section.Name,section.SectionOffset + section.Location.Y); + list = StandardPrinter.ConvertPlainCollection(section.Items,Offset); + Offset = new Point(Offset.X,Offset.Y + section.Size.Height); + } + section.Size = new Size(section.Size.Width,section.Size.Height); } + Console.WriteLine ("\toffset {0} sectionoffset {1}",Offset,section.SectionOffset); + } + Console.WriteLine ("Cuurent location {0} section.botom {1}",Offset,section.Location.Y + section.Size.Height); return list; } - - void Setlayout(Rectangle desiredRectangle, BaseSection section) - { - Rectangle sectionRectangle = new Rectangle(section.Location, section.Size); - if (!sectionRectangle.Contains(desiredRectangle)) { - section.Size = new Size(section.Size.Width, - desiredRectangle.Size.Height + GlobalValues.ControlMargins.Top + GlobalValues.ControlMargins.Bottom); - } - } - public static BaseRectangleItem CreateDebugItem (BaseReportItem item) { @@ -164,7 +164,6 @@ namespace ICSharpCode.Reports.Core.Exporter return debugRectangle; } - #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index 0d3f84034d..caf832f561 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -78,9 +78,12 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildPageHeader () { base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader(); - + Console.WriteLine ("pageHeader {0}",base.ReportModel.PageHeader.Size); ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow); + Console.WriteLine ("pageHeader {0}",base.ReportModel.PageHeader.Size); +// base.ReportModel.PageHeader.Size = new Size(base.ReportModel.PageHeader.Size.Width,base.Offset.Y); base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); + Console.WriteLine ("rect {0} detail {1}",base.SectionBounds.PageHeaderRectangle,base.SectionBounds.DetailStart); base.SinglePage.Items.AddRange(convertedList); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs index 57ec0a0e62..70635380e2 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs @@ -42,6 +42,24 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage } + public static void EvaluateReportItems (IExpressionEvaluatorFacade evaluator,ReportItemCollection items) + { + try { + foreach(BaseReportItem column in items) { + var container = column as ISimpleContainer ; + if (container != null) { + EvaluateReportItems(evaluator,container.Items); + } + BaseTextItem textItem = column as BaseTextItem; + if (textItem != null) { + textItem.Text = evaluator.Evaluate(textItem.Text); + } + } + } catch (Exception) { + throw ; + } + } + public static void EvaluateRow(IExpressionEvaluatorFacade evaluator,ExporterCollection row) { try { From ddc28da84bf836763916572c528cc7719964cd26 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Thu, 17 Mar 2011 20:36:00 +0100 Subject: [PATCH 036/168] Can display stacked Rows --- .../Project/BaseClasses/Printing/Layouter.cs | 24 +------- .../BaseClasses/Printing/StandardPrinter.cs | 11 ++-- .../Project/Exporter/BasePager.cs | 55 ++++++------------- .../Converters/GroupedRowConverter.cs | 4 +- .../Converters/GroupedTableConverter.cs | 3 +- .../Project/Exporter/DataPageBuilder.cs | 12 ++-- .../Project/Exporter/FormPageBuilder.cs | 3 +- 7 files changed, 36 insertions(+), 76 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs index 7f28554bea..1cecaafc43 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs @@ -31,36 +31,22 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing return Rectangle.Empty; } -// Console.WriteLine("\tlayouter for container <{0}>",container.ToString()); -// Console.WriteLine("\tLayouter for Container"); Rectangle desiredContainerRectangle = new Rectangle (container.Location,container.Size); System.Collections.Generic.IEnumerable<BaseReportItem> canGrowShrinkCollection = from bt in container.Items where bt.CanGrow == true select bt; if (canGrowShrinkCollection.Count() > 0 ) { Rectangle surroundingRec = FindSurroundingRectangle(graphics,canGrowShrinkCollection); -// desiredContainerRectangle = new Rectangle(container.Location.X, -// container.Location.Y, -// container.Size.Width, -// surroundingRec.Size.Height + GlobalValues.ControlMargins.Top + GlobalValues.ControlMargins.Bottom); -// desiredContainerRectangle = new Rectangle(container.Location.X, container.Location.Y, container.Size.Width, surroundingRec.Size.Height); -// var r1 = new Rectangle(container.Location.X, -// container.Location.Y, -// container.Size.Width, -// surroundingRec.Size.Height); -// -// Console.WriteLine("Diff {0} - {1} dif {2}",desiredContainerRectangle,r1,desiredContainerRectangle.Height - r1.Height); } -// Console.WriteLine("\tContainer : {0} - DesiredContainerRectangle {1} ",container.Size,desiredContainerRectangle.Size); return desiredContainerRectangle; } - + public Rectangle Layout(Graphics graphics,BaseSection section) { if (graphics == null) { @@ -69,9 +55,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing if (section == null) { throw new ArgumentNullException("section"); } - -// Console.WriteLine("\tLayouter for Container");Console.WriteLine("\tlayouter for section <{0}>",section.Name); -// Console.WriteLine("\tLayouter for Section"); + IEnumerable<BaseReportItem> canGrowShrinkCollection = from bt in section.Items where bt.CanGrow == true select bt; Rectangle desiredSectionRectangle = new Rectangle(section.Location.X, @@ -91,11 +75,10 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing surroundingRec.Size.Height); } } -// Console.WriteLine("\tSection : {0} - DesiredContainerRectangle {1} ",section.Size,desiredSectionRectangle.Size); return desiredSectionRectangle; } - + private static Rectangle FindSurroundingRectangle (Graphics graphics,IEnumerable<BaseReportItem> canGrowShrinkCollection) { @@ -107,7 +90,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing canGrowShrinkCollection.First().Size.Height); foreach (BaseTextItem elemToLayout in canGrowShrinkCollection) { - Console.WriteLine("ELEMTEXT {0}",elemToLayout.Text); Size textSize = MeasurementService.MeasureReportItem (graphics,elemToLayout); elemToLayout.Size = new Size(elemToLayout.Size.Width,textSize.Height); rec = Rectangle.Union(rec,new Rectangle(elemToLayout.Location,elemToLayout.Size)); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs index 6986b7505f..db042d1c37 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs @@ -30,8 +30,8 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing } } - - public static void AdjustBackColor (ISimpleContainer container, Color defaultColor) + /* + public static void aaAdjustBackColor (ISimpleContainer container, Color defaultColor) { if (container.BackColor != defaultColor) { foreach (var item in container.Items) @@ -40,7 +40,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing } } } - + */ public static void FillBackground (Graphics graphics,BaseStyleDecorator decorator) { @@ -224,10 +224,9 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing lineItem.StyleDecorator.Size); AdjustBackColor (container); - Console.WriteLine("\tstart container at {0}",lineItem.StyleDecorator.Location); - return lineItem; - + return lineItem; } + return null; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 887578c2fb..c086ba8dbc 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -86,23 +86,22 @@ namespace ICSharpCode.Reports.Core.Exporter #region Converters //Point currentPosition = Point.Empty; - protected Point Offset {get;set;} + protected ExporterCollection ConvertSection (BaseSection section,int dataRow) { FireSectionRenderEvent (section ,dataRow); - Console.WriteLine(""); - Console.WriteLine("section {0}",section.Name); PrintHelper.AdjustParent((BaseSection)section,section.Items); var list = new ExporterCollection(); + Point startLocation = section.Location; Offset = new Point(section.Location.X,section.SectionOffset); if (section.Items.Count > 0) { - section.Items.SortByLocation(); + section.Items.SortByLocation(); - IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); + IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); Rectangle desiredRectangle = LayoutHelper.CalculateSectionLayout(this.Graphics,section); LayoutHelper.FixSectionLayout(desiredRectangle,section); @@ -113,43 +112,25 @@ namespace ICSharpCode.Reports.Core.Exporter if (simpleContainer != null) { - EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items); - Size s = simpleContainer.Size; - var l = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); - LayoutHelper.SetLayoutForRow(Graphics,l, simpleContainer); - -ExportContainer exportContainer = StandardPrinter.ConvertToContainer(simpleContainer,Offset); - Console.WriteLine ("offset {0}",Offset); -Console.WriteLine("start exportContainer container at {0} with height {1}",exportContainer.StyleDecorator.Location,exportContainer.StyleDecorator.Size.Height); - s = simpleContainer.Size; + EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items); + var l = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); + LayoutHelper.SetLayoutForRow(Graphics,l, simpleContainer); + ExportContainer exportContainer = StandardPrinter.ConvertToContainer(simpleContainer,Offset); ExporterCollection clist = StandardPrinter.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location); exportContainer.Items.AddRange(clist); list.Add(exportContainer); - Offset = new Point(Offset.X,Offset.Y + exportContainer.StyleDecorator.Size.Height); - -Console.WriteLine ("new offset {0}",Offset); - - -// foreach (ExportText VARIABLE in clist) -// { -// Console.WriteLine("{0} - {1}",VARIABLE.Text,VARIABLE.StyleDecorator.Location); -// } -// Console.WriteLine("......."); - + Offset = new Point(Offset.X,Offset.Y + exportContainer.StyleDecorator.Size.Height); } else { - Console.WriteLine("start section {0} at {1}",section.Name,section.SectionOffset + section.Location.Y); list = StandardPrinter.ConvertPlainCollection(section.Items,Offset); Offset = new Point(Offset.X,Offset.Y + section.Size.Height); } - section.Size = new Size(section.Size.Width,section.Size.Height); + section.Size = new Size(section.Size.Width,Offset.Y - section.SectionOffset); + } - Console.WriteLine ("\toffset {0} sectionoffset {1}",Offset,section.SectionOffset); - } - Console.WriteLine ("Cuurent location {0} section.botom {1}",Offset,section.Location.Y + section.Size.Height); return list; } @@ -291,8 +272,15 @@ Console.WriteLine ("new offset {0}",Offset); #region Property's + protected Point Offset {get;set;} + protected Graphics Graphics {get; private set;} + protected SectionBounds SectionBounds + { + get { return SinglePage.SectionBounds; } + } + public IReportModel ReportModel {get;set;} protected ExporterPage SinglePage {get;set;} @@ -308,13 +296,6 @@ Console.WriteLine ("new offset {0}",Offset); } } } - - - protected SectionBounds SectionBounds - { - get { return SinglePage.SectionBounds; } - } - #endregion } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index b6cd1c0dd8..8e9babe3ec 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -94,8 +94,8 @@ namespace ICSharpCode.Reports.Core.Exporter //Convert children if (childNavigator != null) { - StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); - //Console.WriteLine("child start {0}",base.CurrentPosition); +// StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); + StandardPrinter.AdjustBackColor(simpleContainer); do { section.Size = base.RestoreSectionSize; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs index 4e19dfa4e9..ff8498396d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs @@ -101,7 +101,8 @@ namespace ICSharpCode.Reports.Core.Exporter if (childNavigator != null) { do { - StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); + StandardPrinter.AdjustBackColor(simpleContainer); +// StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); simpleContainer = table.Items[2] as ISimpleContainer; containerSize = simpleContainer.Size; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index caf832f561..4cbd3d07f9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -78,12 +78,13 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildPageHeader () { base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader(); - Console.WriteLine ("pageHeader {0}",base.ReportModel.PageHeader.Size); +// Console.WriteLine ("pageHeader at start {0}",base.ReportModel.PageHeader.Size); ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow); - Console.WriteLine ("pageHeader {0}",base.ReportModel.PageHeader.Size); +// Console.WriteLine ("pageHeader after convert {0}",base.ReportModel.PageHeader.Size); +// Console.WriteLine ("Offset from base {0}",base.Offset); // base.ReportModel.PageHeader.Size = new Size(base.ReportModel.PageHeader.Size.Width,base.Offset.Y); base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); - Console.WriteLine ("rect {0} detail {1}",base.SectionBounds.PageHeaderRectangle,base.SectionBounds.DetailStart); +// Console.WriteLine ("PageHeaderRectangle {0} DetailStart {1}",base.SectionBounds.PageHeaderRectangle,base.SectionBounds.DetailStart); base.SinglePage.Items.AddRange(convertedList); } @@ -159,29 +160,24 @@ namespace ICSharpCode.Reports.Core.Exporter void OnSectionRendering (object sender,SectionRenderEventArgs e) { -// Console.WriteLine("Datapagebuilder : OnSectionRendering"); base.FireSectionRenderEvent(e.Section,e.RowNumber); } void OnGroupHeaderRendering (object sender, GroupHeaderEventArgs ghea) { - -// Console.WriteLine("Datapagebuilder : OnGroupHeaderRendering"); base.FireGroupHeaderEvent(ghea); } void OnGroupFooterRendering (object sender, GroupFooterEventArgs gfea) { -// Console.WriteLine ("DatapageBuilder : OnGroupFooterEvent"); base.FireGroupFooterEvent(gfea); } void OnRowRendering (object sender,RowRenderEventArgs rrea) { -// Console.WriteLine("Datapagebuilder : OnRowRendering"); base.FireRowRenderEvent(rrea); } #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs index 63ec24a5f7..e6a31da6de 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs @@ -55,7 +55,8 @@ namespace ICSharpCode.Reports.Core.Exporter { this.ReportModel.PageHeader.SectionOffset = base.SinglePage.SectionBounds.PageHeaderRectangle.Top; ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,0); - base.SinglePage.Items.AddRange(convertedList); + base.SinglePage.Items.AddRange(convertedList); + base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); } protected override void BuildDetailInternal(BaseSection section) From df84bd9a006079aca17ae98867ece706b2a6ff72 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 18 Mar 2011 20:35:35 +0100 Subject: [PATCH 037/168] Replace unset Parameter Values with string.Empty, write message to console to inform user --- .../Printing/MeasurementService.cs | 19 ---------------- .../Project/Exporter/BasePager.cs | 22 ++++++++++--------- .../Project/Exporter/DataPageBuilder.cs | 5 ----- .../Expressions/ExpressionEvaluatorFacade.cs | 17 +++++++++++--- 4 files changed, 26 insertions(+), 37 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/MeasurementService.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/MeasurementService.cs index fa08d0fb76..bb429c8128 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/MeasurementService.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/MeasurementService.cs @@ -37,32 +37,13 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing } } - /* - if (str.Contains(Environment.NewLine)) - { - Console.WriteLine ("newline"); - } - - - int lp = 0; - int cp = 0; - SizeF test = graphics.MeasureString(str.TrimEnd(), textItem.Font, textItem.Size, - StringFormat.GenericTypographic,out cp, out lp); - - - */ SizeF sf = graphics.MeasureString(str.TrimEnd(), textItem.Font, textItem.Size.Width); - var hh = textItem.Font.GetHeight(); - var h1 = textItem.Font.Height; - var aa = sf.Height / textItem.Font.GetHeight(); - return sf.ToSize(); } return item.Size; } - } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index c086ba8dbc..e529a1fe46 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -91,10 +91,9 @@ namespace ICSharpCode.Reports.Core.Exporter protected ExporterCollection ConvertSection (BaseSection section,int dataRow) { FireSectionRenderEvent (section ,dataRow); - PrintHelper.AdjustParent((BaseSection)section,section.Items); + PrintHelper.AdjustParent(section,section.Items); - var list = new ExporterCollection(); - Point startLocation = section.Location; + var convertedSection = new ExporterCollection(); Offset = new Point(section.Location.X,section.SectionOffset); if (section.Items.Count > 0) { @@ -113,25 +112,28 @@ namespace ICSharpCode.Reports.Core.Exporter if (simpleContainer != null) { EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items); - var l = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); - LayoutHelper.SetLayoutForRow(Graphics,l, simpleContainer); + + var layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); + LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer); + ExportContainer exportContainer = StandardPrinter.ConvertToContainer(simpleContainer,Offset); - ExporterCollection clist = StandardPrinter.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location); - exportContainer.Items.AddRange(clist); - list.Add(exportContainer); + ExporterCollection exporterCollection = StandardPrinter.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location); + exportContainer.Items.AddRange(exporterCollection); + convertedSection.Add(exportContainer); + Offset = new Point(Offset.X,Offset.Y + exportContainer.StyleDecorator.Size.Height); } else { - list = StandardPrinter.ConvertPlainCollection(section.Items,Offset); + convertedSection = StandardPrinter.ConvertPlainCollection(section.Items,Offset); Offset = new Point(Offset.X,Offset.Y + section.Size.Height); } section.Size = new Size(section.Size.Width,Offset.Y - section.SectionOffset); } } - return list; + return convertedSection; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index 4cbd3d07f9..9a9d7b5716 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -78,13 +78,8 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildPageHeader () { base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader(); -// Console.WriteLine ("pageHeader at start {0}",base.ReportModel.PageHeader.Size); ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow); -// Console.WriteLine ("pageHeader after convert {0}",base.ReportModel.PageHeader.Size); -// Console.WriteLine ("Offset from base {0}",base.Offset); -// base.ReportModel.PageHeader.Size = new Size(base.ReportModel.PageHeader.Size.Width,base.Offset.Y); base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); -// Console.WriteLine ("PageHeaderRectangle {0} DetailStart {1}",base.SectionBounds.PageHeaderRectangle,base.SectionBounds.DetailStart); base.SinglePage.Items.AddRange(convertedList); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs index 7dd851064e..1043c33489 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs @@ -78,14 +78,25 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage private void VariableStore (object sender,SimpleExpressionEvaluator.Evaluation.UnknownVariableEventArgs e) { - PropertyPath path = this.singlePage.ParsePropertyPath(e.VariableName); if (path != null) { e.VariableValue = path.Evaluate(path); } + // Look in Parametershash - if (singlePage.ParameterHash.ContainsKey(e.VariableName)) { - e.VariableValue = singlePage.ParameterHash[e.VariableName].ToString(); + if (singlePage.ParameterHash.ContainsKey(e.VariableName)) + { + try { + e.VariableValue = singlePage.ParameterHash[e.VariableName].ToString(); + } + catch (Exception) + { + e.VariableValue = String.Empty; + Console.WriteLine(""); + Console.WriteLine("ExpressionEvaluatorFacade.VariableStore"); + Console.WriteLine("Replace Param <{0}> with String.Empty because no value is set",e.VariableName); + Console.WriteLine(""); + } } } From 8a6757e0c8ac8699b842fd71bafacc0b70a51582 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 20 Mar 2011 18:43:53 +0100 Subject: [PATCH 038/168] TextItems as Stack --- .../Project/BaseItems/BaseSection.cs | 2 -- .../Project/Exporter/BasePager.cs | 8 ++------ .../ReportingLanguage/ReportingLanguageCompiler.cs | 1 - 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs index 2dcb1b9fb3..74ed96addb 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs @@ -19,7 +19,6 @@ namespace ICSharpCode.Reports.Core public class BaseSection : BaseReportItem,ISimpleContainer { -// private bool pageBreakAfter; private ReportItemCollection items; public event EventHandler<SectionEventArgs> SectionPrinting; @@ -106,7 +105,6 @@ namespace ICSharpCode.Reports.Core if (cont != null) { return FindRec (cont.Items,itemName); } else { - //return InnerFind(itemName); return FindRec(this.items,itemName); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index e529a1fe46..3319ddc9ae 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -85,9 +85,6 @@ namespace ICSharpCode.Reports.Core.Exporter #region Converters - //Point currentPosition = Point.Empty; - - protected ExporterCollection ConvertSection (BaseSection section,int dataRow) { FireSectionRenderEvent (section ,dataRow); @@ -126,11 +123,10 @@ namespace ICSharpCode.Reports.Core.Exporter } else { - convertedSection = StandardPrinter.ConvertPlainCollection(section.Items,Offset); - Offset = new Point(Offset.X,Offset.Y + section.Size.Height); + var converteditem = StandardPrinter.ConvertLineItem(item,Offset); + convertedSection.Add(converteditem); } section.Size = new Size(section.Size.Width,Offset.Y - section.SectionOffset); - } } return convertedSection; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguageCompiler.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguageCompiler.cs index 7ccb8ef310..1b78ecbadf 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguageCompiler.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguageCompiler.cs @@ -17,7 +17,6 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage /// </summary> public class ReportingLanguageCompiler:SimpleExpressionLanguageCompiler { -// private IPageInfo singlePage; private ReportingLanguage reportingLanguage; private Compiler compiler; From c093e04c88704c3db12cbfaa1640ca2d8173dfa6 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Wed, 23 Mar 2011 20:17:39 +0100 Subject: [PATCH 039/168] FieldReference.cs; cleanup --- .../BaseClasses/Printing/PrintHelper.cs | 2 - .../Project/DataManager/ChildNavigator.cs | 4 +- .../DataManager/ListStrategy/TableStrategy.cs | 51 +++++++----- .../Exporter/Converters/BaseConverter.cs | 16 ++-- .../Converters/GroupedRowConverter.cs | 8 +- .../Expressions/ExpressionEvaluatorFacade.cs | 7 +- .../AggregateFunctions/AggregateFunction.cs | 2 - .../ReportingService/FieldReference.cs | 13 +++- .../Project/Printing/AbstractDataRenderer.cs | 1 - .../Project/Printing/RenderTable.cs | 1 - .../Project/Printing/RendererFactory.cs | 1 - .../ListStrategy/GroupListFixture.cs | 78 ++++++++++++++++++- 12 files changed, 131 insertions(+), 53 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs index 46aea1941f..ec830ebc5a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs @@ -216,10 +216,8 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing foreach (BaseExportColumn element in items) { ExportContainer cont = element as ExportContainer; if (cont != null) { - Console.WriteLine("-------Container ----{0}-----",cont.StyleDecorator.Location); ShowLocations(cont.Items); } - System.Console.WriteLine ("{0} - {1}",element.ToString(),element.StyleDecorator.Location.ToString()); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs index f31455795c..355615eb9e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs @@ -91,8 +91,8 @@ namespace ICSharpCode.Reports.Core public CurrentItemsCollection GetDataRow { get { - var ss = this.indexList[this.indexList.CurrentPosition].ListIndex; - return dataStore.FillDataRow(ss); + var position = this.indexList[this.indexList.CurrentPosition].ListIndex; + return dataStore.FillDataRow(position); } } 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 ab0e93ed80..5a44355fb3 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 @@ -13,7 +13,7 @@ namespace ICSharpCode.Reports.Core /// <summary> /// Description of TableStrategy. /// </summary> - internal class TableStrategy: BaseListStrategy,IEnumerable<BaseComparer> + internal class TableStrategy: BaseListStrategy,IEnumerable<BaseComparer> { private DataTable table; @@ -87,6 +87,36 @@ namespace ICSharpCode.Reports.Core } + public override CurrentItemsCollection FillDataRow(int pos) + { + //this.table.Rows[pos]; + DataRow row = (DataRow) CurrentFromPosition(pos); + return FillCurrentRow(row); + } + + + public override CurrentItemsCollection FillDataRow() + { + DataRow row =this.Current as DataRow; + return FillCurrentRow(row); + } + + + CurrentItemsCollection FillCurrentRow( DataRow row) + { + CurrentItemsCollection ci = new CurrentItemsCollection(); + if (row != null) { + CurrentItem c = null; + foreach (DataColumn dc in table.Columns) { + c = new CurrentItem(); + c.ColumnName = dc.ColumnName; + c.DataType = dc.DataType; + c.Value = row[dc.ColumnName]; + ci.Add(c); + } + } + return ci; + } public override bool MoveNext() { return base.MoveNext(); @@ -176,26 +206,7 @@ namespace ICSharpCode.Reports.Core #region Test - public override CurrentItemsCollection FillDataRow() - { - CurrentItemsCollection ci = base.FillDataRow(); - DataRow row = this.Current as DataRow; - - if (row != null) { - CurrentItem c = null; - foreach (DataColumn dc in table.Columns) - { - c = new CurrentItem(); - c.ColumnName = dc.ColumnName; - c.DataType = dc.DataType; - c.Value = row[dc.ColumnName]; - ci.Add(c); - } - } - return ci; - } - public override object CurrentFromPosition (int pos) { return this.table.Rows[pos]; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index da678bdee8..0ab418e150 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -78,7 +78,6 @@ namespace ICSharpCode.Reports.Core.Exporter if (row == null) { throw new ArgumentException("row"); } -// Console.WriteLine("\tFireRowRendering"); RowRenderEventArgs rrea = new RowRenderEventArgs(row,currentNavigator.Current); EventHelper.Raise<RowRenderEventArgs>(RowRendering,this,rrea); } @@ -86,7 +85,6 @@ namespace ICSharpCode.Reports.Core.Exporter protected void FireGroupHeaderRendering (GroupHeader groupHeader) { -// Console.WriteLine("\tFireGroupHeaderRendering"); GroupHeaderEventArgs ghea = new GroupHeaderEventArgs(groupHeader); EventHelper.Raise<GroupHeaderEventArgs>(GroupHeaderRendering,this,ghea); } @@ -182,56 +180,52 @@ namespace ICSharpCode.Reports.Core.Exporter return new ExporterCollection();; } - public Point CurrentPosition {get;set;} + #endregion + public Point CurrentPosition {get;set;} + public Rectangle ParentRectangle {get;private set;} public ISinglePage SinglePage {get;private set;} public SectionBounds SectionBounds {get; private set;} - public IDataNavigator DataNavigator {get;private set;} - public ILayouter Layouter {get; private set;} - public Graphics Graphics {get;set;} - protected IExpressionEvaluatorFacade Evaluator{get;private set;} protected int DefaultLeftPosition {get;set;} - protected void SaveSectionSize(Size size) { this.saveSize = size; } - protected Size RestoreSectionSize { get {return this.saveSize;} } - protected void PrepareContainerForConverting(BaseSection section,ISimpleContainer simpleContainer) { FireSectionRendering(section); LayoutHelper.SetLayoutForRow(Graphics,Layouter,simpleContainer); } - protected Point ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer) + protected Point ConvertStandardRow(ExporterCollection mylist,ISimpleContainer simpleContainer) { var rowSize = simpleContainer.Size; Point curPos = new Point(DefaultLeftPosition, CurrentPosition.Y); ExporterCollection ml = BaseConverter.ConvertItems (simpleContainer, curPos); EvaluationHelper.EvaluateRow(Evaluator,ml); + mylist.AddRange(ml); curPos = new Point (DefaultLeftPosition,CurrentPosition.Y + simpleContainer.Size.Height); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index 8e9babe3ec..a6d6d6d3aa 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -82,9 +82,7 @@ namespace ICSharpCode.Reports.Core.Exporter IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator; base.Evaluator.SinglePage.IDataNavigator = childNavigator; - //Console.WriteLine("Header start {0}",base.CurrentPosition); base.CurrentPosition = ConvertGroupHeader(exporterCollection,section,base.CurrentPosition); - //Console.WriteLine("Header end {0}",base.CurrentPosition); section.Size = base.RestoreSectionSize; section.Items[0].Size = groupSize; section.Items[1].Size = childSize; @@ -94,10 +92,9 @@ namespace ICSharpCode.Reports.Core.Exporter //Convert children if (childNavigator != null) { -// StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); StandardPrinter.AdjustBackColor(simpleContainer); do - { + { section.Size = base.RestoreSectionSize; section.Items[0].Size = groupSize; section.Items[1].Size = childSize; @@ -105,11 +102,12 @@ namespace ICSharpCode.Reports.Core.Exporter FillRow(simpleContainer,childNavigator); FireRowRendering(simpleContainer,childNavigator); PrepareContainerForConverting(section,simpleContainer); +// base.Evaluator.SinglePage.IDataNavigator = childNavigator; base.CurrentPosition = ConvertStandardRow(exporterCollection,simpleContainer); CheckForPageBreak(section,exporterCollection); } while ( childNavigator.MoveNext()); - //Console.WriteLine("child end {0}",base.CurrentPosition); + // GroupFooter base.ConvertGroupFooter(section,exporterCollection); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs index 1043c33489..5e6d74c7f1 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs @@ -36,15 +36,18 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage try { if (CanEvaluate(expression)) { IExpression compiled = compiler.CompileExpression<string>(expression); + this.context.ContextObject = this.SinglePage; if (compiled != null) { return (compiled.Evaluate(context)).ToString(); } } } catch (Exception e) { - -// Console.WriteLine("error"); expression = e.Message; + Console.WriteLine(""); + Console.WriteLine("ExpressionEvaluatorFacade.Evaluate"); + Console.WriteLine(e.Message); + Console.WriteLine(""); } return expression; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs index 07aaece72d..428e736bda 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs @@ -109,8 +109,6 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.AggregateFunctions private List<object> SetupDataSource (object data,IDataNavigator navigator) { - Console.WriteLine(""); - navigator.Reset(); List<object> list = new List<object>(); while ( navigator.MoveNext()) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs index 16a56e5fe1..f2b23a99f7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs @@ -40,8 +40,14 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.ReportingService string retval; if (item != null) { retval = item.Value.ToString(); - } else { + } else + { retval = GlobalValues.UnkownFunctionMessage(variable.VariableName); + + Console.WriteLine(""); + Console.WriteLine("ExpressionEvaluatorFacade.FieldReference"); + Console.WriteLine("Field<{0}> not found",variable.VariableName); + Console.WriteLine(""); } return retval; } @@ -49,11 +55,10 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.ReportingService } - protected override void AggregateValue(object value, AggregationState aggregationState, params object[] args) - { + { - } + } protected override string ExtractAggregateValue(AggregationState aggregationState) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs index 3d96d529ef..2c90153ded 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs @@ -90,7 +90,6 @@ namespace ICSharpCode.Reports.Core currentPosition = PrintHelper.ConvertRectangleToCurentPosition (r); tableContainer.Location = saveLocation; - Console.WriteLine("----"); } else { int adjust = row.Location.Y - saveLocation.Y; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs index 59cc7c0306..55b4916535 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs @@ -94,7 +94,6 @@ namespace ICSharpCode.Reports.Core pageBreakRect = PrintHelper.CalculatePageBreakRectangle((BaseReportItem)table,currentPosition); if (PrintHelper.IsPageFull(pageBreakRect,this.SectionBounds)) { - Console.WriteLine("PageBreak - PageFull"); table.Location = saveLocation; AbstractRenderer.PageBreak(ReportPageEventArgs); return; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs index 44668b4d5e..ca65473127 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs @@ -24,7 +24,6 @@ namespace ICSharpCode.Reports.Core Type t = itemToConvert.GetType(); if (t.Equals(typeof(BaseTableItem))) { - Console.WriteLine("render Table"); return new RenderTable(dataNavigator,Rectangle.Empty,singlePage,layouter,section); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs index cfb6c71e1e..84b8b43637 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs @@ -4,6 +4,7 @@ using System; using System.ComponentModel; using ICSharpCode.Reports.Core.Test.TestHelpers; +using ICSharpCode.Reports.Expressions.ReportingLanguage; using NUnit.Framework; namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy @@ -102,11 +103,9 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy [Test] - public void Collection_Contains_Subclass () { var modifyedCollection = this.ModifyCollection(); - GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending); ReportSettings rs = new ReportSettings(); rs.GroupColumnsCollection.Add(gc); @@ -163,6 +162,81 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy #endregion + #region FieldReference + + [Test] + public void Check_Field_Reference() + { + var modifyedCollection = this.ModifyCollection(); + GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending); + ReportSettings rs = new ReportSettings(); + rs.GroupColumnsCollection.Add(gc); + IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(modifyedCollection,rs); + IDataNavigator dataNavigator = dm.GetNavigator; + +// IExpressionEvaluatorFacade evaluator = new ExpressionEvaluatorFacade(); + + ReportItemCollection searchCol = new ReportItemCollection(); + + searchCol.Add(new BaseDataItem () + { + ColumnName ="DummyClass.DummyString" + } + ); + searchCol.Add(new BaseDataItem () + { + Name ="Last", + ColumnName ="Last" + } + ); + + searchCol.Add(new BaseDataItem () + { + + ColumnName ="GroupItem" + } + ); +// searchCol.Add(new BaseTextItem() +// { +// Name ="FieldRef", +// Text ="=Fields!Last" +// } +// ); + + dataNavigator.Reset(); + dataNavigator.MoveNext(); + + do + { + + dataNavigator.Fill(searchCol); + var a1 = (BaseDataItem)searchCol[0]; + var b1 = (BaseDataItem)searchCol[2]; + Console.WriteLine ("-----{0} - {1}------",a1.DBValue,b1.DBValue); + + if (dataNavigator.HasChildren) + { + var childNavigator = dataNavigator.GetChildNavigator; + do + { + var dataRow = childNavigator.GetDataRow; + var item = dataRow.Find("Last"); +// childNavigator.Fill(searchCol); +// var a = (BaseDataItem)searchCol[0]; +// var b = (BaseDataItem)searchCol[1]; +// var c = (BaseDataItem)searchCol[3]; +// Console.WriteLine ("\t{0} - {1} - {2}",a.DBValue,b.DBValue,c.DBValue); + Console.WriteLine(item.Value); + } + while (childNavigator.MoveNext()); + } + } + while (dataNavigator.MoveNext()); + } + + #endregion + + #region Group by DataTime [Test] From 60e4311f144a22736dd38be0648df67ff9bfe3bf Mon Sep 17 00:00:00 2001 From: Peter Forstmeier <peter.forstmeier@t-online.de> Date: Fri, 25 Mar 2011 09:24:54 +0100 Subject: [PATCH 040/168] small cleanup --- .../ListStrategy/CollectionStrategy.cs | 23 +++++++++---------- .../AggregateFunctions/AggregateFunction.cs | 2 +- .../Project/Globals/GlobalLists.cs | 4 +--- 3 files changed, 13 insertions(+), 16 deletions(-) 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 353afbf1e7..6b90ae174d 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 @@ -288,27 +288,26 @@ namespace ICSharpCode.Reports.Core { public override CurrentItemsCollection FillDataRow(int pos) { CurrentItemsCollection ci = new CurrentItemsCollection(); - var current = CurrentFromPosition(pos); - if (current != null) + var obj = CurrentFromPosition(pos); + if (obj != null) { - CurrentItem c = null; + CurrentItem currentItem = null; foreach (PropertyDescriptor pd in this.listProperties) { - c = new CurrentItem(); - c.ColumnName = pd.Name; - c.DataType = pd.PropertyType; + currentItem = new CurrentItem(); + currentItem.ColumnName = pd.Name; + currentItem.DataType = pd.PropertyType; - //var s = pd.GetValue(current); - var s = FollowPropertyPath(current,pd.Name); - if (s != null) + var propValue = FollowPropertyPath(obj,pd.Name); + if (propValue != null) { - c.Value = s.ToString(); + currentItem.Value = propValue.ToString(); } else { - c.Value = String.Empty; + currentItem.Value = String.Empty; } - ci.Add(c); + ci.Add(currentItem); } } return ci; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs index 428e736bda..124a1edfa9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs @@ -118,7 +118,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.AggregateFunctions if (currentItem != null) { object s1 = Convert.ToString(currentItem.Value.ToString(),CultureInfo.CurrentCulture); - Console.WriteLine("\tvalue = {0}", s1.ToString()); + Console.WriteLine("\tSetup DataSource value = {0}", s1.ToString()); if (IsNumeric(s1)) { list.Add(Convert.ToDouble(s1,System.Globalization.CultureInfo.CurrentCulture)); } else { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs index dca4cf5572..ad90812056 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs @@ -105,8 +105,7 @@ namespace ICSharpCode.Reports.Core.Globals #endregion - /// </summary> - /// + #region Zoom public static string[] ZoomValues () @@ -128,7 +127,6 @@ namespace ICSharpCode.Reports.Core.Globals "50%", "25%"}; - #endregion From 1c7a9d59c7017729beba73c554a73b95d76e98ca Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sat, 26 Mar 2011 18:01:32 +0100 Subject: [PATCH 041/168] Sections - BasePager.cs --- .../BaseClasses/Printing/StandardPrinter.cs | 4 +--- .../Project/BaseItems/Graphics/BaseLineItem.cs | 14 +++++++++++++- .../Project/Exporter/BasePager.cs | 6 +++--- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs index db042d1c37..66a1fee7c0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs @@ -90,14 +90,12 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing 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; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs index 9d6836667f..0cadcabd43 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs @@ -47,6 +47,7 @@ namespace ICSharpCode.Reports.Core { private LineDecorator CreateLineShape () { LineDecorator decorator = new LineDecorator(this.shape); +// decorator.Size = CalculateLineSize (); decorator.Size = this.Size; decorator.Location = this.Location; decorator.BackColor = this.BackColor; @@ -59,6 +60,18 @@ namespace ICSharpCode.Reports.Core { return decorator; } + Size CalculateLineSize() + { + int dif = 0; + if (fromPoint.Y < toPoint.Y) { + // + dif = toPoint.Y - fromPoint.Y; + } else { + dif = fromPoint.Y - toPoint.Y; + } + return new Size (Size.Width, dif + ICSharpCode.Reports.Core.Globals.GlobalValues.GapBetweenContainer); + } + #endregion @@ -87,7 +100,6 @@ namespace ICSharpCode.Reports.Core { return "BaseLineItem"; } - public virtual Point FromPoint { get { return this.fromPoint; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 3319ddc9ae..3431b973b3 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -94,7 +94,6 @@ namespace ICSharpCode.Reports.Core.Exporter Offset = new Point(section.Location.X,section.SectionOffset); if (section.Items.Count > 0) { - section.Items.SortByLocation(); IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); @@ -118,12 +117,13 @@ namespace ICSharpCode.Reports.Core.Exporter ExporterCollection exporterCollection = StandardPrinter.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location); exportContainer.Items.AddRange(exporterCollection); convertedSection.Add(exportContainer); - - Offset = new Point(Offset.X,Offset.Y + exportContainer.StyleDecorator.Size.Height); + Offset = new Point(Offset.X,Offset.Y + exportContainer.StyleDecorator.Size.Height + GlobalValues.GapBetweenContainer); + //Console.WriteLine("{0} - {1}",exportContainer.StyleDecorator.Size,item.Size); } else { var converteditem = StandardPrinter.ConvertLineItem(item,Offset); + Offset = new Point(Offset.X,Offset.Y + converteditem.StyleDecorator.Size.Height + GlobalValues.GapBetweenContainer); convertedSection.Add(converteditem); } section.Size = new Size(section.Size.Width,Offset.Y - section.SectionOffset); From 5b09427319130e1b07c9b51d27aa181315c7b9ac Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sat, 26 Mar 2011 18:14:20 +0100 Subject: [PATCH 042/168] Cleanup --- .../ICSharpCode.Reports.Core.csproj | 1 + .../BaseClasses/Printing/StandardPrinter.cs | 82 +---------------- .../Project/Exporter/BasePager.cs | 7 +- .../Exporter/Converters/BaseConverter.cs | 5 +- .../Converters/GroupedRowConverter.cs | 3 +- .../Converters/GroupedTableConverter.cs | 3 +- .../Project/Exporter/ExportHelper.cs | 88 +++++++++++++++++++ 7 files changed, 101 insertions(+), 88 deletions(-) create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index 6dd1ea06d5..dea9604f4e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -150,6 +150,7 @@ <Compile Include="Project\Exceptions\WrongSectionException.cs" /> <Compile Include="Project\Exporter\Converters\GroupedTableConverter.cs" /> <Compile Include="Project\Exporter\ExportColumns\ExportGraphicContainer.cs" /> + <Compile Include="Project\Exporter\ExportHelper.cs" /> <Compile Include="Project\Expressions\EvaluationHelper.cs" /> <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\ReportingService\FieldReference.cs" /> <Compile Include="Project\Exporter\BasePager.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs index 66a1fee7c0..f1f1a0db24 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs @@ -30,17 +30,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing } } - /* - public static void aaAdjustBackColor (ISimpleContainer container, Color defaultColor) - { - if (container.BackColor != defaultColor) { - foreach (var item in container.Items) - { - item.BackColor = defaultColor; - } - } - } - */ public static void FillBackground (Graphics graphics,BaseStyleDecorator decorator) { @@ -78,29 +67,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing /// <param name="item">Item to convert</param> /// <returns></returns> - public static BaseExportColumn ConvertLineItem (BaseReportItem item,Point offset) - { - if (item == null) { - throw new ArgumentNullException("item"); - } - - IExportColumnBuilder columnBuilder = item as IExportColumnBuilder; - BaseExportColumn 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; - } - - private static void RenderLineItem (BaseReportItem item, Point offset,IExpressionEvaluatorFacade evaluator,ReportPageEventArgs rpea) { @@ -158,28 +124,10 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing } - public static ExporterCollection ConvertPlainCollection (ReportItemCollection items,Point offset) - { - if (items == null) { - throw new ArgumentNullException("items"); - } - ExporterCollection col = new ExporterCollection(); - if (items.Count > 0) { - - foreach(BaseReportItem item in items) - { - col.Add(StandardPrinter.ConvertLineItem(item,offset)); - } - } - return col; - } - #endregion - #region Container - - + public static Rectangle RenderContainer (ISimpleContainer simpleContainer,IExpressionEvaluatorFacade evaluator,Point offset,ReportPageEventArgs rpea) { @@ -201,34 +149,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing item.Location = saveLocation; return retVal; } - - - public static ExportContainer ConvertToContainer (ISimpleContainer container,Point offset) - { - if (container == null) { - throw new ArgumentNullException("item"); - } - - PrintHelper.AdjustParent(container,container.Items); - IExportColumnBuilder lineBuilder = container as IExportColumnBuilder; - - if (lineBuilder != null) { - ExportContainer lineItem = (ExportContainer)lineBuilder.CreateExportColumn(); - - lineItem.StyleDecorator.Location = new Point (offset.X + lineItem.StyleDecorator.Location.X, - offset.Y); - - lineItem.StyleDecorator.DisplayRectangle = new Rectangle(lineItem.StyleDecorator.Location, - lineItem.StyleDecorator.Size); - - AdjustBackColor (container); - return lineItem; - } - - return null; - } - - #endregion } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 3431b973b3..0e4a17760c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -7,6 +7,7 @@ using ICSharpCode.Reports.Core.BaseClasses; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; +using ICSharpCode.Reports.Core.Project.Exporter; using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core.Exporter @@ -112,9 +113,9 @@ namespace ICSharpCode.Reports.Core.Exporter var layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer); - ExportContainer exportContainer = StandardPrinter.ConvertToContainer(simpleContainer,Offset); + ExportContainer exportContainer = ExportHelper.ConvertToContainer(simpleContainer,Offset); - ExporterCollection exporterCollection = StandardPrinter.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location); + ExporterCollection exporterCollection = ExportHelper.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location); exportContainer.Items.AddRange(exporterCollection); convertedSection.Add(exportContainer); Offset = new Point(Offset.X,Offset.Y + exportContainer.StyleDecorator.Size.Height + GlobalValues.GapBetweenContainer); @@ -122,7 +123,7 @@ namespace ICSharpCode.Reports.Core.Exporter } else { - var converteditem = StandardPrinter.ConvertLineItem(item,Offset); + var converteditem = ExportHelper.ConvertLineItem(item,Offset); Offset = new Point(Offset.X,Offset.Y + converteditem.StyleDecorator.Size.Height + GlobalValues.GapBetweenContainer); convertedSection.Add(converteditem); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index 0ab418e150..c2ecff4937 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -11,6 +11,7 @@ using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Events; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; +using ICSharpCode.Reports.Core.Project.Exporter; using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core.Exporter @@ -116,8 +117,8 @@ namespace ICSharpCode.Reports.Core.Exporter IExportColumnBuilder exportLineBuilder = row as IExportColumnBuilder; if (exportLineBuilder != null) { - ExportContainer exportContainer = StandardPrinter.ConvertToContainer(row,offset); - ExporterCollection list = StandardPrinter.ConvertPlainCollection(row.Items,exportContainer.StyleDecorator.Location); + ExportContainer exportContainer = ExportHelper.ConvertToContainer(row,offset); + ExporterCollection list = ExportHelper.ConvertPlainCollection(row.Items,exportContainer.StyleDecorator.Location); exportContainer.Items.AddRange(list); ExporterCollection containerList = new ExporterCollection(); containerList.Add (exportContainer); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index a6d6d6d3aa..24b14ac9e4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -6,6 +6,7 @@ using System.Drawing; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; +using ICSharpCode.Reports.Core.Project.Exporter; using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core.Exporter @@ -174,7 +175,7 @@ namespace ICSharpCode.Reports.Core.Exporter groupCollection = section.Items.ExtractGroupedColumns(); base.DataNavigator.Fill(groupCollection); base.FireSectionRendering(section); - ExporterCollection list = StandardPrinter.ConvertPlainCollection(groupCollection,offset); + ExporterCollection list = ExportHelper.ConvertPlainCollection(groupCollection,offset); EvaluationHelper.EvaluateRow(base.Evaluator,list); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs index ff8498396d..b01a247429 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs @@ -9,6 +9,7 @@ using System.Linq; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; +using ICSharpCode.Reports.Core.Project.Exporter; using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core.Exporter @@ -201,7 +202,7 @@ namespace ICSharpCode.Reports.Core.Exporter base.DataNavigator.Fill(groupCollection); base.FireSectionRendering(section); - ExporterCollection list = StandardPrinter.ConvertPlainCollection(groupCollection,offset); + ExporterCollection list = ExportHelper.ConvertPlainCollection(groupCollection,offset); EvaluationHelper.EvaluateRow(base.Evaluator,list); exportList.AddRange(list); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs new file mode 100644 index 0000000000..624decaa9e --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs @@ -0,0 +1,88 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 26.03.2011 + * Time: 18:03 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Drawing; +using ICSharpCode.Reports.Core.BaseClasses.Printing; +using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Interfaces; + +namespace ICSharpCode.Reports.Core.Project.Exporter +{ + /// <summary> + /// Description of ExportHelper. + /// </summary> + internal static class ExportHelper + { + + public static BaseExportColumn ConvertLineItem (BaseReportItem item,Point offset) + { + if (item == null) { + throw new ArgumentNullException("item"); + } + + IExportColumnBuilder columnBuilder = item as IExportColumnBuilder; + BaseExportColumn 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; + } + + + public static ExporterCollection ConvertPlainCollection (ReportItemCollection items,Point offset) + { + if (items == null) { + throw new ArgumentNullException("items"); + } + ExporterCollection col = new ExporterCollection(); + if (items.Count > 0) { + + foreach(BaseReportItem item in items) + { + col.Add(ExportHelper.ConvertLineItem(item,offset)); + } + } + return col; + } + + + public static ExportContainer ConvertToContainer (ISimpleContainer container,Point offset) + { + if (container == null) { + throw new ArgumentNullException("item"); + } + + PrintHelper.AdjustParent(container,container.Items); + IExportColumnBuilder lineBuilder = container as IExportColumnBuilder; + + if (lineBuilder != null) { + ExportContainer lineItem = (ExportContainer)lineBuilder.CreateExportColumn(); + + lineItem.StyleDecorator.Location = new Point (offset.X + lineItem.StyleDecorator.Location.X, + offset.Y); + + lineItem.StyleDecorator.DisplayRectangle = new Rectangle(lineItem.StyleDecorator.Location, + lineItem.StyleDecorator.Size); + + StandardPrinter.AdjustBackColor (container); + return lineItem; + } + + return null; + } + } +} From cc68e009a2d33fdc9e54de4a060a895fc2a02c86 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Thu, 31 Mar 2011 19:59:30 +0200 Subject: [PATCH 043/168] layout --- .../Project/BaseClasses/SectionBounds.cs | 15 ++++++-- .../Project/BaseClasses/SinglePage.cs | 2 +- .../Project/Exporter/BasePager.cs | 16 ++++++--- .../Exporter/Converters/BaseConverter.cs | 5 +-- .../Converters/GroupedRowConverter.cs | 36 +++++++++++++++---- .../Converters/GroupedTableConverter.cs | 14 ++++++++ .../Project/Exporter/DataPageBuilder.cs | 25 +++++++++++-- .../Project/Exporter/ExportHelper.cs | 31 ++++++++++++++++ 8 files changed, 124 insertions(+), 20 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs index 52567fd7c7..64f35d88eb 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs @@ -101,6 +101,11 @@ namespace ICSharpCode.Reports.Core.BaseClasses section.SectionOffset, this.marginBounds.Width, section.Size.Height + 3 * GlobalValues.GapBetweenContainer); + + Console.WriteLine("\tMeasurePageHeader {0}",pageHeaderRectangle); + + Console.WriteLine("\tDetailStart {0}",DetailStart); + } @@ -135,6 +140,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses //Test + /* public void MeasureDetailArea () { this.detailArea = new Rectangle (this.DetailStart.X, @@ -142,7 +148,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses this.pageHeaderRectangle.Width, (this.pageFooterRectangle.Top -1) - (this.pageHeaderRectangle.Bottom + 1)); } - + */ #endregion @@ -198,8 +204,10 @@ namespace ICSharpCode.Reports.Core.BaseClasses public Point DetailStart { get { - return new Point(this.pageHeaderRectangle.Left, - this.pageHeaderRectangle.Bottom + 3 * GlobalValues.GapBetweenContainer); +// return new Point(this.pageHeaderRectangle.Left, +// this.pageHeaderRectangle.Bottom + 3 * GlobalValues.GapBetweenContainer); + return new Point(this.pageHeaderRectangle.Left, + this.pageHeaderRectangle.Bottom ); } } @@ -218,6 +226,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses /// </summary> //Test + public Rectangle DetailArea { get { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs index 0002bd51a1..c767d01552 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs @@ -43,7 +43,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses this.sectionBounds.MeasureReportFooter(reportModel.ReportFooter); - this.sectionBounds.MeasureDetailArea(); + //this.sectionBounds.MeasureDetailArea(); this.sectionBounds.DetailSectionRectangle = new System.Drawing.Rectangle(reportModel.DetailSection.Location.X,sectionBounds.DetailStart.Y, reportModel.DetailSection.Size.Width, diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 0e4a17760c..882cf02c54 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -114,20 +114,26 @@ namespace ICSharpCode.Reports.Core.Exporter LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer); ExportContainer exportContainer = ExportHelper.ConvertToContainer(simpleContainer,Offset); - + ExporterCollection exporterCollection = ExportHelper.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location); exportContainer.Items.AddRange(exporterCollection); + Offset = new Point(Offset.X,Offset.Y + exportContainer.StyleDecorator.Size.Height + GlobalValues.GapBetweenContainer); + + /* + Offset = ExportHelper.ConvertPlainCollection_2(exportContainer,simpleContainer.Items,Offset); + + */ + convertedSection.Add(exportContainer); - Offset = new Point(Offset.X,Offset.Y + exportContainer.StyleDecorator.Size.Height + GlobalValues.GapBetweenContainer); - //Console.WriteLine("{0} - {1}",exportContainer.StyleDecorator.Size,item.Size); + } else { var converteditem = ExportHelper.ConvertLineItem(item,Offset); - Offset = new Point(Offset.X,Offset.Y + converteditem.StyleDecorator.Size.Height + GlobalValues.GapBetweenContainer); + Offset = new Point(Offset.X,Offset.Y + converteditem.StyleDecorator.Size.Height + GlobalValues.GapBetweenContainer); convertedSection.Add(converteditem); } - section.Size = new Size(section.Size.Width,Offset.Y - section.SectionOffset); +// section.Size = new Size(section.Size.Width,Offset.Y - section.SectionOffset); } } return convertedSection; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index c2ecff4937..49f305b915 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -52,13 +52,13 @@ namespace ICSharpCode.Reports.Core.Exporter } - #region PageBreak protected void BuildNewPage(ExporterCollection myList,BaseSection section) { FirePageFull(myList); section.SectionOffset = SinglePage.SectionBounds.PageHeaderRectangle.Location.Y; +// Console.WriteLine("BuildNewPage with {0} - {1}",SinglePage.SectionBounds.PageHeaderRectangle.Location,section.SectionOffset); myList.Clear(); } @@ -71,6 +71,7 @@ namespace ICSharpCode.Reports.Core.Exporter #endregion + #region Events protected void FireRowRendering (ISimpleContainer detailRow,IDataNavigator currentNavigator) @@ -229,7 +230,7 @@ namespace ICSharpCode.Reports.Core.Exporter mylist.AddRange(ml); - curPos = new Point (DefaultLeftPosition,CurrentPosition.Y + simpleContainer.Size.Height); + curPos = new Point (DefaultLeftPosition,CurrentPosition.Y + simpleContainer.Size.Height + 2 * GlobalValues.GapBetweenContainer); simpleContainer.Size = rowSize; return curPos; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index 24b14ac9e4..b2dbc42a33 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -57,8 +57,10 @@ namespace ICSharpCode.Reports.Core.Exporter private ExporterCollection ConvertDataRow (ISimpleContainer simpleContainer) { + ExporterCollection exporterCollection = new ExporterCollection(); base.CurrentPosition = new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.DetailStart.Y); + BaseSection section = parent as BaseSection; DefaultLeftPosition = parent.Location.X; @@ -70,8 +72,9 @@ namespace ICSharpCode.Reports.Core.Exporter groupSize = section.Items[0].Size; childSize = section.Items[1].Size; } - - do { +// Console.WriteLine("start with section at {0}",section.SectionOffset); +// Console.WriteLine(); + do { base.SaveSectionSize(section.Size); PrintHelper.AdjustSectionLocation (section); section.Size = this.SectionBounds.DetailSectionRectangle.Size; @@ -103,7 +106,6 @@ namespace ICSharpCode.Reports.Core.Exporter FillRow(simpleContainer,childNavigator); FireRowRendering(simpleContainer,childNavigator); PrepareContainerForConverting(section,simpleContainer); -// base.Evaluator.SinglePage.IDataNavigator = childNavigator; base.CurrentPosition = ConvertStandardRow(exporterCollection,simpleContainer); CheckForPageBreak(section,exporterCollection); } @@ -146,22 +148,42 @@ namespace ICSharpCode.Reports.Core.Exporter { var pageBreakRect = PrintHelper.CalculatePageBreakRectangle((BaseReportItem)section.Items[0],base.CurrentPosition); - if (PrintHelper.IsPageFull(pageBreakRect,base.SectionBounds)) { + if (PrintHelper.IsPageFull(pageBreakRect,base.SectionBounds)) + { base.CurrentPosition = ForcePageBreak (exporterCollection,section); + Console.WriteLine("\t -new CurPos = {0}",base.CurrentPosition); } } protected override Point ForcePageBreak(ExporterCollection exporterCollection, BaseSection section) { + Console.WriteLine("PageBreak"); base.ForcePageBreak(exporterCollection,section); - return CalculateStartPosition(); + return CalculateStartPosition(section); + } - private Point CalculateStartPosition() + private Point CalculateStartPosition(BaseSection section) { - return new Point(base.SectionBounds.PageHeaderRectangle.X,base.SectionBounds.PageHeaderRectangle.Y); + /* + Console.WriteLine(); + Console.WriteLine(" CalculateStartPosition"); + Console.WriteLine("{0}",base.SectionBounds.DetailStart); + Console.WriteLine("{0} ",SectionBounds.DetailArea); + Console.WriteLine("{0} ",base.SectionBounds.ReportHeaderRectangle); + Console.WriteLine("{0} ",base.SectionBounds.PageHeaderRectangle); +// return new Point (base.SectionBounds.PageHeaderRectangle.X,SectionBounds.DetailStart.Y); +// return new Point (base.SectionBounds.PageHeaderRectangle.X,SectionBounds.DetailStart.Y); +// return new Point (base.SectionBounds.PageHeaderRectangle.X,SectionBounds.DetailArea.Top); + +// return new Point (base.SectionBounds.PageHeaderRectangle.X,base.SectionBounds.PageHeaderRectangle.Bottom); + var pp = new Point (base.SectionBounds.PageHeaderRectangle.X,base.SectionBounds.PageHeaderRectangle.Bottom); + Console.WriteLine ("Bottom {0}",pp); + Console.WriteLine("secoffset {0}",section.SectionOffset); + */ + return new Point (base.SectionBounds.PageHeaderRectangle.X,section.SectionOffset); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs index b01a247429..1f4747bd26 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs @@ -180,6 +180,20 @@ namespace ICSharpCode.Reports.Core.Exporter protected override Point ForcePageBreak(ExporterCollection exporterCollection, BaseSection section) { base.ForcePageBreak(exporterCollection, section); + Console.WriteLine(); + Console.WriteLine(" CalculateStartPosition in TableConverter"); + Console.WriteLine("{0}",base.SectionBounds.DetailStart); + Console.WriteLine("{0} ",SectionBounds.DetailArea); + Console.WriteLine("{0} ",base.SectionBounds.ReportHeaderRectangle); + Console.WriteLine("{0} ",base.SectionBounds.PageHeaderRectangle); +// return new Point (base.SectionBounds.PageHeaderRectangle.X,SectionBounds.DetailStart.Y); +// return new Point (base.SectionBounds.PageHeaderRectangle.X,SectionBounds.DetailStart.Y); +// return new Point (base.SectionBounds.PageHeaderRectangle.X,SectionBounds.DetailArea.Top); + +// return new Point (base.SectionBounds.PageHeaderRectangle.X,base.SectionBounds.PageHeaderRectangle.Bottom); + var pp = new Point (base.SectionBounds.PageHeaderRectangle.X,base.SectionBounds.PageHeaderRectangle.Bottom); + Console.WriteLine ("Bottom {0}",pp); + Console.WriteLine("secoffset {0}",section.SectionOffset); return base.SectionBounds.ReportHeaderRectangle.Location; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index 9a9d7b5716..6f82d6083a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -67,20 +67,38 @@ namespace ICSharpCode.Reports.Core.Exporter { if ((base.Pages.Count == 0) && (base.ReportModel.ReportHeader.Items.Count > 0)) { + var s = base.ReportModel.ReportHeader; + Console.WriteLine("name <{0}>",s.Name); + Console.WriteLine("start section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); base.ReportModel.ReportHeader.SectionOffset = base.SinglePage.SectionBounds.ReportHeaderRectangle.Top; ExporterCollection convertedList = base.ConvertSection (base.ReportModel.ReportHeader,this.dataNavigator.CurrentRow); + base.SectionBounds.MeasurePageHeader(base.ReportModel.ReportHeader); + base.SinglePage.Items.AddRange(convertedList); +// Console.WriteLine("end section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); +// Console.WriteLine(); } } protected override void BuildPageHeader () { + var s = base.ReportModel.PageHeader; +var i = base.Pages.Count; +Console.WriteLine(""); + Console.WriteLine("name <{0}> on PAGE {1}",s.Name,i); + Console.WriteLine("start section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader(); ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow); - base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); + Console.WriteLine("end section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); + + base.SectionBounds.MeasurePageHeader(base.ReportModel.ReportHeader); +// base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); +// base.SectionBounds.MeasureDetailArea(); base.SinglePage.Items.AddRange(convertedList); + Console.WriteLine("aft-section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); + Console.WriteLine(); } @@ -127,7 +145,10 @@ namespace ICSharpCode.Reports.Core.Exporter protected Point BuildDetail (BaseSection section,IDataNavigator dataNavigator) { ExporterCollection convertedList = new ExporterCollection(); - + var s = section; +// Console.WriteLine("name <{0}>",s.Name); +// Console.WriteLine("start section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); +// Console.WriteLine("----"); foreach (BaseReportItem item in section.Items) { IBaseConverter baseConverter = ConverterFactory.CreateConverter(item,dataNavigator, diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs index 624decaa9e..4b35380b97 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs @@ -10,6 +10,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; namespace ICSharpCode.Reports.Core.Project.Exporter @@ -60,6 +61,36 @@ namespace ICSharpCode.Reports.Core.Project.Exporter } + public static Point ConvertPlainCollection_2 (ExportContainer container,ReportItemCollection items,Point offset) + { + if (items == null) { + throw new ArgumentNullException("items"); + } + + ExporterCollection col = new ExporterCollection(); + Point o = offset; + if (items.Count > 0) { + + foreach(BaseReportItem item in items) + { + container.Items.Add(ExportHelper.ConvertLineItem(item,offset)); + } + Size max = Size.Empty; + foreach (var element in items) { + if (element.Size.Height > max.Height) { + max = element.Size; + } + } + + if (container.StyleDecorator.Size.Height > max.Height) { + offset = new Point (o.X,o.Y + container.StyleDecorator.Size.Height + GlobalValues.GapBetweenContainer); + } + + } + return offset; + } + + public static ExportContainer ConvertToContainer (ISimpleContainer container,Point offset) { if (container == null) { From 2d5c829e8f717720d049bb9e334772c14d87b906 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sat, 2 Apr 2011 20:11:07 +0200 Subject: [PATCH 044/168] SectionBoundFixture.cs --- .../Project/BaseClasses/SectionBounds.cs | 72 +++++++++++----- .../Project/Exporter/BasePager.cs | 11 --- .../Project/Exporter/DataPageBuilder.cs | 27 +++--- .../Printing/SectionBoundFixture.cs | 85 ++++++++++--------- 4 files changed, 112 insertions(+), 83 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs index 64f35d88eb..03c7d1585c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs @@ -14,7 +14,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses public interface ISectionBounds { Rectangle MarginBounds {get;} - Rectangle ReportHeaderRectangle{get;} + Rectangle ReportHeaderRectangle{get;} Rectangle PageHeaderRectangle {get;} Rectangle PageFooterRectangle {get;} Rectangle ReportFooterRectangle {get;set;} @@ -43,7 +43,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses #region Constructor - + public SectionBounds (ReportSettings reportSettings,bool firstPage) { @@ -58,7 +58,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses this.printableArea = new Rectangle(reportSettings.LeftMargin,reportSettings.TopMargin, reportSettings.PageSize.Width - reportSettings.RightMargin, reportSettings.PageSize.Height - reportSettings.BottomMargin); - + this.marginBounds = new Rectangle(reportSettings.LeftMargin, reportSettings.TopMargin, reportSettings.PageSize.Width - reportSettings.LeftMargin - reportSettings.RightMargin, @@ -77,39 +77,69 @@ namespace ICSharpCode.Reports.Core.BaseClasses Size size = Size.Empty; section.SectionOffset = this.printableArea.Location.Y; - if (this.firstPage) { - if (section.Items.Count > 0) { - size = new Size(this.marginBounds.Width,section.Size.Height + 3 * GlobalValues.GapBetweenContainer); - } else { - size = new Size(this.marginBounds.Width,0); - } - } else { + if (this.firstPage) + { + size = CalculateSize(section); + } + else + { size = new Size(this.marginBounds.Width,0); } this.reportHeaderRectangle = new Rectangle(this.printableArea.Location,size); } + + + Size CalculateSize(BaseSection section) + { + Size size = Size.Empty; + if (section.Items.Count > 0) { +// size = new Size(this.marginBounds.Width, section.Size.Height + 3 * GlobalValues.GapBetweenContainer); +// size = new Size(this.marginBounds.Width, section.Size.Height + GlobalValues.GapBetweenContainer); + size = new Size(this.marginBounds.Width, section.Size.Height); + } else { + size = new Size(this.marginBounds.Width, 0); + } + return size; + } + - public void MeasurePageHeader (IReportItem section) + public void MeasurePageHeader (BaseSection section) { if (section == null) { throw new ArgumentNullException("section"); } - section.SectionOffset = this.reportHeaderRectangle.Bottom + 3 * GlobalValues.GapBetweenContainer; +// section.SectionOffset = this.reportHeaderRectangle.Bottom + 3 * GlobalValues.GapBetweenContainer; + section.SectionOffset = this.reportHeaderRectangle.Bottom + GlobalValues.GapBetweenContainer; + Size s = CalculateSize(section); + + /* this.pageHeaderRectangle = new Rectangle (this.reportHeaderRectangle.Left, section.SectionOffset, this.marginBounds.Width, section.Size.Height + 3 * GlobalValues.GapBetweenContainer); + */ +// this.pageHeaderRectangle = new Rectangle (this.reportHeaderRectangle.Left, +// section.SectionOffset, +// this.marginBounds.Width, +// section.Size.Height); - Console.WriteLine("\tMeasurePageHeader {0}",pageHeaderRectangle); + this.pageHeaderRectangle = new Rectangle (this.reportHeaderRectangle.Left, + section.SectionOffset, + this.marginBounds.Width, + s.Height); - Console.WriteLine("\tDetailStart {0}",DetailStart); + Console.WriteLine("---------------"); + Console.WriteLine("\tMeasureReprtHeader {0}",reportHeaderRectangle); + Console.WriteLine("\tMeasurePageHeader {0}",pageHeaderRectangle); + Console.WriteLine("\tDetailStart {0}",DetailStart); + Console.WriteLine("---------------"); } - + public void MeasurePageFooter (IReportItem section) { if (section == null) { @@ -148,7 +178,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses this.pageHeaderRectangle.Width, (this.pageFooterRectangle.Top -1) - (this.pageHeaderRectangle.Bottom + 1)); } - */ + */ #endregion @@ -172,7 +202,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses //Test - public Rectangle PageHeaderRectangle + public Rectangle PageHeaderRectangle { get { return pageHeaderRectangle; @@ -181,7 +211,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses //Test - public Rectangle PageFooterRectangle + public Rectangle PageFooterRectangle { get { return pageFooterRectangle; @@ -190,7 +220,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses //Test - public Rectangle ReportFooterRectangle + public Rectangle ReportFooterRectangle { get { return reportFooterRectangle; @@ -206,7 +236,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses get { // return new Point(this.pageHeaderRectangle.Left, // this.pageHeaderRectangle.Bottom + 3 * GlobalValues.GapBetweenContainer); - return new Point(this.pageHeaderRectangle.Left, + return new Point(this.pageHeaderRectangle.Left, this.pageHeaderRectangle.Bottom ); } } @@ -234,7 +264,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses } } - + public Rectangle DetailSectionRectangle {get;set;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 882cf02c54..5444285462 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -47,17 +47,6 @@ namespace ICSharpCode.Reports.Core.Exporter #region Create and Init new page - protected int AdjustPageHeader () - { - int offset = 0; - if (this.SinglePage.Items.Count > 0) { - offset = this.SinglePage.SectionBounds.PageHeaderRectangle.Top; - } else { - offset = this.SinglePage.SectionBounds.ReportHeaderRectangle.Top; - } - return offset; - } - protected ExporterPage InitNewPage () { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index 6f82d6083a..fc629de1c7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -85,18 +85,23 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildPageHeader () { var s = base.ReportModel.PageHeader; -var i = base.Pages.Count; -Console.WriteLine(""); - Console.WriteLine("name <{0}> on PAGE {1}",s.Name,i); - Console.WriteLine("start section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); - base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader(); + + Console.WriteLine("name <{0}> on PAGE {1}",s.Name,base.Pages.Count); + + Console.WriteLine("section {0}",base.ReportModel.PageHeader.Size); + + base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); + +// Console.WriteLine("section after adjustparent {0} new size {1}",base.ReportModel.PageHeader.SectionOffset,ss); + ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow); + Console.WriteLine("end section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); - base.SectionBounds.MeasurePageHeader(base.ReportModel.ReportHeader); -// base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); -// base.SectionBounds.MeasureDetailArea(); + base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); + base.SinglePage.Items.AddRange(convertedList); + Console.WriteLine("aft-section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); Console.WriteLine(); } @@ -146,9 +151,9 @@ Console.WriteLine(""); { ExporterCollection convertedList = new ExporterCollection(); var s = section; -// Console.WriteLine("name <{0}>",s.Name); -// Console.WriteLine("start section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); -// Console.WriteLine("----"); + Console.WriteLine("name <{0}>",s.Name); + Console.WriteLine("start section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); + Console.WriteLine("----"); foreach (BaseReportItem item in section.Items) { IBaseConverter baseConverter = ConverterFactory.CreateConverter(item,dataNavigator, diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs index 6e3f2be681..0d88f75472 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs @@ -4,6 +4,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.BaseClasses; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Test.TestHelpers; using NUnit.Framework; @@ -52,49 +53,32 @@ namespace ICSharpCode.Reports.Core.Test.Printing public void MeasureReportHeaderForFirstPageWithEmptyItems() { SectionBounds sectionBounds = new SectionBounds(new ReportSettings(),true); - BaseSection baseSection = new BaseSection(); - baseSection.Location = new Point (50,50); - baseSection.Size = new Size (727,60); + var baseSection = CreateSection(); sectionBounds.MeasureReportHeader(baseSection); - Assert.AreEqual(0,sectionBounds.ReportHeaderRectangle.Size.Height, - "ItemsCollection is empty, so Size.Height should be '0'"); - - Assert.AreEqual(sectionBounds.MarginBounds.Width, - sectionBounds.ReportHeaderRectangle.Width); + Size size = new Size(baseSection.Size.Width,0); + Assert.That(sectionBounds.ReportHeaderRectangle.Size,Is.EqualTo(size)); } [Test] - public void MeasureReportHeaderForFirstPageWithItems() + public void ReportHeader_For_FirstPage_WithItems() { - /* SectionBounds sectionBounds = new SectionBounds(new ReportSettings(),true); + BaseSection reportHeader = CreateSection(); + reportHeader.Items.Add(new BaseTextItem()); - BaseSection baseSection = new BaseSection(); - baseSection.Location = new Point (50,50); - baseSection.Size = new Size (727,60); + sectionBounds.MeasureReportHeader(reportHeader); - baseSection.Items.Add(new BaseTextItem()); - sectionBounds.MeasureReportHeader(baseSection); - Assert.AreEqual(baseSection.Size.Height + sectionBounds.Gap, - sectionBounds.ReportHeaderRectangle.Size.Height, - "ItemsCollection is not empty, so Size.Height should NOT be '0'"); - Assert.AreEqual(sectionBounds.MarginBounds.Width, - sectionBounds.ReportHeaderRectangle.Width); - */ + Assert.That(sectionBounds.ReportHeaderRectangle.Size,Is.EqualTo(reportHeader.Size)); } [Test] public void MeasureReportHeaderForAnyPage () { - BaseSection bs = new BaseSection(); - bs.Location = new Point (50,50); - bs.Size = new Size (727,60); - Sut.MeasureReportHeader(bs); + var baseSection = CreateSection(); + Sut.MeasureReportHeader(baseSection); Assert.AreEqual(0,Sut.ReportHeaderRectangle.Size.Height); - int a = Sut.MarginBounds.Width; - Assert.AreEqual(Sut.MarginBounds.Width,Sut.ReportHeaderRectangle.Width); } #endregion @@ -110,23 +94,29 @@ namespace ICSharpCode.Reports.Core.Test.Printing [Test] - public void MeasurePageHeader() + public void PageHeader_No_Items() { - /* - SectionBounds sectionBounds = new SectionBounds(new ReportSettings(),true); - BaseSection baseSection = new BaseSection(); - baseSection.Location = new Point (50,50); - baseSection.Size = new Size (727,60); - sectionBounds.MeasurePageHeader(baseSection); - Assert.AreEqual(baseSection.Size.Height + sectionBounds.Gap, sectionBounds.PageHeaderRectangle.Size.Height, - "ItemsCollection is empty, so Size.Height should be '0'"); - - Assert.AreEqual(sectionBounds.MarginBounds.Width, - sectionBounds.PageHeaderRectangle.Width); - */ + BaseSection baseSection = CreateSection(); + + Sut.MeasurePageHeader(baseSection); + Size size = new Size (baseSection.Size.Width,0); + + Assert.That(Sut.PageHeaderRectangle.Size,Is.EqualTo(size)); } + + [Test] + public void PageHeader_Location_One_Point_Under_ReportHeader() + { + BaseSection reportHeader = CreateSection(); + BaseSection pageHeader = CreateSection(); + Sut.MeasureReportHeader(reportHeader); + Sut.MeasurePageHeader(pageHeader); + Assert.That (pageHeader.SectionOffset,Is.GreaterThan(Sut.ReportHeaderRectangle.Bottom)); + Assert.That (pageHeader.SectionOffset,Is.EqualTo(Sut.ReportHeaderRectangle.Bottom + 1)); + } + #endregion #region MeasurePageFooter @@ -148,6 +138,7 @@ namespace ICSharpCode.Reports.Core.Test.Printing baseSection.Location = new Point (50,50); baseSection.Size = new Size (727,60); sectionBounds.MeasurePageFooter(baseSection); + //sectionBounds.MeasurePageFooter(Sut); Assert.AreEqual(baseSection.Size.Height, sectionBounds.PageFooterRectangle.Size.Height); @@ -234,5 +225,19 @@ namespace ICSharpCode.Reports.Core.Test.Printing ReportSettings rs = new ReportSettings(); Sut = new SectionBounds(rs,false); } + + BaseSection CreateSection() + { + var sec = new BaseSection(); + sec.Location = new Point (50,50); + sec.Size = new Size (727,60); + /* + sec.Items.Add (new BaseTextItem() + { + Text = "mytext"; + } + */ + return sec; + } } } From 8673fb979a6b9a094202c7a10432dda85470e2c8 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Mon, 4 Apr 2011 20:19:31 +0200 Subject: [PATCH 045/168] SinglePageFixture.cs --- .../Project/BaseClasses/SectionBounds.cs | 14 ++- .../Project/Exporter/DataPageBuilder.cs | 1 - .../Printing/SectionBoundFixture.cs | 106 ++++++++---------- .../Printing/SinglePageFixture.cs | 76 +++++++++---- 4 files changed, 114 insertions(+), 83 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs index 03c7d1585c..bb6d402b62 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs @@ -161,8 +161,13 @@ namespace ICSharpCode.Reports.Core.BaseClasses } // The reportFooter is set On Top of PageFooter +// this.reportFooterRectangle = new Rectangle (this.printableArea.Left, +// this.PageFooterRectangle.Top - section.Size.Height , +// this.marginBounds.Width, +// section.Size.Height); + this.reportFooterRectangle = new Rectangle (this.printableArea.Left, - this.PageFooterRectangle.Top - section.Size.Height - 3 * GlobalValues.GapBetweenContainer, + this.PageFooterRectangle.Top - section.Size.Height - GlobalValues.GapBetweenContainer, this.marginBounds.Width, section.Size.Height); section.SectionOffset = this.reportFooterRectangle.Top; @@ -235,9 +240,9 @@ namespace ICSharpCode.Reports.Core.BaseClasses { get { // return new Point(this.pageHeaderRectangle.Left, -// this.pageHeaderRectangle.Bottom + 3 * GlobalValues.GapBetweenContainer); +// this.pageHeaderRectangle.Bottom + 3 * ); return new Point(this.pageHeaderRectangle.Left, - this.pageHeaderRectangle.Bottom ); + this.pageHeaderRectangle.Bottom + GlobalValues.GapBetweenContainer ); } } @@ -246,7 +251,8 @@ namespace ICSharpCode.Reports.Core.BaseClasses public Point DetailEnds { get { - return new Point(this.pageFooterRectangle.Left,this.pageFooterRectangle.Top - 3 * GlobalValues.GapBetweenContainer); +// return new Point(this.pageFooterRectangle.Left,this.pageFooterRectangle.Top - 3 * GlobalValues.GapBetweenContainer); + return new Point(this.pageFooterRectangle.Left,this.pageFooterRectangle.Top - GlobalValues.GapBetweenContainer); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index fc629de1c7..181f60832e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -7,7 +7,6 @@ using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Events; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; -using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core.Exporter { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs index 0d88f75472..06c8a3108c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs @@ -105,7 +105,6 @@ namespace ICSharpCode.Reports.Core.Test.Printing } - [Test] public void PageHeader_Location_One_Point_Under_ReportHeader() { @@ -113,7 +112,7 @@ namespace ICSharpCode.Reports.Core.Test.Printing BaseSection pageHeader = CreateSection(); Sut.MeasureReportHeader(reportHeader); Sut.MeasurePageHeader(pageHeader); - Assert.That (pageHeader.SectionOffset,Is.GreaterThan(Sut.ReportHeaderRectangle.Bottom)); + Assert.That (pageHeader.SectionOffset,Is.EqualTo(Sut.ReportHeaderRectangle.Bottom + 1)); } @@ -134,21 +133,26 @@ namespace ICSharpCode.Reports.Core.Test.Printing { var setting = new ReportSettings(); SectionBounds sectionBounds = new SectionBounds(new ReportSettings(),true); - BaseSection baseSection = new BaseSection(); - baseSection.Location = new Point (50,50); - baseSection.Size = new Size (727,60); - sectionBounds.MeasurePageFooter(baseSection); - //sectionBounds.MeasurePageFooter(Sut); - Assert.AreEqual(baseSection.Size.Height, - sectionBounds.PageFooterRectangle.Size.Height); - - - Assert.AreEqual(sectionBounds.MarginBounds.Width, - sectionBounds.PageFooterRectangle.Width); - //int i = sectionBounds.PageSize.Height - setting.BottomMargin; - //Assert.AreEqual(i,sectionBounds.PageFooterRectangle.Location.Y); + BaseSection pageFootter = CreateSection(); + + sectionBounds.MeasurePageFooter(pageFootter); + Size expectedSize = pageFootter.Size; + + Assert.That(expectedSize,Is.EqualTo(sectionBounds.PageFooterRectangle.Size)); } + + [Test] + public void PageFooter_From_PageEnd_Uppward() + { + SectionBounds sectionBounds = new SectionBounds(new ReportSettings(),true); + BaseSection pageFootter = CreateSection(); + + sectionBounds.MeasurePageFooter(pageFootter); + int top = sectionBounds.MarginBounds.Bottom - pageFootter.Size.Height; + + Assert.That(sectionBounds.PageFooterRectangle.Top,Is.EqualTo(top)); + } #endregion #region MeasureReportFooter @@ -160,64 +164,56 @@ namespace ICSharpCode.Reports.Core.Test.Printing Sut.MeasureReportFooter(null); } + [Test] - public void MeasureReportFooterNoPageFooterCalculated() + public void ReportFooter_No_PageFooter_Is_Calculated() { SectionBounds sectionBounds = new SectionBounds(new ReportSettings(),true); - BaseSection baseSection = new BaseSection(); - baseSection.Location = new Point (50,50); - baseSection.Size = new Size (727,60); - sectionBounds.MeasureReportFooter(baseSection); - Assert.AreEqual(baseSection.Size.Height ,sectionBounds.ReportFooterRectangle.Size.Height); - - Assert.AreEqual(sectionBounds.MarginBounds.Width, - sectionBounds.ReportFooterRectangle.Width); + BaseSection reportFootter = CreateSection(); + sectionBounds.MeasureReportFooter(reportFootter); + Size expectedSize = reportFootter.Size; + Assert.That(sectionBounds.ReportFooterRectangle.Size,Is.EqualTo(expectedSize)); } - + [Test] public void MeasureReportFooterPageFooterIsCalculated() { SectionBounds sectionBounds = new SectionBounds(new ReportSettings(),true); - BaseSection baseSection = new BaseSection(); - baseSection.Location = new Point (50,50); - baseSection.Size = new Size (727,60); - sectionBounds.MeasurePageFooter(baseSection); - sectionBounds.MeasureReportFooter(baseSection); + BaseSection pageFootter = CreateSection(); + BaseSection reportFootter = CreateSection(); + + sectionBounds.MeasurePageFooter(pageFootter); + sectionBounds.MeasureReportFooter(reportFootter); + + int top = sectionBounds.MarginBounds.Bottom - pageFootter.Size.Height - reportFootter.Size.Height -1; + Assert.That(sectionBounds.ReportFooterRectangle.Top,Is.EqualTo(top)); - Assert.AreEqual(baseSection.Size.Height , sectionBounds.ReportFooterRectangle.Size.Height, - "ItemsCollection is empty, so Size.Height should be '0'"); - Assert.AreEqual(sectionBounds.MarginBounds.Width, - sectionBounds.ReportFooterRectangle.Width); } #endregion [Test] - public void DetailStart () + public void DetailStart_One_Below_PageHeader () { - /* + SectionBounds sectionBounds = new SectionBounds(new ReportSettings(),true); - BaseSection baseSection = new BaseSection(); - baseSection.Location = new Point (50,50); - baseSection.Size = new Size (727,60); - sectionBounds.MeasurePageHeader(baseSection); - Point p = new Point(sectionBounds.PageHeaderRectangle.Left,sectionBounds.PageHeaderRectangle.Bottom + sectionBounds.Gap ); - Assert.AreEqual(p,sectionBounds.DetailStart); - */ + BaseSection pageHeader = new BaseSection(); + + sectionBounds.MeasurePageHeader(pageHeader); + Point p = new Point(sectionBounds.PageHeaderRectangle.Left,sectionBounds.PageHeaderRectangle.Bottom +1 ); + Assert.That(sectionBounds.DetailStart,Is.EqualTo(p)); } [Test] - public void DetailEnds () + public void DetailEnds_One_Above_PageFootter () { - /* + SectionBounds sectionBounds = new SectionBounds(new ReportSettings(),true); - BaseSection baseSection = new BaseSection(); - baseSection.Location = new Point (50,50); - baseSection.Size = new Size (727,60); - sectionBounds.MeasurePageFooter(baseSection); - Point p = new Point(sectionBounds.PageFooterRectangle.Left,sectionBounds.PageFooterRectangle.Top - sectionBounds.Gap); - Assert.AreEqual(p,sectionBounds.DetailEnds); - */ + BaseSection pageFootter = CreateSection(); + + sectionBounds.MeasurePageFooter(pageFootter); + Point p = new Point(sectionBounds.PageFooterRectangle.Left,sectionBounds.PageFooterRectangle.Top -1); + Assert.That(sectionBounds.DetailEnds,Is.EqualTo(p)); } public override void Setup() @@ -231,12 +227,6 @@ namespace ICSharpCode.Reports.Core.Test.Printing var sec = new BaseSection(); sec.Location = new Point (50,50); sec.Size = new Size (727,60); - /* - sec.Items.Add (new BaseTextItem() - { - Text = "mytext"; - } - */ return sec; } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SinglePageFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SinglePageFixture.cs index 3e2c5b3eb4..c89ab0f554 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SinglePageFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SinglePageFixture.cs @@ -48,41 +48,77 @@ namespace ICSharpCode.Reports.Core.Test.Printing [Test] - public void Calculate_Page_If_Firstpage () + public void Calculate_ReportHeader () { - Size defSize = new Size (727,60); + + IReportModel model = ReportModel.Create(); + ISinglePage singlePage = CreateSinglePage(model,0); + singlePage.CalculatePageBounds(model); + + Point expectedLocation = new Point(model.ReportSettings.LeftMargin,model.ReportSettings.TopMargin); + Assert.That(singlePage.SectionBounds.ReportHeaderRectangle.Location,Is.EqualTo(expectedLocation)); + } + + + [Test] + public void Calculate_PageHeader () + { + + IReportModel model = ReportModel.Create(); + ISinglePage singlePage = CreateSinglePage(model,0); + singlePage.CalculatePageBounds(model); + + Point expectedLocation = new Point(model.ReportSettings.LeftMargin,model.ReportSettings.TopMargin + singlePage.SectionBounds.ReportHeaderRectangle.Size.Height + 1); + Assert.That(singlePage.SectionBounds.PageHeaderRectangle.Location,Is.EqualTo(expectedLocation)); + } + + + [Test] + public void Calculate_PageFooter () + { + IReportModel model = ReportModel.Create(); - model.ReportHeader.Size = defSize; + ISinglePage singlePage = CreateSinglePage(model,0); + singlePage.CalculatePageBounds(model); + + + Point expectedLocation = new Point(model.ReportSettings.LeftMargin, + model.ReportSettings.PageSize.Height - model.ReportSettings.BottomMargin - singlePage.SectionBounds.PageFooterRectangle.Height); + Assert.That(singlePage.SectionBounds.PageFooterRectangle.Location,Is.EqualTo(expectedLocation)); + } + + + IReportModel CreateModel () + { + Size defaultSectionSize = new Size (727,60); + IReportModel model = ReportModel.Create(); + model.ReportHeader.Size = defaultSectionSize; model.ReportHeader.Location = new Point(50,50); - model.PageHeader.Size = defSize; + model.PageHeader.Size = defaultSectionSize; model.PageHeader.Location = new Point(50,125); - model.DetailSection.Size = defSize; + model.DetailSection.Size = defaultSectionSize; model.DetailSection.Location = new Point(50,200); - model.PageFooter.Size = defSize; + model.PageFooter.Size = defaultSectionSize; model.ReportFooter.Location = new Point(50,275); - model.ReportFooter.Size = defSize; + model.ReportFooter.Size = defaultSectionSize; model.ReportFooter.Location = new Point(50,350); + return model; + } + + + ISinglePage CreateSinglePage(IReportModel model,int pageNumber) + { + Size defaultSectionSize = new Size (727,60); + var s = new SectionBounds(model.ReportSettings,true); - var s = new SectionBounds(new ReportSettings(),true); SinglePage sp = new SinglePage(s,0); - sp.CalculatePageBounds(model); - Console.WriteLine(); - Console.WriteLine("ReportHeader {0} - {1}",sp.SectionBounds.ReportHeaderRectangle,sp.SectionBounds.ReportHeaderRectangle.Location.Y + sp.SectionBounds.ReportHeaderRectangle.Height); - Console.WriteLine("PageHeader {0} - {1}",sp.SectionBounds.PageHeaderRectangle,sp.SectionBounds.PageHeaderRectangle.Location.Y +sp.SectionBounds.PageHeaderRectangle.Height ); - Console.WriteLine("DetailSection {0} - {1} ",sp.SectionBounds.DetailSectionRectangle,sp.SectionBounds.DetailSectionRectangle.Location.Y + sp.SectionBounds.DetailSectionRectangle.Height); - - Console.WriteLine("\tDetailStart {0} ",sp.SectionBounds.DetailStart); - Console.WriteLine("\tDetailEnd {0} ",sp.SectionBounds.DetailEnds); - Console.WriteLine("\tDetailArea {0} ",sp.SectionBounds.DetailArea); - Console.WriteLine("PageFooter {0} - {1} ",sp.SectionBounds.PageFooterRectangle,sp.SectionBounds.PageFooterRectangle.Location.Y + sp.SectionBounds.PageFooterRectangle.Height); - Console.WriteLine("ReportFooter {0} - {1}",sp.SectionBounds.ReportFooterRectangle,sp.SectionBounds.ReportFooterRectangle.Location.Y + sp.SectionBounds.ReportFooterRectangle.Height); - Console.WriteLine(); + return sp; } #region Setup/Teardown From 6f5a73c8b1b2d645cde0145d48375e7c732fe7c0 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 8 Apr 2011 20:33:59 +0200 Subject: [PATCH 046/168] Better WYSIWYG in sections (gap between Controls) --- .../Project/BaseClasses/SectionBounds.cs | 10 ++--- .../Project/Exporter/BasePager.cs | 40 ++++++++++++++----- 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs index bb6d402b62..0c8e9aa00b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs @@ -131,11 +131,11 @@ namespace ICSharpCode.Reports.Core.BaseClasses s.Height); - Console.WriteLine("---------------"); - Console.WriteLine("\tMeasureReprtHeader {0}",reportHeaderRectangle); - Console.WriteLine("\tMeasurePageHeader {0}",pageHeaderRectangle); - Console.WriteLine("\tDetailStart {0}",DetailStart); - Console.WriteLine("---------------"); +// Console.WriteLine("---------------"); +// Console.WriteLine("\tMeasureReprtHeader {0}",reportHeaderRectangle); +// Console.WriteLine("\tMeasurePageHeader {0}",pageHeaderRectangle); +// Console.WriteLine("\tDetailStart {0}",DetailStart); +// Console.WriteLine("---------------"); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 5444285462..1b2e2228e5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -2,7 +2,9 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using System.Collections.Generic; using System.Drawing; + using ICSharpCode.Reports.Core.BaseClasses; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Globals; @@ -91,42 +93,58 @@ namespace ICSharpCode.Reports.Core.Exporter Rectangle desiredRectangle = LayoutHelper.CalculateSectionLayout(this.Graphics,section); LayoutHelper.FixSectionLayout(desiredRectangle,section); + BaseReportItem oldItem = section.Items[0]; + + int gap = 0; + foreach (BaseReportItem item in section.Items) { - ISimpleContainer simpleContainer = item as ISimpleContainer; + ISimpleContainer simpleContainer = item as ISimpleContainer; + gap = CalculateGap (oldItem,item); + if (simpleContainer != null) { EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items); - + +// + Offset = new Point(Offset.X,Offset.Y + item.Size.Height + gap); var layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer); + /* + ExporterCollection xx = new ExporterCollection(); + var pp = BaseConverter.ConvertContainer(xx,simpleContainer,Offset.X,Offset); + */ ExportContainer exportContainer = ExportHelper.ConvertToContainer(simpleContainer,Offset); - + ExporterCollection exporterCollection = ExportHelper.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location); exportContainer.Items.AddRange(exporterCollection); - Offset = new Point(Offset.X,Offset.Y + exportContainer.StyleDecorator.Size.Height + GlobalValues.GapBetweenContainer); - - /* - Offset = ExportHelper.ConvertPlainCollection_2(exportContainer,simpleContainer.Items,Offset); - - */ convertedSection.Add(exportContainer); } else { + Offset = new Point(Offset.X,Offset.Y + gap); var converteditem = ExportHelper.ConvertLineItem(item,Offset); - Offset = new Point(Offset.X,Offset.Y + converteditem.StyleDecorator.Size.Height + GlobalValues.GapBetweenContainer); convertedSection.Add(converteditem); } -// section.Size = new Size(section.Size.Width,Offset.Y - section.SectionOffset); + oldItem = item; } } return convertedSection; } + + + int CalculateGap(BaseReportItem oldItem, BaseReportItem item) + { + var gap = item.Location.Y - (oldItem.Location.Y + oldItem.Size.Height) ; + if (gap < 0) { + gap = 0; + } + return gap; + } public static BaseRectangleItem CreateDebugItem (BaseReportItem item) From 5a813d01ba2d5509463131fb69bc04accd149bb0 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Wed, 13 Apr 2011 20:33:27 +0200 Subject: [PATCH 047/168] Patch from eric342 partial fixing: http://community.sharpdevelop.net/forums/t/13066.aspx --- .../ListStrategy/BaseListStrategy.cs | 6 +- .../Project/Exporter/BasePager.cs | 103 +++++++++++++++--- .../Project/Exporter/DataPageBuilder.cs | 15 +-- 3 files changed, 94 insertions(+), 30 deletions(-) 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 233077cd7f..7098db1d6f 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 @@ -84,8 +84,8 @@ namespace ICSharpCode.Reports.Core { IndexList childList = null; foreach (BaseComparer element in list) { - string v = element.ObjectArray[0].ToString(); - if (compVal != v) { + string groupValue = element.ObjectArray[0].ToString(); + if (compVal != groupValue) { childList = new IndexList(); GroupComparer gc = CreateGroupHeader(element); gc.IndexList = childList; @@ -93,7 +93,7 @@ namespace ICSharpCode.Reports.Core { } else { CreateGroupedChildren(childList,element); } - compVal = v; + compVal = groupValue; } //ShowIndexList(IndexList); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 1b2e2228e5..980d691a05 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -76,12 +76,12 @@ namespace ICSharpCode.Reports.Core.Exporter #region Converters - + protected ExporterCollection ConvertSection (BaseSection section,int dataRow) { FireSectionRenderEvent (section ,dataRow); PrintHelper.AdjustParent(section,section.Items); - + PrintHelper.AdjustSectionLocation(section); var convertedSection = new ExporterCollection(); Offset = new Point(section.Location.X,section.SectionOffset); @@ -95,8 +95,7 @@ namespace ICSharpCode.Reports.Core.Exporter BaseReportItem oldItem = section.Items[0]; - int gap = 0; - + int gap = oldItem.Location.Y; foreach (BaseReportItem item in section.Items) { @@ -107,20 +106,95 @@ namespace ICSharpCode.Reports.Core.Exporter { EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items); -// - Offset = new Point(Offset.X,Offset.Y + item.Size.Height + gap); var layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer); - /* - ExporterCollection xx = new ExporterCollection(); - var pp = BaseConverter.ConvertContainer(xx,simpleContainer,Offset.X,Offset); - */ - ExportContainer exportContainer = ExportHelper.ConvertToContainer(simpleContainer,Offset); + Offset = BaseConverter.ConvertContainer(convertedSection,simpleContainer,Offset.X,Offset); + Offset = new Point(Offset.X,Offset.Y + gap); + } + else + { + Offset = new Point(Offset.X,Offset.Y + gap); + var converteditem = ExportHelper.ConvertLineItem(item,Offset); + convertedSection.Add(converteditem); + } + oldItem = item; + } + } + return convertedSection; + } + +/* + +// protected ExporterCollection ConvertSection (BaseSection section,int dataRow) + private ExporterCollection bbConvertSection (BaseSection section,int dataRow) + { + FireSectionRenderEvent (section ,dataRow); + PrintHelper.AdjustParent(section,section.Items); + + var convertedSection = new ExporterCollection(); + Offset = new Point(section.Location.X,section.SectionOffset); + + if (section.Items.Count > 0) { + section.Items.SortByLocation(); + + IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); + var layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); + Console.WriteLine("start sec size {0}",section.Size); + Rectangle desiredRectangle = LayoutHelper.CalculateSectionLayout(this.Graphics,section); + LayoutHelper.FixSectionLayout(desiredRectangle,section); + Console.WriteLine("after sectionlayout sec size {0}",section.Size); + + Console.WriteLine(section.Name); + BaseReportItem oi = section.Items[0]; + var rr = oi.Location.Y; + +foreach (var element in section.Items) +{ + if (oi != element) { + rr = CalculateGap(oi,element); + } + Console.WriteLine(rr); + oi = element; +} + + + + BaseReportItem oldItem = section.Items[0]; + int gap = oldItem.Location.Y; + foreach (BaseReportItem item in section.Items) + { + ISimpleContainer simpleContainer = item as ISimpleContainer; + gap = CalculateGap (oldItem,item); + + if (simpleContainer != null) + { + EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items); + + Offset = new Point(Offset.X,Offset.Y + item.Size.Height + gap); +// var layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); + LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer); + +// Console.WriteLine("offset start {0}",Offset); + + http://stackoverflow.com/questions/4270541/how-can-i-determine-if-one-rectangle-is-completely-contained-within-another + Rectangle r2 = new Rectangle(0,0,section.Size.Width,section.Size.Height); +// Rectangle r2 = new Rectangle(section.Location,section.Size); + Rectangle ro = new Rectangle(simpleContainer.Location,simpleContainer.Size); + Console.WriteLine (r2.Contains(ro)); + Rectangle r3 = Rectangle.Union(r2,ro); + Rectangle r4 = Rectangle.Union(ro,r2); + ro.Intersect(r2); + if (!r2.Contains(ro)) { + /*section.Size = new Size (section.Size.Width,r3.Size.Height); + } + + + ExportContainer exportContainer = ExportHelper.ConvertToContainer(simpleContainer,Offset); +// Offset = new Point(Offset.X,Offset.Y + item.Size.Height + gap); ExporterCollection exporterCollection = ExportHelper.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location); exportContainer.Items.AddRange(exporterCollection); - convertedSection.Add(exportContainer); } @@ -133,9 +207,10 @@ namespace ICSharpCode.Reports.Core.Exporter oldItem = item; } } + Console.WriteLine("bbbb sec size {0} new size {1}",section.Size, new Size(section.Size.Width,Offset.Y)); return convertedSection; } - + */ int CalculateGap(BaseReportItem oldItem, BaseReportItem item) { @@ -228,7 +303,7 @@ namespace ICSharpCode.Reports.Core.Exporter } ExportText et = be as ExportText; - if (et != null) { + if ((et != null) && (!String.IsNullOrEmpty(et.Text))) { if (et.Text.StartsWith("=",StringComparison.InvariantCulture)) { et.Text = evaluatorFassade.Evaluate(et.Text); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index 181f60832e..183ccdf554 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -65,18 +65,11 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildReportHeader () { if ((base.Pages.Count == 0) && (base.ReportModel.ReportHeader.Items.Count > 0)) { - var s = base.ReportModel.ReportHeader; - Console.WriteLine("name <{0}>",s.Name); - Console.WriteLine("start section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); base.ReportModel.ReportHeader.SectionOffset = base.SinglePage.SectionBounds.ReportHeaderRectangle.Top; ExporterCollection convertedList = base.ConvertSection (base.ReportModel.ReportHeader,this.dataNavigator.CurrentRow); - base.SectionBounds.MeasurePageHeader(base.ReportModel.ReportHeader); - base.SinglePage.Items.AddRange(convertedList); -// Console.WriteLine("end section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); -// Console.WriteLine(); } } @@ -91,17 +84,13 @@ namespace ICSharpCode.Reports.Core.Exporter base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); -// Console.WriteLine("section after adjustparent {0} new size {1}",base.ReportModel.PageHeader.SectionOffset,ss); - ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow); - - Console.WriteLine("end section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); + base.SinglePage.Items.AddRange(convertedList); base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); - base.SinglePage.Items.AddRange(convertedList); - Console.WriteLine("aft-section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); + Console.WriteLine("Pageheader {0} - Detailstart {0}",SectionBounds.PageHeaderRectangle,SectionBounds.DetailStart); Console.WriteLine(); } From c5990bb05ca05f49c7c973b75dfe991e484b15bc Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Thu, 14 Apr 2011 20:34:37 +0200 Subject: [PATCH 048/168] Substring in expressions "=Substring('Sharp',3)"; or =Substring('Sharp',0,3); --- .../ICSharpCode.Reports.Core.csproj | 1 + .../BaseClasses/Printing/PrintHelper.cs | 2 - .../Project/Exporter/BasePager.cs | 16 +++- .../Compilation/Functions/Substring.cs | 37 +++++++++ .../ICSharpCode.Reports.Core.Test.csproj | 1 + .../IntegrationTests/SubstringFixture.cs | 79 +++++++++++++++++++ 6 files changed, 133 insertions(+), 3 deletions(-) create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/Substring.cs create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SubstringFixture.cs diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index dea9604f4e..55a01515ac 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -213,6 +213,7 @@ <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\Operators\UnaryOperator.cs" /> <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\ReportingService\UserId.cs" /> <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\ReportingService\UserLanguage.cs" /> + <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\Substring.cs" /> <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\Today.cs" /> <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\ToString.cs" /> <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\UnknownFunction.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs index ec830ebc5a..1d731a9e26 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs @@ -35,8 +35,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing } private static void AdjustParentInternal (ReportItemCollection items,ISimpleContainer parent) - - //private static void AdjustParentInternal (ReportItemCollection items,BaseReportItem parent) { foreach(BaseReportItem item in items) { item.Parent = parent as BaseReportItem; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 980d691a05..d8fffd8320 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -84,7 +84,7 @@ namespace ICSharpCode.Reports.Core.Exporter PrintHelper.AdjustSectionLocation(section); var convertedSection = new ExporterCollection(); Offset = new Point(section.Location.X,section.SectionOffset); - + if (section.Items.Count > 0) { section.Items.SortByLocation(); @@ -111,6 +111,20 @@ namespace ICSharpCode.Reports.Core.Exporter Offset = BaseConverter.ConvertContainer(convertedSection,simpleContainer,Offset.X,Offset); Offset = new Point(Offset.X,Offset.Y + gap); + + //section.Size = CalculatenewSectionSize + Rectangle rsec = new Rectangle(section.Location,section.Size); + Rectangle ro = new Rectangle(section.Location,simpleContainer.Size); + if (!rsec.Contains(ro)) { + + Rectangle rnew = new Rectangle(section.Location.X,section.Location.Y, + section.Size.Width , ro.Location.Y + ro.Size.Height +1); + Console.WriteLine ("{0}",rsec); + Console.WriteLine ("{0}",ro); + Console.WriteLine ("{0}",rnew); + Console.WriteLine(rnew.Contains(ro)); + } + } else { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/Substring.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/Substring.cs new file mode 100644 index 0000000000..c6c0030b3c --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/Substring.cs @@ -0,0 +1,37 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 14.04.2011 + * Time: 19:46 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; + +namespace SimpleExpressionEvaluator.Compilation.Functions +{ + /// <summary> + /// Description of Substring. + /// </summary> + public class Substring:Function<string> + { + protected override string EvaluateFunction(object[] args) + { + if (args.Length == 1) + { + return args[0].ToString(); + } + string str = args[0].ToString(); + if (args.Length == 2) { + var start = Convert.ToInt32(args[1]); + return str.Substring(start); + } + else if (args.Length == 3) { + var start = Convert.ToInt32(args[1]); + var len = Convert.ToInt32(args[2]); + return str.Substring(start,len); + } + throw new ArgumentException("Wrong number of Arguments"); + } + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj index ac0605e97a..c7af51019c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj @@ -96,6 +96,7 @@ <Compile Include="ReportingLanguage\IntegrationTests\FieldReferenceFixture.cs" /> <Compile Include="ReportingLanguage\IntegrationTests\GlobalFunctions.cs" /> <Compile Include="ReportingLanguage\IntegrationTests\SimpleCompilerFixture.cs" /> + <Compile Include="ReportingLanguage\IntegrationTests\SubstringFixture.cs" /> <Compile Include="ReportingLanguage\IntegrationTests\UserFunctionsFixture.cs" /> <Compile Include="ReportingLanguage\LanguageTests\AggregateFunctionsFixture.cs" /> <Compile Include="ReportingLanguage\LanguageTests\ConditionalFixture.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SubstringFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SubstringFixture.cs new file mode 100644 index 0000000000..f57a27ccb2 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SubstringFixture.cs @@ -0,0 +1,79 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 14.04.2011 + * Time: 19:39 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using ICSharpCode.Reports.Expressions.ReportingLanguage; +using NUnit.Framework; + +namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests +{ + [TestFixture] + public class SubstringFixture + { + + private IExpressionEvaluatorFacade evaluator; + + [Test] + public void Misspelled_Function_Returns_Expression() + { + string expression = "=Subxstring('Sharp',5)"; + Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo("Subxstring")); + } + + + [Test] + public void Wrong_Arg_Count_Return_First_Argument() + { + string expression = "=Substring('Sharp')"; + Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo("Sharp")); + } + + + [Test] + public void Substring_From_Start_To_End_Of_String() + { + string expression = "=Substring('Sharp',3)"; + Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo("rp")); + } + + + [Test] + public void Substring_From_Start_To_Len() + { + string expression = "=Substring('Sharp',0,3)"; + Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo("Sha")); + } + + + [Test] + public void Concat_Substring_With_SubString() + { + string expression = "=Substring('SharpDevelop',0,5) + '-' + Substring('SharpDevelop',5)"; + Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo("Sharp-Develop")); + } + + + [Test] + public void Too_Much_Args_returns_Err_Message() + { + string expression = "=Substring('Sharp',0,3,5)"; + Assert.That(this.evaluator.Evaluate(expression),Is.StringStarting("Wrong number")); + } + [TestFixtureSetUp] + public void Init() + { + this.evaluator = new ExpressionEvaluatorFacade(null); + } + + [TestFixtureTearDown] + public void Dispose() + { + // TODO: Add tear down code. + } + } +} From c993b477ff0c5253440c15d4d79fd5107bd76686 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 15 Apr 2011 20:58:34 +0200 Subject: [PATCH 049/168] Teport can display SubString with FieldReference like =Substring(Fields!ProductName,0,3) --- .../Project/BaseItems/BaseDataItem.cs | 2 - .../DataManager/ListStrategy/TableStrategy.cs | 53 +++++++++++++------ .../TableStragy/GroupTableFixture.cs | 2 - .../TableStragy/TableDataManagerFixture.cs | 30 ++++++++++- .../TableStragy/TableStrategyFixture.cs | 2 +- .../IntegrationTests/SubstringFixture.cs | 17 +++++- 6 files changed, 82 insertions(+), 24 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs index 8fd1231f9e..06c82eb550 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs @@ -71,7 +71,6 @@ namespace ICSharpCode.Reports.Core public override void Render(ReportPageEventArgs rpea) { -// string toPrint = CheckForNullValue(); base.Text = StandardFormatter.FormatOutput(DBValue, this.FormatString, base.DataType, this.NullValue); base.Render(rpea); } @@ -87,7 +86,6 @@ namespace ICSharpCode.Reports.Core [Browsable(false)] public virtual string DBValue {get;set;} - public virtual string ColumnName { get { return columnName; 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 5a44355fb3..efa16d28d1 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 @@ -7,7 +7,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Data; using System.Linq; - +using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core { /// <summary> @@ -16,6 +16,7 @@ namespace ICSharpCode.Reports.Core internal class TableStrategy: BaseListStrategy,IEnumerable<BaseComparer> { private DataTable table; + private IExpressionEvaluatorFacade expressionEvaluator; public TableStrategy(DataTable table,ReportSettings reportSettings):base(reportSettings) { @@ -23,6 +24,7 @@ namespace ICSharpCode.Reports.Core throw new ArgumentNullException("table"); } this.table = table; + expressionEvaluator = new ExpressionEvaluatorFacade (null); } #region Methods @@ -64,28 +66,49 @@ namespace ICSharpCode.Reports.Core void FillInternal (DataRow row,IDataItem item) { - BaseImageItem bi = item as BaseImageItem; - if (bi != null) { - using (System.IO.MemoryStream memStream = new System.IO.MemoryStream()){ - Byte[] val = row[bi.ColumnName] as Byte[]; - if (val != null) { - if ((val[78] == 66) && (val[79] == 77)){ - memStream.Write(val, 78, val.Length - 78); - } else { - memStream.Write(val, 0, val.Length); + if (item != null) + { + BaseImageItem bi = item as BaseImageItem; + if (bi != null) { + using (System.IO.MemoryStream memStream = new System.IO.MemoryStream()){ + Byte[] val = row[bi.ColumnName] as Byte[]; + if (val != null) { + if ((val[78] == 66) && (val[79] == 77)){ + memStream.Write(val, 78, val.Length - 78); + } else { + memStream.Write(val, 0, val.Length); + } + System.Drawing.Image image = System.Drawing.Image.FromStream(memStream); + bi.Image = image; } - System.Drawing.Image image = System.Drawing.Image.FromStream(memStream); - bi.Image = image; } } - } else { - if (item != null) { - item.DBValue = row[item.ColumnName].ToString(); + else + { + var dataItem = item as BaseDataItem; + if (dataItem != null) { + dataItem.DBValue = ExtractValue(row,dataItem).ToString(); + //dataItem.DBValue = row[dataItem.ColumnName].ToString(); + } return; } } } + object ExtractValue(DataRow row,BaseDataItem item) + { + var val = row[item.ColumnName]; + if (item.Text.StartsWith("=")) { +// string s = expressionEvaluator ( + return val; + } else { + return val; + } + return null; + } + + + public override CurrentItemsCollection FillDataRow(int pos) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs index 0f735b8775..fd35020a5c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs @@ -177,8 +177,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy private IDataNavigator PrepareDateTimeGrouping () { - Console.WriteLine("PrepareDateTimeGrouping ()"); - GroupColumn gc = new GroupColumn("RandomDate",1,ListSortDirection.Ascending); ReportSettings rs = new ReportSettings(); rs.GroupColumnsCollection.Add(gc); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs index ae6d6ebc87..5d062c461d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs @@ -139,8 +139,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy DataRow r = dataNav.Current as DataRow; string actual = r["last"].ToString(); Assert.GreaterOrEqual(compareTo,actual); -// string ss = String.Format("< {0} > <{1}>",compareTo,actual); -// Console.WriteLine(ss); compareTo = actual; } } @@ -148,6 +146,34 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy #endregion + #region Substring + + [Test] + public void EnumSubStrings() + { + ReportSettings rs = new ReportSettings(); + IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs); + DataNavigator dataNav = dm.GetNavigator; + BaseDataItem bdi = new BaseDataItem(){ + Name ="MyDataItem", + ColumnName = "last", + Text ="=Substring('Sharp',0,3)" + }; + var ri = new ReportItemCollection(); + ri.Add(bdi); + + while (dataNav.MoveNext()) + { + dataNav.Fill(ri); + DataRow r = dataNav.Current as DataRow; + string actual = r["first"].ToString(); + Console.WriteLine("{0} - {1} - {2}",actual,bdi.DBValue,bdi.Text); + Console.WriteLine("{0} - {1}",actual,actual.Substring(0,2)); + } + } + + + #endregion #region Standart Enumerator /* diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableStrategyFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableStrategyFixture.cs index 9d4f7f1879..0efa7e3d0e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableStrategyFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableStrategyFixture.cs @@ -134,7 +134,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy #endregion - #region Setup7TearDown + #region Setup/TearDown private ICSharpCode.Reports.Core.TableStrategy SortTableStrategyFactory (SortColumn sortColumn) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SubstringFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SubstringFixture.cs index f57a27ccb2..ae888ad527 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SubstringFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SubstringFixture.cs @@ -50,20 +50,33 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests } + [Test] + public void Substring_Result_Has_Correct_Length() + { + string expression = "=Substring('Sharp',0,3)"; + string val = this.evaluator.Evaluate(expression); + Assert.That(val.Length, Is.EqualTo(3)); + } + + [Test] public void Concat_Substring_With_SubString() { string expression = "=Substring('SharpDevelop',0,5) + '-' + Substring('SharpDevelop',5)"; Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo("Sharp-Develop")); } - - + + + [Test] public void Too_Much_Args_returns_Err_Message() { string expression = "=Substring('Sharp',0,3,5)"; Assert.That(this.evaluator.Evaluate(expression),Is.StringStarting("Wrong number")); } + + + [TestFixtureSetUp] public void Init() { From f022528c78ab36bb6497c12b23dc9d1a95c3e4ad Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Mon, 18 Apr 2011 20:33:17 +0200 Subject: [PATCH 050/168] Grouping can work with =Fields!FieldToGroup --- .../Project/ReportWizard/ReportStructure.cs | 11 ++- .../Project/BaseClasses/GroupColumn.cs | 1 + .../ListStrategy/BaseListStrategy.cs | 25 ++++++- .../DataManager/ListStrategy/TableStrategy.cs | 65 +++++++++++------- .../Expressions/ExpressionEvaluatorFacade.cs | 22 ++++++ .../ReportingService/FieldReference.cs | 67 ++++++++++++++----- .../Project/Interfaces/IDataViewStrategy.cs | 5 +- .../TableStragy/GroupTableFixture.cs | 29 ++++++++ .../TableStragy/TableDataManagerFixture.cs | 2 +- 9 files changed, 174 insertions(+), 53 deletions(-) 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 55ae3c94c7..514bd72058 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 @@ -62,8 +62,10 @@ namespace ICSharpCode.Reports.Addin.ReportWizard private void CreateGrouping(ReportSettings settings) { - if (!String.IsNullOrEmpty(this.Grouping)){ - GroupColumn g = new GroupColumn(Grouping,1,System.ComponentModel.ListSortDirection.Ascending); + if (!String.IsNullOrEmpty(this.Grouping)) + { + string s = "=Fields!" + this.Grouping; + GroupColumn g = new GroupColumn(s,1,System.ComponentModel.ListSortDirection.Ascending); settings.GroupColumnsCollection.Add(g); } } @@ -165,11 +167,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard this.queryParameters = null; } - -// if (this.SharpQueryProcedure != null) { -// this.SharpQueryProcedure = null; -// } - } // Release unmanaged resources. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/GroupColumn.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/GroupColumn.cs index 15d11f47e4..e2dc0039cf 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/GroupColumn.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/GroupColumn.cs @@ -37,5 +37,6 @@ namespace ICSharpCode.Reports.Core } } + public string GroupExpression {get;set;} } } 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 7098db1d6f..9d76b59f4e 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 @@ -8,6 +8,8 @@ using System.Collections.ObjectModel; using System.ComponentModel; using System.Linq; +using ICSharpCode.Reports.Expressions.ReportingLanguage; + /// <summary> /// BaseClass for all Datahandling Strategies /// </summary> @@ -51,6 +53,7 @@ namespace ICSharpCode.Reports.Core { } this.ReportSettings = reportSettings; this.IndexList = new IndexList("IndexList"); + ExpressionEvaluator = new ExpressionEvaluatorFacade (null); } #endregion @@ -84,7 +87,8 @@ namespace ICSharpCode.Reports.Core { IndexList childList = null; foreach (BaseComparer element in list) { - string groupValue = element.ObjectArray[0].ToString(); + string groupValue = ExtractValue (element); + if (compVal != groupValue) { childList = new IndexList(); GroupComparer gc = CreateGroupHeader(element); @@ -93,9 +97,24 @@ namespace ICSharpCode.Reports.Core { } else { CreateGroupedChildren(childList,element); } + compVal = groupValue; } - //ShowIndexList(IndexList); + ShowIndexList(IndexList); + } + + + string ExtractValue(BaseComparer element) + { + string val = String.Empty; + GroupColumn gc = element.ColumnCollection[0] as GroupColumn; + if (gc != null) { + val = element.ObjectArray[0].ToString(); + var ex = gc.GroupExpression; +// Console.WriteLine("{0} - {1}",val,ex); + var sss = ((ExpressionEvaluatorFacade)ExpressionEvaluator).Evaluate(ex,val); + } + return val; } @@ -246,6 +265,8 @@ namespace ICSharpCode.Reports.Core { public IndexList IndexList {get; set;} + public IExpressionEvaluatorFacade ExpressionEvaluator {get;private set;} + #endregion #region IDisposeable 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 efa16d28d1..9b836b0d0b 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 @@ -16,7 +16,6 @@ namespace ICSharpCode.Reports.Core internal class TableStrategy: BaseListStrategy,IEnumerable<BaseComparer> { private DataTable table; - private IExpressionEvaluatorFacade expressionEvaluator; public TableStrategy(DataTable table,ReportSettings reportSettings):base(reportSettings) { @@ -24,7 +23,7 @@ namespace ICSharpCode.Reports.Core throw new ArgumentNullException("table"); } this.table = table; - expressionEvaluator = new ExpressionEvaluatorFacade (null); + } #region Methods @@ -32,7 +31,6 @@ namespace ICSharpCode.Reports.Core public override void Bind() { base.Bind(); - if (base.ReportSettings.GroupColumnsCollection.Count > 0) { this.Group(); } else { @@ -88,31 +86,28 @@ namespace ICSharpCode.Reports.Core var dataItem = item as BaseDataItem; if (dataItem != null) { dataItem.DBValue = ExtractValue(row,dataItem).ToString(); - //dataItem.DBValue = row[dataItem.ColumnName].ToString(); } return; } } } + object ExtractValue(DataRow row,BaseDataItem item) { - var val = row[item.ColumnName]; - if (item.Text.StartsWith("=")) { -// string s = expressionEvaluator ( - return val; + object val = null; + + if (item.Text.StartsWith("=")) + { + return ((ExpressionEvaluatorFacade)base.ExpressionEvaluator).Evaluate(item.Text,row); } else { - return val; + return row[item.ColumnName];; } - return null; } - - public override CurrentItemsCollection FillDataRow(int pos) { - //this.table.Rows[pos]; DataRow row = (DataRow) CurrentFromPosition(pos); return FillCurrentRow(row); } @@ -170,11 +165,10 @@ namespace ICSharpCode.Reports.Core public override void Group () { base.Group(); - IndexList sortedIndexList = new IndexList("group"); - sortedIndexList = this.BuildSortIndex (ReportSettings.GroupColumnsCollection); + IndexList groupedIndexList = new IndexList("group"); + groupedIndexList = this.BuildSortIndex (ReportSettings.GroupColumnsCollection); // ShowIndexList(sortedIndexList); - BuildGroup(sortedIndexList); - + BuildGroup(groupedIndexList); } #endregion @@ -187,20 +181,18 @@ namespace ICSharpCode.Reports.Core for (int rowIndex = 0; rowIndex < this.table.Rows.Count; rowIndex++){ DataRow rowItem = this.table.Rows[rowIndex]; object[] values = new object[col.Count]; - for (int criteriaIndex = 0; criteriaIndex < col.Count; criteriaIndex++){ - AbstractColumn c = (AbstractColumn)col[criteriaIndex]; - object value = rowItem[c.ColumnName]; - - if (value != null && value != DBNull.Value){ - if (!(value is IComparable)){ - throw new InvalidOperationException(value.ToString()); - } - + for (int criteriaIndex = 0; criteriaIndex < col.Count; criteriaIndex++) + { + object value = ExtractColumnValue(rowItem,col,criteriaIndex); + + if (value != null && value != DBNull.Value) + { values[criteriaIndex] = value; } else { values[criteriaIndex] = DBNull.Value; } } + arrayList.Add(new SortComparer(col, rowIndex, values)); } @@ -216,6 +208,27 @@ namespace ICSharpCode.Reports.Core } + object ExtractColumnValue(DataRow row,ColumnCollection col, int criteriaIndex) + { + AbstractColumn c = (AbstractColumn)col[criteriaIndex]; + int pos = c.ColumnName.IndexOf("!"); + object val = null; + if (pos > 0) + { + val = ((ExpressionEvaluatorFacade)ExpressionEvaluator).Evaluate(c.ColumnName,row); + } + else + { + val = row[c.ColumnName]; + } + + if (!(val is IComparable)){ + throw new InvalidOperationException(val.ToString()); + } + return val; + } + + private IndexList IndexBuilder(SortColumnCollection col) { IndexList arrayList = new IndexList(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs index 5e6d74c7f1..92a87804dd 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs @@ -2,6 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using System.Data; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.Interfaces; using SimpleExpressionEvaluator; @@ -53,6 +54,27 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage return expression; } + public string Evaluate (string expression, object row) + { + try { + if (CanEvaluate(expression)) { + IExpression compiled = compiler.CompileExpression<string>(expression); + + this.context.ContextObject =row; + if (compiled != null) { + return (compiled.Evaluate(context)).ToString(); + } + } + } catch (Exception e) { + expression = e.Message; + Console.WriteLine(""); + Console.WriteLine("ExpressionEvaluatorFacade.Evaluate"); + Console.WriteLine(e.Message); + Console.WriteLine(""); + } + + return expression; + } private static bool CanEvaluate (string expressionn) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs index f2b23a99f7..2b1b939c9e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs @@ -7,6 +7,7 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; +using System.Data; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.BaseClasses; using ICSharpCode.Reports.Core.Globals; @@ -30,39 +31,73 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.ReportingService public override string Evaluate(SimpleExpressionEvaluator.Evaluation.IExpressionContext context) { - ISinglePage singlePage = context.ContextObject as SinglePage; Variable variable = Arguments[0] as Variable; + string retval = string.Empty; + ISinglePage singlePage = context.ContextObject as SinglePage; + + if (singlePage != null) + { + return ExtractValueFromSinglePage(ref variable, singlePage, ref retval); + } - if (singlePage.IDataNavigator.CurrentRow > -1) { + DataRow row = context.ContextObject as DataRow; + if (row != null) { + + return ExtractValueFromDataRow(ref variable, retval, row); + } + return variable.VariableName ; + } + + + string ExtractValueFromSinglePage(ref Variable variable, ISinglePage singlePage, ref string retval) + { + if (singlePage.IDataNavigator.CurrentRow > -1) + { var dataRow = singlePage.IDataNavigator.GetDataRow; var item = dataRow.Find(variable.VariableName); - - string retval; if (item != null) { retval = item.Value.ToString(); - } else - { + } else { retval = GlobalValues.UnkownFunctionMessage(variable.VariableName); - - Console.WriteLine(""); - Console.WriteLine("ExpressionEvaluatorFacade.FieldReference"); - Console.WriteLine("Field<{0}> not found",variable.VariableName); - Console.WriteLine(""); + WriteLogmessage(variable); } return retval; } - return variable.VariableName ; + return variable.VariableName; + } + + + string ExtractValueFromDataRow(ref Variable variable, string retval, DataRow row) + { + var item = row[variable.VariableName]; + if (item != null) { + retval = item.ToString(); + } else { + retval = GlobalValues.UnkownFunctionMessage(variable.VariableName); + WriteLogmessage(variable); + } + return retval; + } + + + void WriteLogmessage(Variable variable) + { + Console.WriteLine(""); + Console.WriteLine("ExpressionEvaluatorFacade.FieldReference"); + Console.WriteLine("Field<{0}> not found",variable.VariableName); + Console.WriteLine(""); } + protected override void AggregateValue(object value, AggregationState aggregationState, params object[] args) { } - protected override string ExtractAggregateValue(AggregationState aggregationState) - { - return aggregationState.GetValue<string>("value"); - } + protected override string ExtractAggregateValue(AggregationState aggregationState) + { + return aggregationState.GetValue<string>("value"); + } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs index 2b89ceabc7..95634cf677 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs @@ -5,6 +5,8 @@ using System; using System.Collections; using System.ComponentModel; +using ICSharpCode.Reports.Expressions.ReportingLanguage; + namespace ICSharpCode.Reports.Core{ public interface IDataViewStrategy:IEnumerator,IDisposable{ @@ -31,6 +33,7 @@ namespace ICSharpCode.Reports.Core{ int Count {get;} int CurrentPosition {get;set;} - + + IExpressionEvaluatorFacade ExpressionEvaluator {get;} } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs index fd35020a5c..d081bb4585 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs @@ -40,6 +40,34 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy Assert.That(availableFieldsCollection.Count,Is.GreaterThan(0)); } + #region Group by Expression + [Test] + public void Group_By_Substring() + { + GroupColumn gc = new GroupColumn("=Fields!first",1,ListSortDirection.Ascending); + gc.GroupExpression = "=Substring('first',0,3)"; + ReportSettings rs = new ReportSettings(); + rs.GroupColumnsCollection.Add(gc); + IDataManager dataManager = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs); + var dataNavigator = dataManager.GetNavigator; + while (dataNavigator.MoveNext()) { + if (dataNavigator.HasChildren) + { + var childNavigator = dataNavigator.GetChildNavigator; + do + { + Assert.That(dataNavigator.HasChildren,Is.True); + DataRow r = dataNavigator.Current as DataRow; +// string v2 = r["last"].ToString() + " GroupVal :" + r[3].ToString(); +// Console.WriteLine(v2); + } + while (childNavigator.MoveNext()); + } + } + } + + #endregion + #region Group by String [Test] @@ -168,6 +196,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy private IDataNavigator PrepareStringGrouping () { GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending); + gc.GroupExpression = "=Substring('GroupItem',0,5)"; ReportSettings rs = new ReportSettings(); rs.GroupColumnsCollection.Add(gc); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs index 5d062c461d..fee4b4bc35 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs @@ -149,7 +149,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy #region Substring [Test] - public void EnumSubStrings() + public void Enum_With_SubStrings() { ReportSettings rs = new ReportSettings(); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs); From 93a1727ed846570a994aecab5788ef11ee6b35cd Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 22 Apr 2011 20:28:12 +0200 Subject: [PATCH 051/168] move Expression Evaluation from 'Text' to 'Expression' Property in Text and DataItem --- .../TypeProviders/DataItemTypeProvider.cs | 3 ++ .../Generators/AbstractReportGenerator.cs | 4 +-- .../Project/ReportWizard/ReportStructure.cs | 4 +-- .../WizardPanels/PullModelPanel.cs | 24 ------------- .../Project/BaseItems/BaseDataItem.cs | 33 ++--------------- .../Project/DataManager/DataNavigator.cs | 6 ---- .../ListStrategy/BaseListStrategy.cs | 9 ++--- .../DataManager/ListStrategy/TableStrategy.cs | 22 ++++++++---- .../ReportingService/FieldReference.cs | 1 + .../TableStragy/GroupTableFixture.cs | 27 -------------- .../TableStragy/TableDataManagerFixture.cs | 35 ++++--------------- 11 files changed, 38 insertions(+), 130 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/DataItemTypeProvider.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/DataItemTypeProvider.cs index e9f760b363..26e447a63a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/DataItemTypeProvider.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/DataItemTypeProvider.cs @@ -81,6 +81,9 @@ namespace ICSharpCode.Reports.Addin.TypeProviders prop = props.Find("NullValue",true); allProperties.Add(prop); + prop = props.Find("Expression",true); + allProperties.Add(prop); + return new PropertyDescriptorCollection(allProperties.ToArray()); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs index 1e6bfa729d..9b018805b6 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs @@ -93,7 +93,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard foreach (ICSharpCode.Reports.Core.BaseSection s in ReportModel.SectionCollection) { s.Size = new Size(settings.PageSize.Width - settings.LeftMargin - settings.RightMargin, GlobalValues.DefaultSectionHeight); - Console.WriteLine("AdjustSectionToDefaul Size : {0}",s.Size); + Console.WriteLine("Adjust Section To DefaultSize : {0}",s.Size); } } @@ -101,7 +101,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard protected void WriteToXml () { - LoggingService.Debug("AbstractreportGenerator - Generate Xml friom RepotModel"); + LoggingService.Debug("AbstractReportGenerator - Generate Xml from RepotModel"); ReportDesignerWriter rpd = new ReportDesignerWriter(); StringWriterWithEncoding writer = new StringWriterWithEncoding(System.Text.Encoding.UTF8); 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 514bd72058..5dcff9427d 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 @@ -64,8 +64,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard { if (!String.IsNullOrEmpty(this.Grouping)) { - string s = "=Fields!" + this.Grouping; - GroupColumn g = new GroupColumn(s,1,System.ComponentModel.ListSortDirection.Ascending); + //string s = "=[" + this.Grouping + "]"; + GroupColumn g = new GroupColumn(this.Grouping,1,System.ComponentModel.ListSortDirection.Ascending); settings.GroupColumnsCollection.Add(g); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs index f9452aa30c..5f2ed7fc82 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs @@ -259,30 +259,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } } - - ///<summary> - /// We check if a ColumnName includes an "-" Character, - /// if so, suround it with []</summary> - ///<param name="SharpQueryNodeColumn">a ColumnNode</param> - /// <returns>a valid ColumnName</returns> - /* - private static string InferColumnName(string node) { - string colName; - if (node != null) { - if (node.IndexOf("-",StringComparison.Ordinal) > -1 ){ -// colName = node.Replace(".",".[") + "]"; - colName = "[" + node + "]"; - } else { - colName = node; - } - } else { - colName = String.Empty; - } - return colName; - } - */ - - // check witch type of node we dragg private static NodeType CheckCurrentNode (IDatabaseObjectBase node) { NodeType enm; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs index 06c82eb550..95dafd4e47 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs @@ -21,8 +21,6 @@ namespace ICSharpCode.Reports.Core public class BaseDataItem : BaseTextItem, IDataRenderer, IExportColumnBuilder, IDataItem { - private string columnName; - #region Constructor public BaseDataItem() : base() @@ -31,29 +29,12 @@ namespace ICSharpCode.Reports.Core public BaseDataItem(string columnName) : base() { - this.columnName = columnName; + this.ColumnName = columnName; } #endregion - #region privates - - /* - private string CheckForNullValue() - { - if (String.IsNullOrEmpty(this.dbValue)) { - if (String.IsNullOrEmpty(this.NullValue)) { - return GlobalValues.UnboundName; - } else - return this.NullValue; - } - - return this.dbValue; - } -*/ - - #endregion #region IExportColumnBuilder implementation @@ -86,16 +67,8 @@ namespace ICSharpCode.Reports.Core [Browsable(false)] public virtual string DBValue {get;set;} - public virtual string ColumnName { - get { - return columnName; - } - set { - columnName = value; - this.Text = this.columnName; - } - } - + public virtual string ColumnName {get;set;} + ///<summary> /// Mappingname to Datasource /// </summary> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs index 2952c5739c..bf73d16b98 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs @@ -63,12 +63,6 @@ namespace ICSharpCode.Reports.Core } - //public bool IsSorted {get {return this.store.IsSorted;}} - - - //public bool IsGrouped {get {return this.store.IsGrouped;}} - - public int CurrentRow { get {return this.store.CurrentPosition;} } 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 9d76b59f4e..1cab2717ae 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 @@ -93,11 +93,12 @@ namespace ICSharpCode.Reports.Core { childList = new IndexList(); GroupComparer gc = CreateGroupHeader(element); gc.IndexList = childList; - CreateGroupedChildren(childList,element); - } else { - CreateGroupedChildren(childList,element); +// CreateGroupedChildren(childList,element); } - +// else { +// CreateGroupedChildren(childList,element); +// } + CreateGroupedChildren(childList,element); compVal = groupValue; } ShowIndexList(IndexList); 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 9b836b0d0b..8ca47c41c0 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 @@ -95,17 +95,24 @@ namespace ICSharpCode.Reports.Core object ExtractValue(DataRow row,BaseDataItem item) { - object val = null; + string expression = String.Empty; - if (item.Text.StartsWith("=")) + if ((! String.IsNullOrEmpty(item.Expression)) && (item.Expression.StartsWith("="))) { + expression = item.Expression; + } else { - return ((ExpressionEvaluatorFacade)base.ExpressionEvaluator).Evaluate(item.Text,row); - } else { - return row[item.ColumnName];; + string colName = string.Empty; + if (!item.ColumnName.StartsWith ("=Fields")) { + expression = "=Fields!" + item.ColumnName; + } else { + expression = item.ColumnName; + } } + return ((ExpressionEvaluatorFacade)base.ExpressionEvaluator).Evaluate(expression,row); } - + + public override CurrentItemsCollection FillDataRow(int pos) { DataRow row = (DataRow) CurrentFromPosition(pos); @@ -211,8 +218,9 @@ namespace ICSharpCode.Reports.Core object ExtractColumnValue(DataRow row,ColumnCollection col, int criteriaIndex) { AbstractColumn c = (AbstractColumn)col[criteriaIndex]; - int pos = c.ColumnName.IndexOf("!"); object val = null; + int pos = c.ColumnName.IndexOf("!"); + if (pos > 0) { val = ((ExpressionEvaluatorFacade)ExpressionEvaluator).Evaluate(c.ColumnName,row); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs index 2b1b939c9e..d907349386 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs @@ -33,6 +33,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.ReportingService { Variable variable = Arguments[0] as Variable; string retval = string.Empty; + ISinglePage singlePage = context.ContextObject as SinglePage; if (singlePage != null) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs index d081bb4585..8deac2f485 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs @@ -40,33 +40,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy Assert.That(availableFieldsCollection.Count,Is.GreaterThan(0)); } - #region Group by Expression - [Test] - public void Group_By_Substring() - { - GroupColumn gc = new GroupColumn("=Fields!first",1,ListSortDirection.Ascending); - gc.GroupExpression = "=Substring('first',0,3)"; - ReportSettings rs = new ReportSettings(); - rs.GroupColumnsCollection.Add(gc); - IDataManager dataManager = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs); - var dataNavigator = dataManager.GetNavigator; - while (dataNavigator.MoveNext()) { - if (dataNavigator.HasChildren) - { - var childNavigator = dataNavigator.GetChildNavigator; - do - { - Assert.That(dataNavigator.HasChildren,Is.True); - DataRow r = dataNavigator.Current as DataRow; -// string v2 = r["last"].ToString() + " GroupVal :" + r[3].ToString(); -// Console.WriteLine(v2); - } - while (childNavigator.MoveNext()); - } - } - } - - #endregion #region Group by String diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs index fee4b4bc35..daab1ec216 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs @@ -100,8 +100,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs); DataNavigator dataNav = dm.GetNavigator; } - - + #region Sorting @@ -149,7 +148,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy #region Substring [Test] - public void Enum_With_SubStrings() + public void Expression_In_Text_Evaluate() { ReportSettings rs = new ReportSettings(); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs); @@ -157,7 +156,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy BaseDataItem bdi = new BaseDataItem(){ Name ="MyDataItem", ColumnName = "last", - Text ="=Substring('Sharp',0,3)" + Text ="=Substring(Fields!last,0,3)", + Expression ="=Substring(Fields!last,0,3)" }; var ri = new ReportItemCollection(); ri.Add(bdi); @@ -166,9 +166,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy { dataNav.Fill(ri); DataRow r = dataNav.Current as DataRow; - string actual = r["first"].ToString(); - Console.WriteLine("{0} - {1} - {2}",actual,bdi.DBValue,bdi.Text); - Console.WriteLine("{0} - {1}",actual,actual.Substring(0,2)); + string actual = r["last"].ToString(); + Assert.That(actual.Substring(0,3), Is.EqualTo(bdi.DBValue)); } } @@ -176,27 +175,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy #endregion #region Standart Enumerator - /* - [Test] - public void IEnumerableStartFromBegin () - { - IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table, - new ReportSettings()); - IDataNavigator dn = dm.GetNavigator; - IEnumerable ie = dn as IEnumerable; - IEnumerator en = ie.GetEnumerator(); - int start = 0; - en.MoveNext(); - do { - DataRow v = dn.Current as DataRow; - start ++; - } - while (dn.MoveNext()); - Assert.AreEqual(this.table.Rows.Count,start); - Assert.IsFalse(dn.HasMoreData); - } - */ - + [Test] public void EnumeratorStartFromBegin () { From ec021357b2e88b122db4cbc07795ed1e33ce16c3 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 24 Apr 2011 16:52:30 +0200 Subject: [PATCH 052/168] Expression Evaluation from 'Text' to 'Expression' Property in Text and DataItem --- .../Project/ReportItems/BaseTextItem.cs | 3 - .../Project/ReportWizard/ReportStructure.cs | 6 +- .../Project/BaseClasses/GroupColumn.cs | 3 +- .../ListStrategy/BaseListStrategy.cs | 7 -- .../ListStrategy/CollectionStrategy.cs | 3 +- .../DataManager/ListStrategy/TableStrategy.cs | 94 +++++++++---------- .../TableStragy/GroupTableFixture.cs | 1 - 7 files changed, 52 insertions(+), 65 deletions(-) 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 75db75a60f..379ed38c2f 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 @@ -133,10 +133,7 @@ namespace ICSharpCode.Reports.Addin [Browsable(true), Category("Databinding"), Description("Datatype of the underlying Column")] - - [DefaultValue("System.String")] - [TypeConverter(typeof(DataTypeStringConverter))] public string DataType {get;set;} 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 5dcff9427d..90256bff66 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 @@ -60,12 +60,14 @@ namespace ICSharpCode.Reports.Addin.ReportWizard return model; } + private void CreateGrouping(ReportSettings settings) { if (!String.IsNullOrEmpty(this.Grouping)) { - //string s = "=[" + this.Grouping + "]"; - GroupColumn g = new GroupColumn(this.Grouping,1,System.ComponentModel.ListSortDirection.Ascending); + string s = "=[" + this.Grouping + "]"; + //GroupColumn g = new GroupColumn(this.Grouping,1,System.ComponentModel.ListSortDirection.Ascending); + GroupColumn g = new GroupColumn(s,1,System.ComponentModel.ListSortDirection.Ascending); settings.GroupColumnsCollection.Add(g); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/GroupColumn.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/GroupColumn.cs index e2dc0039cf..2152dfa163 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/GroupColumn.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/GroupColumn.cs @@ -36,7 +36,6 @@ namespace ICSharpCode.Reports.Core return groupLevel; } } - - public string GroupExpression {get;set;} + } } 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 1cab2717ae..e84a20f380 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 @@ -93,11 +93,7 @@ namespace ICSharpCode.Reports.Core { childList = new IndexList(); GroupComparer gc = CreateGroupHeader(element); gc.IndexList = childList; -// CreateGroupedChildren(childList,element); } -// else { -// CreateGroupedChildren(childList,element); -// } CreateGroupedChildren(childList,element); compVal = groupValue; } @@ -111,9 +107,6 @@ namespace ICSharpCode.Reports.Core { GroupColumn gc = element.ColumnCollection[0] as GroupColumn; if (gc != null) { val = element.ObjectArray[0].ToString(); - var ex = gc.GroupExpression; -// Console.WriteLine("{0} - {1}",val,ex); - var sss = ((ExpressionEvaluatorFacade)ExpressionEvaluator).Evaluate(ex,val); } return val; } 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 6b90ae174d..d86b13df97 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 @@ -277,7 +277,7 @@ namespace ICSharpCode.Reports.Core { } - #region test + public override object CurrentFromPosition (int pos) { @@ -340,7 +340,6 @@ namespace ICSharpCode.Reports.Core { return ci; } - #endregion #region IDisposable 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 8ca47c41c0..9e9b053edd 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 @@ -13,7 +13,8 @@ namespace ICSharpCode.Reports.Core /// <summary> /// Description of TableStrategy. /// </summary> - internal class TableStrategy: BaseListStrategy,IEnumerable<BaseComparer> + + internal class TableStrategy: BaseListStrategy { private DataTable table; @@ -85,32 +86,24 @@ namespace ICSharpCode.Reports.Core { var dataItem = item as BaseDataItem; if (dataItem != null) { - dataItem.DBValue = ExtractValue(row,dataItem).ToString(); + dataItem.DBValue = ExtractDBValue(row,dataItem).ToString(); } return; } } } - - object ExtractValue(DataRow row,BaseDataItem item) + object ExtractDBValue(DataRow row,BaseDataItem item) { string expression = String.Empty; - - if ((! String.IsNullOrEmpty(item.Expression)) && (item.Expression.StartsWith("="))) { - expression = item.Expression; - } else + if ((!String.IsNullOrEmpty(item.Expression)) && (item.Expression.StartsWith("="))) { + return ExtractFromExpression(item.Expression, row); + } + else { - string colName = string.Empty; - if (!item.ColumnName.StartsWith ("=Fields")) { - expression = "=Fields!" + item.ColumnName; - } else { - expression = item.ColumnName; - } + return DBValueFromRow(row, item.ColumnName); } - return ((ExpressionEvaluatorFacade)base.ExpressionEvaluator).Evaluate(expression,row); } - public override CurrentItemsCollection FillDataRow(int pos) @@ -142,6 +135,8 @@ namespace ICSharpCode.Reports.Core } return ci; } + + public override bool MoveNext() { return base.MoveNext(); @@ -154,7 +149,6 @@ namespace ICSharpCode.Reports.Core } - public override void Sort() { base.Sort(); @@ -191,7 +185,7 @@ namespace ICSharpCode.Reports.Core for (int criteriaIndex = 0; criteriaIndex < col.Count; criteriaIndex++) { object value = ExtractColumnValue(rowItem,col,criteriaIndex); - + if (value != null && value != DBNull.Value) { values[criteriaIndex] = value; @@ -215,25 +209,48 @@ namespace ICSharpCode.Reports.Core } + + object ExtractColumnValue(DataRow row,ColumnCollection col, int criteriaIndex) { AbstractColumn c = (AbstractColumn)col[criteriaIndex]; object val = null; - int pos = c.ColumnName.IndexOf("!"); + val = DBValueFromRow(row,c.ColumnName); + +// if (!(val is IComparable)){ +// throw new InvalidOperationException(val.ToString()); +// } + return val; + } - if (pos > 0) - { - val = ((ExpressionEvaluatorFacade)ExpressionEvaluator).Evaluate(c.ColumnName,row); + + string CleanupColumnName(string colName) + { + if (colName.StartsWith("=[")) { + return colName.Substring(2, colName.Length - 3); } - else + return colName; + } + + + object DBValueFromRow(DataRow row, string colName) + { + int pos = colName.IndexOf("!"); + if (pos > 0) { - val = row[c.ColumnName]; - } - - if (!(val is IComparable)){ - throw new InvalidOperationException(val.ToString()); + return ExtractFromExpression(colName,row); + + } else { + var expression = CleanupColumnName(colName); + return row[expression]; } - return val; + } + + + object ExtractFromExpression(string expression, DataRow row) + { + var v = ((ExpressionEvaluatorFacade)base.ExpressionEvaluator).Evaluate(expression, row); + return v; } @@ -248,30 +265,11 @@ namespace ICSharpCode.Reports.Core } - #region Test - - public override object CurrentFromPosition (int pos) { return this.table.Rows[pos]; } - #endregion - - - #region IEnumerable<BaseComparer> - - IEnumerator IEnumerable.GetEnumerator() - { - return((IEnumerable<BaseComparer>)this).GetEnumerator(); - } - - IEnumerator<BaseComparer> IEnumerable<BaseComparer>.GetEnumerator() - { - IEnumerable<BaseComparer> e = (IEnumerable<BaseComparer>)base.IndexList; - return e.GetEnumerator(); - } - #endregion #region Propertys diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs index 8deac2f485..e4aea2a60b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs @@ -169,7 +169,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy private IDataNavigator PrepareStringGrouping () { GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending); - gc.GroupExpression = "=Substring('GroupItem',0,5)"; ReportSettings rs = new ReportSettings(); rs.GroupColumnsCollection.Add(gc); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs); From 713430f6bae8b1b627c74e53badae0e850354dff Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 24 Apr 2011 19:11:58 +0200 Subject: [PATCH 053/168] Cleanup - FxCop --- .../ListStrategy/BaseListStrategy.cs | 2 +- .../DataManager/ListStrategy/TableStrategy.cs | 35 +++++++------- .../Project/Exporter/BasePager.cs | 2 +- .../Project/Exporter/DataPageBuilder.cs | 4 +- .../Project/Exporter/ExportHelper.cs | 4 +- .../Project/Expressions/EvaluationHelper.cs | 48 +++++++++---------- .../Expressions/ExpressionEvaluatorFacade.cs | 32 +++++-------- .../Utilities/PropertyPath.cs | 2 +- .../Project/Globals/GlobalLists.cs | 2 +- .../Project/Printing/AbstractRenderer.cs | 1 - .../Project/Printing/RendererFactory.cs | 2 +- 11 files changed, 64 insertions(+), 70 deletions(-) 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 e84a20f380..e68943148e 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 @@ -101,7 +101,7 @@ namespace ICSharpCode.Reports.Core { } - string ExtractValue(BaseComparer element) + static string ExtractValue(BaseComparer element) { string val = String.Empty; GroupColumn gc = element.ColumnCollection[0] as GroupColumn; 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 9e9b053edd..fbf66f01f2 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 @@ -95,8 +95,7 @@ namespace ICSharpCode.Reports.Core object ExtractDBValue(DataRow row,BaseDataItem item) { - string expression = String.Empty; - if ((!String.IsNullOrEmpty(item.Expression)) && (item.Expression.StartsWith("="))) { + if ((!String.IsNullOrEmpty(item.Expression)) && (item.Expression.StartsWith("=",StringComparison.InvariantCultureIgnoreCase))) { return ExtractFromExpression(item.Expression, row); } else @@ -163,6 +162,17 @@ namespace ICSharpCode.Reports.Core } + private IndexList IndexBuilder(SortColumnCollection col) + { + IndexList arrayList = new IndexList(); + for (int rowIndex = 0; rowIndex < this.table.Rows.Count; rowIndex++){ + object[] values = new object[1]; + arrayList.Add(new SortComparer(col, rowIndex, values)); + } + return arrayList; + } + + public override void Group () { base.Group(); @@ -211,7 +221,7 @@ namespace ICSharpCode.Reports.Core - object ExtractColumnValue(DataRow row,ColumnCollection col, int criteriaIndex) + object ExtractColumnValue(DataRow row,ColumnCollection col, int criteriaIndex) { AbstractColumn c = (AbstractColumn)col[criteriaIndex]; object val = null; @@ -224,9 +234,9 @@ namespace ICSharpCode.Reports.Core } - string CleanupColumnName(string colName) + static string CleanupColumnName(string colName) { - if (colName.StartsWith("=[")) { + if (colName.StartsWith("=[",StringComparison.InvariantCulture)) { return colName.Substring(2, colName.Length - 3); } return colName; @@ -235,7 +245,7 @@ namespace ICSharpCode.Reports.Core object DBValueFromRow(DataRow row, string colName) { - int pos = colName.IndexOf("!"); + int pos = colName.IndexOf("!",StringComparison.InvariantCultureIgnoreCase); if (pos > 0) { return ExtractFromExpression(colName,row); @@ -253,18 +263,7 @@ namespace ICSharpCode.Reports.Core return v; } - - private IndexList IndexBuilder(SortColumnCollection col) - { - IndexList arrayList = new IndexList(); - for (int rowIndex = 0; rowIndex < this.table.Rows.Count; rowIndex++){ - object[] values = new object[1]; - arrayList.Add(new SortComparer(col, rowIndex, values)); - } - return arrayList; - } - - + public override object CurrentFromPosition (int pos) { return this.table.Rows[pos]; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index d8fffd8320..e1efb73097 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -226,7 +226,7 @@ foreach (var element in section.Items) } */ - int CalculateGap(BaseReportItem oldItem, BaseReportItem item) + static int CalculateGap(BaseReportItem oldItem, BaseReportItem item) { var gap = item.Location.Y - (oldItem.Location.Y + oldItem.Size.Height) ; if (gap < 0) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index 183ccdf554..1ee53b252f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -64,8 +64,8 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildReportHeader () { - if ((base.Pages.Count == 0) && (base.ReportModel.ReportHeader.Items.Count > 0)) { - var s = base.ReportModel.ReportHeader; + if ((base.Pages.Count == 0) && (base.ReportModel.ReportHeader.Items.Count > 0)) + { base.ReportModel.ReportHeader.SectionOffset = base.SinglePage.SectionBounds.ReportHeaderRectangle.Top; ExporterCollection convertedList = base.ConvertSection (base.ReportModel.ReportHeader,this.dataNavigator.CurrentRow); base.SectionBounds.MeasurePageHeader(base.ReportModel.ReportHeader); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs index 4b35380b97..b03855da71 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs @@ -60,7 +60,7 @@ namespace ICSharpCode.Reports.Core.Project.Exporter return col; } - + /* public static Point ConvertPlainCollection_2 (ExportContainer container,ReportItemCollection items,Point offset) { if (items == null) { @@ -90,6 +90,8 @@ namespace ICSharpCode.Reports.Core.Project.Exporter return offset; } + */ + public static ExportContainer ConvertToContainer (ISimpleContainer container,Point offset) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs index 70635380e2..8c0d7caa74 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs @@ -44,39 +44,39 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage public static void EvaluateReportItems (IExpressionEvaluatorFacade evaluator,ReportItemCollection items) { - try { - foreach(BaseReportItem column in items) { - var container = column as ISimpleContainer ; - if (container != null) { - EvaluateReportItems(evaluator,container.Items); - } - BaseTextItem textItem = column as BaseTextItem; - if (textItem != null) { - textItem.Text = evaluator.Evaluate(textItem.Text); - } + foreach(BaseReportItem column in items) { + var container = column as ISimpleContainer ; + if (container != null) { + EvaluateReportItems(evaluator,container.Items); + } + BaseTextItem textItem = column as BaseTextItem; + if (textItem != null) { + textItem.Text = evaluator.Evaluate(textItem.Text); } - } catch (Exception) { - throw ; } } public static void EvaluateRow(IExpressionEvaluatorFacade evaluator,ExporterCollection row) { - try { - foreach (BaseExportColumn column in row) { - var container = column as IExportContainer; - if (container != null) { - EvaluateRow(evaluator,container.Items); - } - ExportText textItem = column as ExportText; - if (textItem != null) { - textItem.Text = evaluator.Evaluate(textItem.Text); - } + foreach (BaseExportColumn column in row) { + var container = column as IExportContainer; + if (container != null) { + EvaluateRow(evaluator,container.Items); + } + ExportText textItem = column as ExportText; + if (textItem != null) { + textItem.Text = evaluator.Evaluate(textItem.Text); } - } catch (Exception) { - throw ; } } + + public static bool CanEvaluate (string expressionn) + { + if ((!String.IsNullOrEmpty(expressionn)) && (expressionn.StartsWith("=",StringComparison.InvariantCultureIgnoreCase))) { + return true; + } + return false; + } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs index 92a87804dd..edf4f99faa 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs @@ -19,7 +19,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage private ReportingLanguageCompiler compiler; private ExpressionContext context; private IPageInfo singlePage; - + public ExpressionEvaluatorFacade(IPageInfo pageInfo) { @@ -35,7 +35,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage public string Evaluate (string expression) { try { - if (CanEvaluate(expression)) { + if (EvaluationHelper.CanEvaluate(expression)) { IExpression compiled = compiler.CompileExpression<string>(expression); this.context.ContextObject = this.SinglePage; @@ -45,19 +45,24 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage } } catch (Exception e) { expression = e.Message; - Console.WriteLine(""); - Console.WriteLine("ExpressionEvaluatorFacade.Evaluate"); - Console.WriteLine(e.Message); - Console.WriteLine(""); + WriteLogMessage(e); } return expression; } + + static void WriteLogMessage(Exception e) + { + Console.WriteLine(""); + Console.WriteLine("ExpressionEvaluatorFacade.Evaluate"); + Console.WriteLine(e.Message); + Console.WriteLine(""); + } public string Evaluate (string expression, object row) { try { - if (CanEvaluate(expression)) { + if (EvaluationHelper.CanEvaluate(expression)) { IExpression compiled = compiler.CompileExpression<string>(expression); this.context.ContextObject =row; @@ -67,23 +72,12 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage } } catch (Exception e) { expression = e.Message; - Console.WriteLine(""); - Console.WriteLine("ExpressionEvaluatorFacade.Evaluate"); - Console.WriteLine(e.Message); - Console.WriteLine(""); + WriteLogMessage(e); } return expression; } - private static bool CanEvaluate (string expressionn) - { - if ((!String.IsNullOrEmpty(expressionn)) && (expressionn.StartsWith("="))) { - return true; - } - return false; - } - private void FunctionStore (object sender,SimpleExpressionEvaluator.Evaluation.UnknownFunctionEventArgs e) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Utilities/PropertyPath.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Utilities/PropertyPath.cs index 71763f4a43..c0f8a0b83f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Utilities/PropertyPath.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Utilities/PropertyPath.cs @@ -23,7 +23,7 @@ namespace SimpleExpressionEvaluator.Utilities if (target == null && _rootIsStatic == false) return null; - Type s = target.GetType(); +// Type s = target.GetType(); if (target != null && _rootType.IsAssignableFrom(target.GetType()) == false) return null; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs index ad90812056..917c24f334 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs @@ -14,7 +14,7 @@ namespace ICSharpCode.Reports.Core.Globals /// <summary> /// Description of GlobalLists. /// </summary> - public class GlobalLists + public static class GlobalLists { public enum FunctionTypes { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractRenderer.cs index 6d0d5238b5..2815dafd5b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractRenderer.cs @@ -205,7 +205,6 @@ namespace ICSharpCode.Reports.Core protected virtual Point RenderSection (ReportPageEventArgs rpea) { - Point currentPosition = Point.Empty; this.CurrentSection.Render (rpea); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs index ca65473127..567bf6a958 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs @@ -15,7 +15,7 @@ namespace ICSharpCode.Reports.Core /// <summary> /// Description of RendererFactory. /// </summary> - public class PrintRendererFactory + public static class PrintRendererFactory { public static IBaseRenderer CreateRenderer (BaseReportItem itemToConvert,IDataNavigator dataNavigator, From c65373536a42c2047443c81d63f685c14d6003fb Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 24 Apr 2011 20:07:47 +0200 Subject: [PATCH 054/168] Expression Property make use of TextEditor in PropertyGrid --- .../Project/ReportItems/BaseTextItem.cs | 3 ++- .../Project/Expressions/EvaluationHelper.cs | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) 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 379ed38c2f..dccb269c64 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 @@ -144,7 +144,8 @@ namespace ICSharpCode.Reports.Addin [Browsable(true), Category("Expression"), Description("Enter a valid Expression")] - + [EditorAttribute(typeof(DefaultTextEditor), + typeof(System.Drawing.Design.UITypeEditor) )] public string Expression {get;set;} #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs index 8c0d7caa74..51f7cac238 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs @@ -56,6 +56,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage } } + public static void EvaluateRow(IExpressionEvaluatorFacade evaluator,ExporterCollection row) { foreach (BaseExportColumn column in row) { From 7c8be3ceb38545dd5421977ae77f72d926f16868 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Tue, 26 Apr 2011 20:45:09 +0200 Subject: [PATCH 055/168] cleanup --- .../ListStrategy/CollectionStrategy.cs | 1 - .../DataManager/ListStrategy/TableStrategy.cs | 14 ++++++-------- .../Project/Exporter/BasePager.cs | 16 ++++++++++++---- .../Project/Exporter/Converters/BaseConverter.cs | 4 ---- .../Exporter/Converters/GroupedRowConverter.cs | 1 - .../Exporter/Converters/GroupedTableConverter.cs | 1 - .../Project/Exporter/ExportHelper.cs | 4 +--- .../Expressions/ExpressionEvaluatorFacade.cs | 2 -- .../Expressions/IExpressionEvaluatorFacade.cs | 1 + 9 files changed, 20 insertions(+), 24 deletions(-) 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 d86b13df97..481deb0ae2 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 @@ -278,7 +278,6 @@ namespace ICSharpCode.Reports.Core { - public override object CurrentFromPosition (int pos) { return this.baseList[pos]; 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 fbf66f01f2..830796f659 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 @@ -2,12 +2,11 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Collections; using System.Collections.Generic; -using System.Collections.ObjectModel; using System.Data; -using System.Linq; + using ICSharpCode.Reports.Expressions.ReportingLanguage; + namespace ICSharpCode.Reports.Core { /// <summary> @@ -93,9 +92,10 @@ namespace ICSharpCode.Reports.Core } } + object ExtractDBValue(DataRow row,BaseDataItem item) { - if ((!String.IsNullOrEmpty(item.Expression)) && (item.Expression.StartsWith("=",StringComparison.InvariantCultureIgnoreCase))) { + if (EvaluationHelper.CanEvaluate(item.Expression)) { return ExtractFromExpression(item.Expression, row); } else @@ -219,9 +219,7 @@ namespace ICSharpCode.Reports.Core } - - - object ExtractColumnValue(DataRow row,ColumnCollection col, int criteriaIndex) + object ExtractColumnValue(DataRow row,ColumnCollection col, int criteriaIndex) { AbstractColumn c = (AbstractColumn)col[criteriaIndex]; object val = null; @@ -259,7 +257,7 @@ namespace ICSharpCode.Reports.Core object ExtractFromExpression(string expression, DataRow row) { - var v = ((ExpressionEvaluatorFacade)base.ExpressionEvaluator).Evaluate(expression, row); + var v = base.ExpressionEvaluator.Evaluate(expression, row); return v; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index e1efb73097..fe4b27560e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -2,14 +2,11 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Collections.Generic; using System.Drawing; - using ICSharpCode.Reports.Core.BaseClasses; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; -using ICSharpCode.Reports.Core.Project.Exporter; using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core.Exporter @@ -315,13 +312,24 @@ foreach (var element in section.Items) EvaluateRecursive(evaluatorFassade,ec.Items); } } + /* + IReportExpression expr = be as IReportExpression; + if (expr != null) + { + if (EvaluationHelper.CanEvaluate(expr.Text)) { + expr.Text = evaluatorFassade.Evaluate(expr.Text); + } + } + */ + ExportText et = be as ExportText; if ((et != null) && (!String.IsNullOrEmpty(et.Text))) { - if (et.Text.StartsWith("=",StringComparison.InvariantCulture)) { + if (EvaluationHelper.CanEvaluate(et.Text)) { et.Text = evaluatorFassade.Evaluate(et.Text); } } + } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index 49f305b915..b0ee5968f0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -2,16 +2,12 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Collections.ObjectModel; using System.Drawing; -using System.Linq; - using ICSharpCode.Reports.Core.BaseClasses; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Events; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; -using ICSharpCode.Reports.Core.Project.Exporter; using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core.Exporter diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index b2dbc42a33..d2b3151c25 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -6,7 +6,6 @@ using System.Drawing; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; -using ICSharpCode.Reports.Core.Project.Exporter; using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core.Exporter diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs index 1f4747bd26..d41b786b82 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs @@ -9,7 +9,6 @@ using System.Linq; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; -using ICSharpCode.Reports.Core.Project.Exporter; using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core.Exporter diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs index b03855da71..592970b609 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs @@ -9,11 +9,9 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.BaseClasses.Printing; -using ICSharpCode.Reports.Core.Exporter; -using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; -namespace ICSharpCode.Reports.Core.Project.Exporter +namespace ICSharpCode.Reports.Core.Exporter { /// <summary> /// Description of ExportHelper. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs index edf4f99faa..fd2fe5fb68 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs @@ -2,8 +2,6 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Data; -using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.Interfaces; using SimpleExpressionEvaluator; using SimpleExpressionEvaluator.Evaluation; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/IExpressionEvaluatorFacade.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/IExpressionEvaluatorFacade.cs index 7870167d7d..43ef8adc63 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/IExpressionEvaluatorFacade.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/IExpressionEvaluatorFacade.cs @@ -13,6 +13,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage public interface IExpressionEvaluatorFacade { string Evaluate (string expression); + string Evaluate (string expression, object row); IPageInfo SinglePage {get;set;} } } From afcca115503df7e9ad1659f626f8f4cfdb387d4b Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sat, 30 Apr 2011 20:11:18 +0200 Subject: [PATCH 056/168] ExportText is based on IReportExpression, Evaluation is done on Fields 'Expression' and 'Text'. 'Expression' precedes 'Text' --- .../Project/BaseItems/BaseTextItem.cs | 1 + .../Project/Exporter/BasePager.cs | 25 +++--------- .../Exporter/Decorators/TextStyleDecorator.cs | 1 - .../Exporter/ExportColumns/ExportText.cs | 26 ++++-------- .../Project/Expressions/EvaluationHelper.cs | 39 +++++++++++++----- .../Expressions/ExpressionEvaluatorFacade.cs | 40 ++++++++++--------- 6 files changed, 65 insertions(+), 67 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs index 8b0dc34e53..ce13240666 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs @@ -41,6 +41,7 @@ namespace ICSharpCode.Reports.Core TextStyleDecorator st = this.CreateItemStyle(); ExportText item = new ExportText(st,false); item.Text = this.text; + item.Expression = this.Expression; return item; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index fe4b27560e..1f1659b4d1 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -303,33 +303,20 @@ foreach (var element in section.Items) private static void EvaluateRecursive (IExpressionEvaluatorFacade evaluatorFassade,ExporterCollection items) { - foreach (BaseExportColumn be in items) { + foreach (BaseExportColumn exportColumn in items) { - IExportContainer ec = be as IExportContainer; + IExportContainer ec = exportColumn as IExportContainer; if (ec != null) { if (ec.Items.Count > 0) { EvaluateRecursive(evaluatorFassade,ec.Items); } } - /* - IReportExpression expr = be as IReportExpression; - if (expr != null) - { - if (EvaluationHelper.CanEvaluate(expr.Text)) { - expr.Text = evaluatorFassade.Evaluate(expr.Text); - } - } - */ - - ExportText et = be as ExportText; - - if ((et != null) && (!String.IsNullOrEmpty(et.Text))) { - if (EvaluationHelper.CanEvaluate(et.Text)) { - et.Text = evaluatorFassade.Evaluate(et.Text); - } + + IReportExpression expressionItem = exportColumn as IReportExpression; + if (expressionItem != null) { + EvaluationHelper.EvaluateItem(evaluatorFassade,expressionItem); } - } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/TextStyleDecorator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/TextStyleDecorator.cs index 201a0b76e2..c35692b557 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/TextStyleDecorator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/TextStyleDecorator.cs @@ -12,7 +12,6 @@ namespace ICSharpCode.Reports.Core.Exporter public class TextStyleDecorator:BaseStyleDecorator { private Font font; - private StringFormat stringFormat; private StringTrimming stringTrimming; private ContentAlignment contentAlignment; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs index 64d23a0115..4671d8ed16 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs @@ -12,14 +12,11 @@ namespace ICSharpCode.Reports.Core.Exporter { /// <summary> /// Description of LineItem. /// </summary> - public class ExportText :BaseExportColumn{ - - private string text; + public class ExportText :BaseExportColumn,IReportExpression + { #region Constructors - - public ExportText (BaseStyleDecorator itemStyle,bool isContainer):base(itemStyle,isContainer) { } @@ -51,10 +48,10 @@ namespace ICSharpCode.Reports.Core.Exporter { iTextSharp.text.Rectangle r = base.ConvertToPdfRectangle(); columnText.SetSimpleColumn(r.Left, r.Top , r.Left + r.Width,r.Top - r.Height,pdfFormat.Leading,pdfFormat.Alignment); - string formatedText = this.text; + string formatedText = this.Text; if (!String.IsNullOrEmpty(StyleDecorator.FormatString)) { - formatedText = StandardFormatter.FormatOutput(this.text,this.StyleDecorator.FormatString, + formatedText = StandardFormatter.FormatOutput(this.Text,this.StyleDecorator.FormatString, this.StyleDecorator.DataType,String.Empty); } @@ -95,22 +92,15 @@ namespace ICSharpCode.Reports.Core.Exporter { base.DrawItem(graphics); base.Decorate(graphics); - TextDrawer.DrawString(graphics, this.text,this.StyleDecorator); + TextDrawer.DrawString(graphics, this.Text,this.StyleDecorator); } #endregion - public string Text - { - get { - return text; - } - set { - text = value; - } - } + public string Text {get;set;} + public string Expression {get;set;} public new TextStyleDecorator StyleDecorator { @@ -125,7 +115,7 @@ namespace ICSharpCode.Reports.Core.Exporter { public override string ToString() { - return this.text; + return this.Text; } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs index 51f7cac238..b6541bb9a7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs @@ -10,6 +10,7 @@ using System; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Interfaces; +using SimpleExpressionEvaluator; namespace ICSharpCode.Reports.Expressions.ReportingLanguage { @@ -28,14 +29,14 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage public static IExpressionEvaluatorFacade CreateEvaluator (ISinglePage singlePage,IDataNavigator dataNavigator) { if (singlePage == null) { - + throw new ArgumentNullException("singlePage"); } - /* + /* if (dataNavigator == null) { throw new ArgumentNullException("dataNavigator"); } - * */ + * */ singlePage.IDataNavigator = dataNavigator; IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(singlePage); return evaluatorFacade; @@ -49,12 +50,28 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage if (container != null) { EvaluateReportItems(evaluator,container.Items); } - BaseTextItem textItem = column as BaseTextItem; - if (textItem != null) { - textItem.Text = evaluator.Evaluate(textItem.Text); + + IReportExpression expressionItem = column as IReportExpression; + if (expressionItem != null) { + EvaluateItem(evaluator,expressionItem); } } } + + public static void EvaluateItem( IExpressionEvaluatorFacade evaluator,IReportExpression expressionItem) + { + string expr = String.Empty; + if (expressionItem != null) + { + if (!String.IsNullOrEmpty(expressionItem.Expression)) { + expr = expressionItem.Expression; + } else { + expr = expressionItem.Text; + } + } + + expressionItem.Text = evaluator.Evaluate(expr); + } public static void EvaluateRow(IExpressionEvaluatorFacade evaluator,ExporterCollection row) @@ -64,17 +81,17 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage if (container != null) { EvaluateRow(evaluator,container.Items); } - ExportText textItem = column as ExportText; - if (textItem != null) { - textItem.Text = evaluator.Evaluate(textItem.Text); + IReportExpression expressionItem = column as IReportExpression; + if (expressionItem != null) { + EvaluateItem(evaluator,expressionItem); } } } - public static bool CanEvaluate (string expressionn) + public static bool CanEvaluate (string expression) { - if ((!String.IsNullOrEmpty(expressionn)) && (expressionn.StartsWith("=",StringComparison.InvariantCultureIgnoreCase))) { + if ((!String.IsNullOrEmpty(expression)) && (expression.StartsWith("=",StringComparison.InvariantCultureIgnoreCase))) { return true; } return false; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs index fd2fe5fb68..209affd732 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs @@ -34,12 +34,8 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage { try { if (EvaluationHelper.CanEvaluate(expression)) { - IExpression compiled = compiler.CompileExpression<string>(expression); - this.context.ContextObject = this.SinglePage; - if (compiled != null) { - return (compiled.Evaluate(context)).ToString(); - } + return EvaluateExpression(expression); } } catch (Exception e) { expression = e.Message; @@ -49,24 +45,13 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage return expression; } - static void WriteLogMessage(Exception e) - { - Console.WriteLine(""); - Console.WriteLine("ExpressionEvaluatorFacade.Evaluate"); - Console.WriteLine(e.Message); - Console.WriteLine(""); - } public string Evaluate (string expression, object row) { try { if (EvaluationHelper.CanEvaluate(expression)) { - IExpression compiled = compiler.CompileExpression<string>(expression); - - this.context.ContextObject =row; - if (compiled != null) { - return (compiled.Evaluate(context)).ToString(); - } + this.context.ContextObject = row; + return EvaluateExpression (expression); } } catch (Exception e) { expression = e.Message; @@ -77,6 +62,25 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage } + string EvaluateExpression(string expression) + { + IExpression compiled = compiler.CompileExpression<string>(expression); + if (compiled != null) { + return (compiled.Evaluate(context)).ToString(); + } + return expression; + } + + + static void WriteLogMessage(Exception e) + { + Console.WriteLine(""); + Console.WriteLine("ExpressionEvaluatorFacade.Evaluate"); + Console.WriteLine(e.Message); + Console.WriteLine(""); + } + + private void FunctionStore (object sender,SimpleExpressionEvaluator.Evaluation.UnknownFunctionEventArgs e) { From 7ab36047faa3e9c894be346bc7bbaf9f80d8b95e Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 1 May 2011 19:12:08 +0200 Subject: [PATCH 057/168] Section Layout --- .../Project/Exporter/BasePager.cs | 14 +++----- .../Converters/GroupedRowConverter.cs | 2 -- .../Project/Exporter/DataPageBuilder.cs | 36 +++++++------------ 3 files changed, 17 insertions(+), 35 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 1f1659b4d1..a824a4547a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -81,7 +81,7 @@ namespace ICSharpCode.Reports.Core.Exporter PrintHelper.AdjustSectionLocation(section); var convertedSection = new ExporterCollection(); Offset = new Point(section.Location.X,section.SectionOffset); - + Point startOffset = Offset; if (section.Items.Count > 0) { section.Items.SortByLocation(); @@ -109,17 +109,12 @@ namespace ICSharpCode.Reports.Core.Exporter Offset = BaseConverter.ConvertContainer(convertedSection,simpleContainer,Offset.X,Offset); Offset = new Point(Offset.X,Offset.Y + gap); - //section.Size = CalculatenewSectionSize Rectangle rsec = new Rectangle(section.Location,section.Size); Rectangle ro = new Rectangle(section.Location,simpleContainer.Size); if (!rsec.Contains(ro)) { - - Rectangle rnew = new Rectangle(section.Location.X,section.Location.Y, - section.Size.Width , ro.Location.Y + ro.Size.Height +1); - Console.WriteLine ("{0}",rsec); - Console.WriteLine ("{0}",ro); - Console.WriteLine ("{0}",rnew); - Console.WriteLine(rnew.Contains(ro)); + Console.WriteLine("recalculate sectionsize old {0} ",section.Size); + section.Size = new Size(section.Size.Width,Offset.Y - startOffset.Y + gap); + Console.WriteLine("\t new size {0} ",section.Size); } } @@ -222,6 +217,7 @@ foreach (var element in section.Items) return convertedSection; } */ + static int CalculateGap(BaseReportItem oldItem, BaseReportItem item) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index d2b3151c25..3948858d3e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -150,14 +150,12 @@ namespace ICSharpCode.Reports.Core.Exporter if (PrintHelper.IsPageFull(pageBreakRect,base.SectionBounds)) { base.CurrentPosition = ForcePageBreak (exporterCollection,section); - Console.WriteLine("\t -new CurPos = {0}",base.CurrentPosition); } } protected override Point ForcePageBreak(ExporterCollection exporterCollection, BaseSection section) { - Console.WriteLine("PageBreak"); base.ForcePageBreak(exporterCollection,section); return CalculateStartPosition(section); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index 1ee53b252f..1bc1a5fdaf 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -67,31 +67,19 @@ namespace ICSharpCode.Reports.Core.Exporter if ((base.Pages.Count == 0) && (base.ReportModel.ReportHeader.Items.Count > 0)) { base.ReportModel.ReportHeader.SectionOffset = base.SinglePage.SectionBounds.ReportHeaderRectangle.Top; - ExporterCollection convertedList = base.ConvertSection (base.ReportModel.ReportHeader,this.dataNavigator.CurrentRow); + ConvertSectionInternal (base.ReportModel.ReportHeader); base.SectionBounds.MeasurePageHeader(base.ReportModel.ReportHeader); - base.SinglePage.Items.AddRange(convertedList); } } + + protected override void BuildPageHeader () { - var s = base.ReportModel.PageHeader; - - Console.WriteLine("name <{0}> on PAGE {1}",s.Name,base.Pages.Count); - - Console.WriteLine("section {0}",base.ReportModel.PageHeader.Size); - base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); - - ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow); - base.SinglePage.Items.AddRange(convertedList); - + ConvertSectionInternal (base.ReportModel.PageHeader); base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); - - Console.WriteLine("aft-section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); - Console.WriteLine("Pageheader {0} - Detailstart {0}",SectionBounds.PageHeaderRectangle,SectionBounds.DetailStart); - Console.WriteLine(); } @@ -115,22 +103,26 @@ namespace ICSharpCode.Reports.Core.Exporter // Print the HeaderRow var headerRow = table.Items[0]; - var curPos = BaseConverter.ConvertContainer(convertedList,(ISimpleContainer)headerRow,SectionBounds.PageHeaderRectangle.Left,SectionBounds.PageHeaderRectangle.Location); base.SinglePage.Items.AddRange(convertedList); base.ReportModel.ReportFooter.SectionOffset = curPos.Y + GlobalValues.GapBetweenContainer; } } //allways print the reportFooter - convertedList = base.ConvertSection (base.ReportModel.ReportFooter,this.dataNavigator.CurrentRow); - base.SinglePage.Items.AddRange(convertedList); + ConvertSectionInternal(base.ReportModel.ReportFooter); } protected override void BuildPageFooter () { base.ReportModel.PageFooter.SectionOffset = base.SinglePage.SectionBounds.PageFooterRectangle.Top; - ExporterCollection convertedList = convertedList = base.ConvertSection (base.ReportModel.PageFooter,this.dataNavigator.CurrentRow); + ConvertSectionInternal(base.ReportModel.PageFooter); + } + + + void ConvertSectionInternal (BaseSection section) + { + ExporterCollection convertedList = base.ConvertSection (section,this.dataNavigator.CurrentRow); base.SinglePage.Items.AddRange(convertedList); } @@ -138,10 +130,6 @@ namespace ICSharpCode.Reports.Core.Exporter protected Point BuildDetail (BaseSection section,IDataNavigator dataNavigator) { ExporterCollection convertedList = new ExporterCollection(); - var s = section; - Console.WriteLine("name <{0}>",s.Name); - Console.WriteLine("start section size {0} sectionoffset {1} offset {2}",s.Size,s.SectionOffset,base.Offset); - Console.WriteLine("----"); foreach (BaseReportItem item in section.Items) { IBaseConverter baseConverter = ConverterFactory.CreateConverter(item,dataNavigator, From 124d7dd33b60184120e7f2c43e96e322c9427261 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Tue, 10 May 2011 20:35:43 +0200 Subject: [PATCH 058/168] WPFReportPreview.cs, first step's --- .../ICSharpCode.Reports.Addin.csproj | 17 +- .../Project/ReportDesignerView.cs | 5 + .../Project/WPF/WPFReportPreview.cs | 120 ++++++++++++++ .../ICSharpCode.Reports.Core.csproj | 30 +++- .../ExportRenderer/FixedDocumentRenderer.cs | 151 ++++++++++++++++++ .../ExportRenderer/FlowDocumentRenderer.cs | 97 +++++++++++ .../Exporter/ExportRenderer/XPSRenderer.cs | 50 ------ .../Project/WPF/FixedDocumentCreator.cs | 116 ++++++++++++++ .../Project/WPF/FlowDocumentCreator.cs | 43 +++++ 9 files changed, 574 insertions(+), 55 deletions(-) create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FlowDocumentRenderer.cs delete mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/XPSRenderer.cs create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FlowDocumentCreator.cs 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 8f57aff3a2..12d046757b 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 @@ -59,15 +59,24 @@ <Reference Include="itextsharp"> <HintPath>..\Libraries\itextsharp.dll</HintPath> </Reference> - <Reference Include="PresentationCore" /> - <Reference Include="PresentationFramework" /> + <Reference Include="PresentationCore"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> + <Reference Include="PresentationFramework"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> <Reference Include="System" /> <Reference Include="System.Core"> <RequiredTargetFramework>3.5</RequiredTargetFramework> </Reference> <Reference Include="System.Design" /> <Reference Include="System.Drawing.Design" /> - <Reference Include="System.Xaml" /> + <Reference Include="System.Printing"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> + <Reference Include="System.Xaml"> + <RequiredTargetFramework>4.0</RequiredTargetFramework> + </Reference> <Reference Include="System.Xml" /> <Reference Include="System.Drawing" /> <Reference Include="System.Windows.Forms" /> @@ -256,6 +265,7 @@ <Compile Include="Project\Toolbox\SideTabItemDesigner.cs" /> <Compile Include="Project\Toolbox\ToolboxProvider.cs" /> <Compile Include="Project\UndoRedo\UndoEngine.cs" /> + <Compile Include="Project\WPF\WPFReportPreview.cs" /> <Compile Include="Project\Xml\MycroWriter.cs" /> <Compile Include="Project\Xml\ReportDefinitionParser.cs" /> <Compile Include="Project\Xml\ReportDesignerWriter.cs" /> @@ -349,6 +359,7 @@ </BootstrapperPackage> </ItemGroup> <ItemGroup> + <Folder Include="Project\WPF" /> <Folder Include="Project\ReportItems\TypeProviders" /> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> 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 a8165a4e1c..83b5600617 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs @@ -15,6 +15,7 @@ using System.Windows.Forms; using ICSharpCode.Core; using ICSharpCode.Reports.Addin.Commands; using ICSharpCode.Reports.Addin.Designer; +using ICSharpCode.Reports.Addin.Project.WPF; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Exporter; @@ -91,6 +92,10 @@ namespace ICSharpCode.Reports.Addin SecondaryViewContents.Add(preview); reportViewer = new ReportViewerSecondaryView(loader,this); SecondaryViewContents.Add(reportViewer); + + var p = new WPFReportPreview(loader,this); + SecondaryViewContents.Add(p); + } #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs new file mode 100644 index 0000000000..179ae26327 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs @@ -0,0 +1,120 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 03.05.2011 + * Time: 19:34 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Drawing; +using System.Windows.Controls; +using System.Windows.Documents; + +using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.BaseClasses; +using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Exporter.ExportRenderer; +using ICSharpCode.Reports.Core.Globals; +using ICSharpCode.SharpDevelop.Gui; + +namespace ICSharpCode.Reports.Addin.Project.WPF +{ + /// <summary> + /// Description of WPFReportPreview. + /// </summary> + public class WPFReportPreview: AbstractSecondaryViewContent + { + ReportDesignerLoader designerLoader; + DocumentViewer viewer = new DocumentViewer(); + + public WPFReportPreview(ReportDesignerLoader loader,IViewContent content):base(content) + { + this.designerLoader = loader; + base.TabPageText = "Wpf View"; + } + + protected override void LoadFromPrimary() + { + Console.WriteLine("WPFReportPreview - LoadFromPrimary"); + ReportModel model = designerLoader.CreateRenderableModel(); + + IReportCreator reportCreator = FormPageBuilder.CreateInstance(model); +// reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); +// reportCreator.PageCreated += OnPageCreated; + reportCreator.BuildExportList(); + + var pages = reportCreator.Pages; + +// var pages = CreateTestPage(); + + Console.WriteLine("WPFReportPreview - Create FixedDocumentRenderer"); + + + FixedDocumentRenderer renderer = FixedDocumentRenderer.CreateInstance(model.ReportSettings,pages); + + renderer.Start(); + renderer.RenderOutput(); + renderer.End(); +// Console.WriteLine("WPFReportPreview - document to viewer"); + IDocumentPaginatorSource document = renderer.Document; + viewer.Document = renderer.Document; + } + + + PagesCollection CreateTestPage() + { + var pages = new PagesCollection(); + ExporterPage page = ExporterPage.CreateInstance(new SectionBounds(new ReportSettings(),false),1); + page.PageNumber = 1; + + TextStyleDecorator decorator1 = new TextStyleDecorator() + { + Location = new System.Drawing.Point (10,10), + Font = GlobalValues.DefaultFont, + ForeColor = Color.Black, + BackColor = Color.White + + }; + + + page.Items.Add(new ExportText (decorator1,false) + { + Text = "hello world" + + }); + + + TextStyleDecorator decorator2 = new TextStyleDecorator() + { + Location = new System.Drawing.Point (20,20), + Font = GlobalValues.DefaultFont, + ForeColor = Color.Black, + BackColor = Color.White + + }; + page.Items.Add(new ExportText (decorator2,false) + { + Text = "My First PdfPrintout" + + }); + + + pages.Add(page); + return pages; + } + + + protected override void SaveToPrimary() + { +// throw new NotImplementedException(); + } + + + public override object Control { + get { + return viewer; + } + } + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index 55a01515ac..20476b3df5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -62,6 +62,15 @@ <Reference Include="NUnit.Framework"> <HintPath>$(SharpDevelopBinPath)\Tools\NUnit\NUnit.Framework.dll</HintPath> </Reference> + <Reference Include="PresentationCore"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> + <Reference Include="PresentationFramework"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> + <Reference Include="ReachFramework"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> <Reference Include="System" /> <Reference Include="System.Core"> <RequiredTargetFramework>3.5</RequiredTargetFramework> @@ -70,14 +79,26 @@ <RequiredTargetFramework>3.5</RequiredTargetFramework> </Reference> <Reference Include="System.Drawing" /> + <Reference Include="System.Printing"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> <Reference Include="System.ServiceProcess" /> <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Windows.Presentation"> + <RequiredTargetFramework>3.5</RequiredTargetFramework> + </Reference> + <Reference Include="System.Xaml"> + <RequiredTargetFramework>4.0</RequiredTargetFramework> + </Reference> <Reference Include="System.Xml" /> <Reference Include="System.Data" /> <Reference Include="System.Design" /> <Reference Include="System.Xml.Linq"> <RequiredTargetFramework>3.5</RequiredTargetFramework> </Reference> + <Reference Include="WindowsBase"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> </ItemGroup> <ItemGroup> <Compile Include="..\..\..\..\Main\GlobalAssemblyInfo.cs"> @@ -151,6 +172,7 @@ <Compile Include="Project\Exporter\Converters\GroupedTableConverter.cs" /> <Compile Include="Project\Exporter\ExportColumns\ExportGraphicContainer.cs" /> <Compile Include="Project\Exporter\ExportHelper.cs" /> + <Compile Include="Project\Exporter\ExportRenderer\FixedDocumentRenderer.cs" /> <Compile Include="Project\Expressions\EvaluationHelper.cs" /> <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\ReportingService\FieldReference.cs" /> <Compile Include="Project\Exporter\BasePager.cs" /> @@ -163,7 +185,7 @@ <Compile Include="Project\Exporter\ExportColumns\IExportContainer.cs" /> <Compile Include="Project\Exporter\ExportRenderer\HTMLRenderer.cs" /> <Compile Include="Project\Exporter\ExportRenderer\PdfRenderer.cs" /> - <Compile Include="Project\Exporter\ExportRenderer\XPSRenderer.cs" /> + <Compile Include="Project\Exporter\ExportRenderer\FlowDocumentRenderer.cs" /> <Compile Include="Project\Exporter\FormPageBuilder.cs" /> <Compile Include="Project\Expressions\ExpressionEvaluatorFacade.cs" /> <Compile Include="Project\Expressions\IExpressionEvaluatorFacade.cs" /> @@ -346,6 +368,8 @@ <Compile Include="Project\ReportViewer\ReportViewer.designer.cs"> <DependentUpon>ReportViewer.cs</DependentUpon> </Compile> + <Compile Include="Project\WPF\FixedDocumentCreator.cs" /> + <Compile Include="Project\WPF\FlowDocumentCreator.cs" /> <Compile Include="Project\Xml\BaseItemLoader.cs" /> <Compile Include="Project\Xml\MycroParser.cs" /> <Compile Include="Project\Xml\MycroWriter.cs" /> @@ -365,6 +389,8 @@ <None Include="Project\ReportViewer\Resources\Icons\Last.bmp" /> <None Include="Project\ReportViewer\Resources\Icons\Next.bmp" /> </ItemGroup> - <ItemGroup /> + <ItemGroup> + <Folder Include="Project\WPF" /> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> </Project> \ No newline at end of file diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs new file mode 100644 index 0000000000..4bd9149004 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs @@ -0,0 +1,151 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 05.05.2011 + * Time: 20:27 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Documents; +using System.Windows.Markup; +using System.Windows.Media; + +using ICSharpCode.Reports.Core.Globals; +using ICSharpCode.Reports.Core.WPF; + +namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer +{ + /// <summary> + /// Description of FixedDocumentRenderer. + /// </summary> + public class FixedDocumentRenderer:BaseExportRenderer + { + private PagesCollection pages; + private ReportSettings reportSettings; + private FixedDocument document ; + private FixedDocumentCreator docCreator; + +// http://www.nbdtech.com/Blog/archive/2009/04/20/wpf-printing-part-2-the-fixed-document.aspx + + + public static FixedDocumentRenderer CreateInstance (ReportSettings reportSettings,PagesCollection pages) + { + var instance = new FixedDocumentRenderer(reportSettings,pages); + return instance; + } + + private FixedDocumentRenderer(ReportSettings reportSettings,PagesCollection pages):base(pages) + { + this.pages = pages; + this.reportSettings = reportSettings; + this.docCreator = new FixedDocumentCreator(); + + } + + + + #region overrides + + public override void Start() + { + base.Start(); + Console.WriteLine("FixedDocumentRenderer - Start"); + document = new FixedDocument(); + + + // point 595x842 + + // 827/1169 + +// A4 paper is 210mm x 297mm +//8.2 inch x 11.6 inch +//1240 px x 1754 px +/* + iTextSharp uses a default of 72 pixels per inch. + 792 would be 11", or the height of a standard Letter size paper." + + 595 would be 8.264", + which is the standard width of A4 size paper. + Using 595 x 792 as the page size would be a cheap and dirty way + to ensure that you could print on either A4 or Letter + without anything getting cut off. – +*/ + PrintDialog printDialog = new PrintDialog(); + var w = printDialog.PrintableAreaHeight; + var h = printDialog.PrintableAreaWidth; + Console.WriteLine(new System.Windows.Size(w,h)); + + PageSize = new System.Windows.Size(reportSettings.PageSize.Width,reportSettings.PageSize.Height); + document.DocumentPaginator.PageSize = PageSize; + } + + + + public override void RenderOutput() + { + base.RenderOutput(); + Console.WriteLine("FixedDocumentRenderer - RenderOutput"); + + foreach (var page in pages) + { + FixedPage fixedPage = docCreator.CreatePage (page); + docCreator.ArrangePage(document.DocumentPaginator.PageSize,fixedPage); + AddPageToDocument(document,fixedPage); + } + +//http://www.ericsink.com/wpf3d/B_Printing.html +// http://www.switchonthecode.com/tutorials/wpf-printing-part-2-pagination + + +// http://stackoverflow.com/questions/3671724/wpf-flowdocument-page-break-positioning +// http://wpf.2000things.com/tag/drawingvisual/ +http://wpf.2000things.com/2011/03/25/256-use-a-fixeddocument-to-display-content-at-fixed-locations/ + +//http://wpf.2000things.com/2011/03/25/256-use-a-fixeddocument-to-display-content-at-fixed-locations/ +//http://www.neodynamic.com/ND/FaqsTipsTricks.aspx?tabid=66&prodid=0&sid=99 + +//http://www.eggheadcafe.com/tutorials/aspnet/9cbb4841-8677-49e9-a3a8-46031e699b2e/wpf-printing-and-print-pr.aspx +//http://www.eggheadcafe.com/tutorials/aspnet/9cbb4841-8677-49e9-a3a8-46031e699b2e/wpf-printing-and-print-pr.aspx +// +//http://www.eggheadcafe.com/tutorials/aspnet/22ac97f3-4a3d-4fee-a411-e456f77f6a90/wpf-report-engine-part-3.aspx + /* + System.Windows.Controls.Border b = new System.Windows.Controls.Border(); + b.BorderThickness = new Thickness(2); + b.BorderBrush = System.Windows.Media.Brushes.Black; + b.Padding = new Thickness(15); + b.Child = page2Text; + FixedPage.SetLeft(b, 2 * 96 * 0.75 ); + FixedPage.SetTop(b,3 * 96 * 0.75 ); + + page.Children.Add((UIElement)b); + */ + /* +*/ + Document = document; + } + + + + void AddPageToDocument(FixedDocument doc,FixedPage page) + { + Console.WriteLine("AddPageToDocument"); + PageContent pageContent = new PageContent(); + ((IAddChild)pageContent).AddChild(page); + doc.Pages.Add(pageContent); + } + + + public override void End() + { + base.End(); + Console.WriteLine("FixedDocumentRenderer - End"); + } + + public Size PageSize {get;private set;} + public IDocumentPaginatorSource Document {get;private set;} + + #endregion + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FlowDocumentRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FlowDocumentRenderer.cs new file mode 100644 index 0000000000..4cd3ac63e0 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FlowDocumentRenderer.cs @@ -0,0 +1,97 @@ +// 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.IO; +using System.IO.Packaging; +using System.Windows.Controls; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Xps; +using System.Windows.Xps.Packaging; + +using ICSharpCode.Reports.Core.WPF; + +namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer +{ + /// <summary> + /// Description of XPSRenderer. + /// </summary> + public class FlowDocumentRenderer:BaseExportRenderer + { + private PagesCollection pages; + private FlowDocumentCreator pageCreator; + + #region Constructor + + public static FlowDocumentRenderer CreateInstance (PagesCollection pages) { + + var instance = new FlowDocumentRenderer(pages); + + return instance; + } + + private FlowDocumentRenderer(PagesCollection pages):base(pages) + { + this.pages = pages; + Console.WriteLine("FlowDocumentRenderer - Create Instance"); + this.pageCreator = new FlowDocumentCreator(); + } + + #endregion + + #region overrides + + public override void Start() + { + base.Start(); + Console.WriteLine("FlowDocumentRenderer - Start"); + } + + + public override void RenderOutput() + { + base.RenderOutput(); + Console.WriteLine("FlowDocumentRenderer - RenderOutput"); + + IDocumentPaginatorSource d = new FlowDocument(pageCreator.CreatePage(pages[0])); + + + if ( d is FlowDocument) + { + // DocumenattViewer does not support FlowDocument, so we'll convert it + MemoryStream xpsStream = new MemoryStream(); + Package package = Package.Open(xpsStream, FileMode.Create, FileAccess.ReadWrite); + string packageUriString = "memorystream://data.xps"; + PackageStore.AddPackage(new Uri(packageUriString), package); + + XpsDocument xpsDocument = new XpsDocument(package, CompressionOption.Normal, packageUriString); + XpsDocumentWriter writer = XpsDocument.CreateXpsDocumentWriter(xpsDocument); + + writer.Write(d.DocumentPaginator); + Document = xpsDocument.GetFixedDocumentSequence(); +// cleanup = delegate { +// viewer.Document = null; +// xpsDocument.Close(); +// package.Close(); +// PackageStore.RemovePackage(new Uri(packageUriString)); +// }; + } + else { + Document = d; + } + } + + + public override void End() + { + base.End(); + Console.WriteLine("FlowDocumentRenderer - End"); + } + + #endregion + + public IDocumentPaginatorSource Document {get;private set;} + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/XPSRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/XPSRenderer.cs deleted file mode 100644 index c21e16c9af..0000000000 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/XPSRenderer.cs +++ /dev/null @@ -1,50 +0,0 @@ -// 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; - -namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer -{ - /// <summary> - /// Description of XPSRenderer. - /// </summary> - public class XpsRenderer:BaseExportRenderer - { - #region Constructor - - public static XpsRenderer CreateInstance (PagesCollection pages) { - if (pages == null) { - throw new ArgumentNullException("pages"); - } - XpsRenderer instance = new XpsRenderer(pages); - return instance; - } - - private XpsRenderer(PagesCollection pages):base(pages) - { - } - - #endregion - - #region overrides - - public override void Start() - { - base.Start(); - } - - - public override void RenderOutput() - { - base.RenderOutput(); - } - - - public override void End() - { - base.End(); - } - - #endregion - } -} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs new file mode 100644 index 0000000000..a5adcb0bf1 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -0,0 +1,116 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 10.05.2011 + * Time: 19:41 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Documents; +using System.Windows.Media; + +using ICSharpCode.Reports.Core.Exporter; + +namespace ICSharpCode.Reports.Core.WPF +{ + /// <summary> + /// Description of FixedDocumentCreator. + /// </summary> + public class FixedDocumentCreator + { + public FixedDocumentCreator() + { + } + + + public FixedPage CreatePage(ExporterPage exporterPage) + { + Console.WriteLine("\tCreatepage with {0} items ",exporterPage.Items.Count); + FixedPage page = new FixedPage(); + //http://www.bing.com/search?q=Convert+Windows+Forms+to+WPF&FORM=QSRE + foreach (var element in exporterPage.Items) { + var item = ItemFactory(element); + page.Children.Add(item); + } + + Console.WriteLine("\tPage created with with {0} items ",page.Children.Count); + return page; + } + + + UIElement ItemFactory (BaseExportColumn column) + { + var text = column as ExportText; + UIElement element = null; + if (text != null) { + element = CreateTextColumn(text); + } + return element; + } + + + TextBlock CreateTextColumn(ExportText et) + { + TextBlock tb = new TextBlock(); + tb.Text = et.Text; + + SetFont(tb,et.StyleDecorator); + FixedPage.SetLeft(tb,et.StyleDecorator.Location.X ); + FixedPage.SetTop(tb,et.StyleDecorator.Location.Y); + return tb; + } + + + void SetFont(TextBlock tb, TextStyleDecorator styleDecorator) + { +// +// http://msdn.microsoft.com/en-us/library/system.windows.textdecorations.aspx +// http://stackoverflow.com/questions/637636/using-a-system-drawing-font-with-a-wpf-label + + var s = NewTypeFaceFromFont (styleDecorator.Font); + +// FontFamilyConverter conv = new FontFamilyConverter(); +// FontFamily mfont1 = conv.ConvertFromString(styleDecorator.Font.Name) as FontFamily; +// tb.FontFamily = mfont1; + tb.FontFamily = new FontFamily(styleDecorator.Font.FontFamily.Name); + tb.FontSize = styleDecorator.Font.GetHeight(); + if (styleDecorator.Font.Bold) { + tb.FontWeight = FontWeights.Bold; + } + Console.WriteLine ("{0} - {1}",styleDecorator.Font.FontFamily.Name,styleDecorator.Font.GetHeight()); + } + + + private static Typeface NewTypeFaceFromFont(System.Drawing.Font f) + { Typeface typeface = null; + FontFamily ff = new FontFamily(f.Name); + if (typeface == null) + { + typeface = new Typeface(ff, (f.Style == System.Drawing.FontStyle.Italic ? FontStyles.Italic : FontStyles.Normal), + (f.Style == System.Drawing.FontStyle.Bold ? FontWeights.Bold : FontWeights.Normal), + FontStretches.Normal); + } + if (typeface == null) + { + typeface = new Typeface(new FontFamily("Arial"), + FontStyles.Italic, + FontWeights.Normal, + FontStretches.Normal); + } + return typeface; + } + + + public void ArrangePage(Size pageSize, FixedPage page) + { + Console.WriteLine("Arrange page with Size {0}",pageSize); + page.Measure(pageSize); + page.Arrange(new Rect(new System.Windows.Point(), pageSize)); + page.UpdateLayout(); + } + + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FlowDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FlowDocumentCreator.cs new file mode 100644 index 0000000000..46cd76bf99 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FlowDocumentCreator.cs @@ -0,0 +1,43 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 04.05.2011 + * Time: 20:06 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using ICSharpCode.Reports.Core.Exporter; + +using System.Windows.Documents; + +namespace ICSharpCode.Reports.Core.WPF +{ + /// <summary> + /// Description of FlowDocumentCreator. + /// </summary> + public class FlowDocumentCreator + { + + ExporterPage page; + + public FlowDocumentCreator() + { + Console.WriteLine("FlowDocumentCreator :Constructor"); + } + + // http://stackoverflow.com/questions/3671724/wpf-flowdocument-page-break-positioning + public Block CreatePage (ExporterPage page) + { + Console.WriteLine("FlowDocumentCreator :CreatePage"); + this.page = page; + Paragraph p = new Paragraph(); + + Run r = new Run("Hallo"); + p.Inlines.Add(r); + + return p; + } + + } +} From 4661680fe1eb607e3628729b96dfc2f15e4f7308 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Thu, 19 May 2011 20:49:48 +0200 Subject: [PATCH 059/168] Simple (textonly) reports as FixedDocument are working --- .../ReportViewerSecondaryView.cs | 2 +- .../Project/WPF/WPFReportPreview.cs | 100 ++--- .../ICSharpCode.Reports.Core.csproj | 10 +- .../ExportRenderer/FixedDocumentRenderer.cs | 27 +- .../Exporter/ExportRenderer/PdfRenderer.cs | 6 - .../Project/Interfaces/IMeasurementService.cs | 16 - .../Project/ReportEngine.cs | 67 +-- .../Project/ReportViewer/IPreviewControl.cs | 31 ++ .../Project/ReportViewer/ReportViewer.cs | 411 +++++++++--------- .../Project/WPF/FixedDocumentCreator.cs | 152 +++++-- .../WpfReportViewer/WpfReportViewer.xaml | 27 ++ 11 files changed, 432 insertions(+), 417 deletions(-) delete mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IMeasurementService.cs create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/IPreviewControl.cs create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs index 7fded46ba2..cd3c768059 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs @@ -20,7 +20,6 @@ namespace ICSharpCode.Reports.Addin ReportDesignerLoader designerLoader; ICSharpCode.Reports.Core.ReportViewer.PreviewControl control; - public ReportViewerSecondaryView(ReportDesignerLoader designerLoader,IViewContent content):base(content) { if (designerLoader == null) { @@ -48,6 +47,7 @@ namespace ICSharpCode.Reports.Addin { ReportModel model = designerLoader.CreateRenderableModel(); AbstractPreviewCommand cmd = null; + switch (model.DataModel) { case GlobalEnums.PushPullModel.FormSheet : { cmd = new FormSheetToReportViewerCommand (model,control); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs index 179ae26327..6d22e71d3b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs @@ -7,16 +7,18 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; +using System.Data; using System.Drawing; -using System.Windows.Controls; using System.Windows.Documents; +using ICSharpCode.Reports.Addin.Commands; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.BaseClasses; using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Exporter.ExportRenderer; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.SharpDevelop.Gui; +using ICSharpCode.Reports.Core.WpfReportViewer; namespace ICSharpCode.Reports.Addin.Project.WPF { @@ -26,85 +28,61 @@ namespace ICSharpCode.Reports.Addin.Project.WPF public class WPFReportPreview: AbstractSecondaryViewContent { ReportDesignerLoader designerLoader; - DocumentViewer viewer = new DocumentViewer(); + + //DocumentViewer viewer = new DocumentViewer(); + IWpfReportViewer viewer = new WpfReportViewer(); public WPFReportPreview(ReportDesignerLoader loader,IViewContent content):base(content) { this.designerLoader = loader; base.TabPageText = "Wpf View"; + Pages = new PagesCollection(); } + + public PagesCollection Pages{get;private set;} + + protected override void LoadFromPrimary() { - Console.WriteLine("WPFReportPreview - LoadFromPrimary"); + Pages.Clear(); ReportModel model = designerLoader.CreateRenderableModel(); + var c = new CollectParametersCommand(model); + c.Run(); + switch (model.DataModel) + { + case GlobalEnums.PushPullModel.FormSheet : { + viewer.RunReport(model,(ReportParameters)null); + break; + } + case GlobalEnums.PushPullModel.PullData:{ + viewer.RunReport(model,(ReportParameters)null); + break; + } + case GlobalEnums.PushPullModel.PushData: + { + DataSetFromXsdCommand cmd = new DataSetFromXsdCommand(); + cmd.Run(); + System.Data.DataSet ds = cmd.DataSet; + viewer.RunReport(model,ds.Tables[0],(ReportParameters)null); + break; + } + default: + throw new InvalidReportModelException(); + } + +// http://www.xs4all.nl/~wrb/Articles/Article_WPFButtonXPS_01.htm - IReportCreator reportCreator = FormPageBuilder.CreateInstance(model); -// reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); -// reportCreator.PageCreated += OnPageCreated; - reportCreator.BuildExportList(); - - var pages = reportCreator.Pages; - -// var pages = CreateTestPage(); - - Console.WriteLine("WPFReportPreview - Create FixedDocumentRenderer"); - - - FixedDocumentRenderer renderer = FixedDocumentRenderer.CreateInstance(model.ReportSettings,pages); + FixedDocumentRenderer renderer = FixedDocumentRenderer.CreateInstance(model.ReportSettings,viewer.Pages); renderer.Start(); renderer.RenderOutput(); renderer.End(); -// Console.WriteLine("WPFReportPreview - document to viewer"); - IDocumentPaginatorSource document = renderer.Document; + viewer.Document = renderer.Document; } - PagesCollection CreateTestPage() - { - var pages = new PagesCollection(); - ExporterPage page = ExporterPage.CreateInstance(new SectionBounds(new ReportSettings(),false),1); - page.PageNumber = 1; - - TextStyleDecorator decorator1 = new TextStyleDecorator() - { - Location = new System.Drawing.Point (10,10), - Font = GlobalValues.DefaultFont, - ForeColor = Color.Black, - BackColor = Color.White - - }; - - - page.Items.Add(new ExportText (decorator1,false) - { - Text = "hello world" - - }); - - - TextStyleDecorator decorator2 = new TextStyleDecorator() - { - Location = new System.Drawing.Point (20,20), - Font = GlobalValues.DefaultFont, - ForeColor = Color.Black, - BackColor = Color.White - - }; - page.Items.Add(new ExportText (decorator2,false) - { - Text = "My First PdfPrintout" - - }); - - - pages.Add(page); - return pages; - } - - protected override void SaveToPrimary() { // throw new NotImplementedException(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index 20476b3df5..f263aad551 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -294,7 +294,6 @@ <Compile Include="Project\Interfaces\IItemConverter.cs" /> <Compile Include="Project\Interfaces\ILayouter.cs" /> <Compile Include="Project\Interfaces\IReportItem.cs" /> - <Compile Include="Project\Interfaces\IMeasurementService.cs" /> <Compile Include="Project\Interfaces\IReportModel.cs" /> <Compile Include="Project\Interfaces\ISinglePage.cs" /> <Compile Include="Project\IReportCreator.cs" /> @@ -314,6 +313,7 @@ <SubType>Component</SubType> </Compile> <Compile Include="Project\ReportEngine.cs" /> + <Compile Include="Project\ReportViewer\IPreviewControl.cs" /> <Compile Include="Project\ReportViewer\NumericToolStripTextBox.cs"> <SubType>Component</SubType> </Compile> @@ -368,6 +368,10 @@ <Compile Include="Project\ReportViewer\ReportViewer.designer.cs"> <DependentUpon>ReportViewer.cs</DependentUpon> </Compile> + <Compile Include="Project\WpfReportViewer\WpfReportViewer.xaml.cs"> + <DependentUpon>WpfReportViewer.xaml</DependentUpon> + <SubType>Code</SubType> + </Compile> <Compile Include="Project\WPF\FixedDocumentCreator.cs" /> <Compile Include="Project\WPF\FlowDocumentCreator.cs" /> <Compile Include="Project\Xml\BaseItemLoader.cs" /> @@ -390,7 +394,11 @@ <None Include="Project\ReportViewer\Resources\Icons\Next.bmp" /> </ItemGroup> <ItemGroup> + <Folder Include="Project\WpfReportViewer" /> <Folder Include="Project\WPF" /> </ItemGroup> + <ItemGroup> + <Page Include="Project\WpfReportViewer\WpfReportViewer.xaml" /> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> </Project> \ No newline at end of file diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs index 4bd9149004..81d6ad5bc9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs @@ -77,8 +77,9 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer var h = printDialog.PrintableAreaWidth; Console.WriteLine(new System.Windows.Size(w,h)); - PageSize = new System.Windows.Size(reportSettings.PageSize.Width,reportSettings.PageSize.Height); - document.DocumentPaginator.PageSize = PageSize; + docCreator.PageSize = new System.Windows.Size(reportSettings.PageSize.Width,reportSettings.PageSize.Height); + document.DocumentPaginator.PageSize = docCreator.PageSize; + } @@ -101,7 +102,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer // http://stackoverflow.com/questions/3671724/wpf-flowdocument-page-break-positioning // http://wpf.2000things.com/tag/drawingvisual/ -http://wpf.2000things.com/2011/03/25/256-use-a-fixeddocument-to-display-content-at-fixed-locations/ +//http://wpf.2000things.com/2011/03/25/256-use-a-fixeddocument-to-display-content-at-fixed-locations/ //http://wpf.2000things.com/2011/03/25/256-use-a-fixeddocument-to-display-content-at-fixed-locations/ //http://www.neodynamic.com/ND/FaqsTipsTricks.aspx?tabid=66&prodid=0&sid=99 @@ -110,30 +111,17 @@ http://wpf.2000things.com/2011/03/25/256-use-a-fixeddocument-to-display-content- //http://www.eggheadcafe.com/tutorials/aspnet/9cbb4841-8677-49e9-a3a8-46031e699b2e/wpf-printing-and-print-pr.aspx // //http://www.eggheadcafe.com/tutorials/aspnet/22ac97f3-4a3d-4fee-a411-e456f77f6a90/wpf-report-engine-part-3.aspx - /* - System.Windows.Controls.Border b = new System.Windows.Controls.Border(); - b.BorderThickness = new Thickness(2); - b.BorderBrush = System.Windows.Media.Brushes.Black; - b.Padding = new Thickness(15); - b.Child = page2Text; - FixedPage.SetLeft(b, 2 * 96 * 0.75 ); - FixedPage.SetTop(b,3 * 96 * 0.75 ); - - page.Children.Add((UIElement)b); - */ - /* -*/ + Document = document; } - void AddPageToDocument(FixedDocument doc,FixedPage page) + void AddPageToDocument(FixedDocument fixedDocument,FixedPage page) { - Console.WriteLine("AddPageToDocument"); PageContent pageContent = new PageContent(); ((IAddChild)pageContent).AddChild(page); - doc.Pages.Add(pageContent); + fixedDocument.Pages.Add(pageContent); } @@ -143,7 +131,6 @@ http://wpf.2000things.com/2011/03/25/256-use-a-fixeddocument-to-display-content- Console.WriteLine("FixedDocumentRenderer - End"); } - public Size PageSize {get;private set;} public IDocumentPaginatorSource Document {get;private set;} #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs index 3a0f040566..47c6962a00 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs @@ -104,12 +104,6 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in items) { baseExportColumn.DrawItem(this.pdfWriter,this.pdfUnitConverter); -// IExportContainer container = baseExportColumn as ExportContainer; -// if (container == null) { -// baseExportColumn.DrawItem(this.pdfWriter,this.pdfUnitConverter); -// } else { -// container.DrawItem(this.pdfWriter,this.pdfUnitConverter); -// } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IMeasurementService.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IMeasurementService.cs deleted file mode 100644 index 24d772f3b8..0000000000 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IMeasurementService.cs +++ /dev/null @@ -1,16 +0,0 @@ -// 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.Drawing; - -namespace ICSharpCode.Reports.Core -{ - /// <summary> - /// Description of IMeasurementService. - /// </summary> -// public interface IMeasurementService -// { -// void FitSectionToItems (Graphics graphics,BaseSection section); -// } -} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs index 9b061e687e..0cfa0c733f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs @@ -222,57 +222,6 @@ namespace ICSharpCode.Reports.Core { #endregion - #region Public Datahandling - /* - public static IDataManager CreateDataManager (ReportSettings reportSettings,ConnectionObject connectionObject) - { - if (reportSettings == null) { - throw new ArgumentNullException("reportSettings"); - } - - if (connectionObject == null) { - throw new ArgumentNullException("connectionObject"); - } - IDataManager dataMan = null; - - if (!String.IsNullOrEmpty(connectionObject.Connection.ConnectionString)) { - SqlDataAccessStrategy sda = new SqlDataAccessStrategy(reportSettings,connectionObject); - dataMan = DataManager.CreateInstance(reportSettings,sda); - } - if (dataMan == null) { - throw new MissingDataManagerException(); - } - return dataMan; - } - - - - /// <summary> - /// Return a valid <see cref="Datamanager"></see> - /// </summary> - /// <param name="model"></param> - /// <returns></returns> - public static IDataManager CreateDataManager (ReportSettings reportSettings) - { - if (reportSettings == null) { - throw new ArgumentNullException("reportSettings"); - } - IDataManager dataMan = null; - - if (!String.IsNullOrEmpty(reportSettings.CommandText)) { - SqlDataAccessStrategy sda = new SqlDataAccessStrategy(reportSettings,null); - dataMan = DataManager.CreateInstance(reportSettings,sda); - } - - if (dataMan == null) { - throw new MissingDataManagerException(); - } - return dataMan; - } - */ - #endregion - - #region Parameter Handling ///<summary> @@ -528,7 +477,7 @@ namespace ICSharpCode.Reports.Core { /// <param name="reportParameters"></param> /// <returns></returns> - public static IReportCreator CreatePageBuilder (IReportModel reportModel, + public static IReportCreator CreatePageBuilder (IReportModel reportModel, DataTable dataTable, ReportParameters reportParameters) { @@ -557,8 +506,8 @@ namespace ICSharpCode.Reports.Core { /// <param name="reportParameters"></param> /// <returns></returns> public static IReportCreator CreatePageBuilder (IReportModel reportModel, - IList list, - ReportParameters reportParameters) + IList list, + ReportParameters reportParameters) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); @@ -705,16 +654,6 @@ namespace ICSharpCode.Reports.Core { } } - -// public ConnectionObject ConnectionObject { -// get { -// return connectionObject; -// } -// set { -// connectionObject = value; -// } -// } - #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/IPreviewControl.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/IPreviewControl.cs new file mode 100644 index 0000000000..32eca27f5a --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/IPreviewControl.cs @@ -0,0 +1,31 @@ +// 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.Collections; +using System.Data; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Drawing.Text; +using System.Globalization; +using System.Windows.Forms; + +using ICSharpCode.Reports.Core.BaseClasses.Printing; +using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Exporter.ExportRenderer; +using ICSharpCode.Reports.Core.Globals; +using ICSharpCode.Reports.Core.Interfaces; + +namespace ICSharpCode.Reports.Core.ReportViewer +{ + public interface IPreviewControl + { + void RunReport(string fileName, ReportParameters parameters); + void RunReport(ReportModel reportModel, ReportParameters parameters); + void RunReport(ReportModel reportModel, DataTable dataTable, ReportParameters parameters); + void RunReport(ReportModel reportModel, IList dataSource, ReportParameters parameters); + void RunReport(ReportModel reportModel, IDataManager dataManager); + PagesCollection Pages { get; } + IReportViewerMessages Messages { get; set; } + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs index 55bdd58e66..13901bea77 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs @@ -21,49 +21,46 @@ namespace ICSharpCode.Reports.Core.ReportViewer /// <summary> /// Description of UserControl1. /// </summary> - public partial class PreviewControl + public partial class PreviewControl : IPreviewControl { - public event EventHandler <EventArgs> PreviewLayoutChanged; + public event EventHandler<EventArgs> PreviewLayoutChanged; + - private float zoom; - + private int pageNumber; private Bitmap bitmap; private PagesCollection pages; private IReportViewerMessages reportViewerMessages; private PreviewRenderer previewRenderer; - + private delegate void invokeDelegate(); private ReportSettings reportSettings; private IDataManager dataManager; - + #region Constructor - - public PreviewControl(){ + + public PreviewControl() + { // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); - this.SetStyle(ControlStyles.DoubleBuffer | - ControlStyles.UserPaint | - ControlStyles.AllPaintingInWmPaint | - ControlStyles.ResizeRedraw, - true); + this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw, true); this.UpdateStyles(); - InitZoomCombo (); - + InitZoomCombo(); + previewRenderer = PreviewRenderer.CreateInstance(); this.CheckEnable(); - SetTransparentBackground (); - + SetTransparentBackground(); - this.numericToolStripTextBox2.Navigate += new EventHandler <PageNavigationEventArgs> (OnNavigate); + + this.numericToolStripTextBox2.Navigate += new EventHandler<PageNavigationEventArgs>(OnNavigate); } - - - private void SetTransparentBackground () + + + private void SetTransparentBackground() { this.printButton.ImageTransparentColor = Color.White; this.pdfButton.ImageTransparentColor = Color.White; @@ -72,38 +69,38 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.backButton.ImageTransparentColor = Color.White; this.lastPageButton.ImageTransparentColor = Color.White; } - + #endregion - - public void RunReport (string fileName,ReportParameters parameters) + + public void RunReport(string fileName, ReportParameters parameters) { if (String.IsNullOrEmpty(fileName)) { throw new ArgumentNullException("fileName"); } ReportModel model = ReportEngine.LoadReportModel(fileName); - this.RunReport(model,parameters); + this.RunReport(model, parameters); } - - - public void RunReport (ReportModel reportModel,ReportParameters parameters) + + + public void RunReport(ReportModel reportModel, ReportParameters parameters) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); } this.SetupViewer(reportModel); - + if (reportModel.DataModel == GlobalEnums.PushPullModel.FormSheet) { RunFormSheet(reportModel); } else { - ReportEngine.CheckForParameters(reportModel,parameters); - this.dataManager = DataManagerFactory.CreateDataManager(reportModel,parameters); - RunDataReport (reportModel,dataManager); + ReportEngine.CheckForParameters(reportModel, parameters); + this.dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters); + RunDataReport(reportModel, dataManager); } } - - - public void RunReport (ReportModel reportModel,DataTable dataTable,ReportParameters parameters) + + + public void RunReport(ReportModel reportModel, DataTable dataTable, ReportParameters parameters) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); @@ -111,14 +108,14 @@ namespace ICSharpCode.Reports.Core.ReportViewer if (dataTable == null) { throw new ArgumentNullException("dataTable"); } - ReportEngine.CheckForParameters(reportModel,parameters); - IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel,dataTable); - - RunReport (reportModel,dataManager); + ReportEngine.CheckForParameters(reportModel, parameters); + IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataTable); + + RunReport(reportModel, dataManager); } - - - public void RunReport (ReportModel reportModel,IList dataSource,ReportParameters parameters) + + + public void RunReport(ReportModel reportModel, IList dataSource, ReportParameters parameters) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); @@ -126,14 +123,14 @@ namespace ICSharpCode.Reports.Core.ReportViewer if (dataSource == null) { throw new ArgumentNullException("dataSource"); } - ReportEngine.CheckForParameters(reportModel,parameters); - IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel,dataSource); - - RunReport (reportModel,dataManager); + ReportEngine.CheckForParameters(reportModel, parameters); + IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource); + + RunReport(reportModel, dataManager); } - - - public void RunReport (ReportModel reportModel,IDataManager dataManager) + + + public void RunReport(ReportModel reportModel, IDataManager dataManager) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); @@ -141,59 +138,60 @@ namespace ICSharpCode.Reports.Core.ReportViewer if (dataManager == null) { throw new ArgumentNullException("dataManager"); } - + this.SetupViewer(reportModel); this.dataManager = dataManager; - RunDataReport(reportModel,dataManager); + RunDataReport(reportModel, dataManager); } - - + + #region Rendering - - private void RunFormSheet (ReportModel reportModel) + + private void RunFormSheet(ReportModel reportModel) { IReportCreator reportCreator = FormPageBuilder.CreateInstance(reportModel); reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); reportCreator.PageCreated += OnPageCreated; reportCreator.BuildExportList(); - ShowCompleted (); + ShowCompleted(); } - - - private void RunDataReport (ReportModel reportModel,IDataManager data) + + + private void RunDataReport(ReportModel reportModel, IDataManager data) { - IReportCreator reportCreator = DataPageBuilder.CreateInstance(reportModel,data); + IReportCreator reportCreator = DataPageBuilder.CreateInstance(reportModel, data); reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); reportCreator.GroupHeaderRendering += new EventHandler<GroupHeaderEventArgs>(GroupHeaderRendering); reportCreator.GroupFooterRendering += GroupFooterRendering; - + reportCreator.RowRendering += new EventHandler<RowRenderEventArgs>(RowRendering); reportCreator.PageCreated += OnPageCreated; reportCreator.BuildExportList(); ShowCompleted(); } - + #endregion - - + + #region Events from worker - - - private void OnPageCreated (object sender, PageCreatedEventArgs e) + + + private void OnPageCreated(object sender, PageCreatedEventArgs e) { this.Pages.Add(e.SinglePage); if (this.Pages.Count == 1) { ShowSelectedPage(); this.pageNumber = 0; } - + } - - - - private void PushPrinting (object sender,SectionRenderEventArgs e) + + + + private void PushPrinting(object sender, SectionRenderEventArgs e) { // string sectionName = e.Section.Name; + } /* if (sectionName == ReportSectionNames.ReportHeader) { Console.WriteLine("PushPrinting :" + ReportSectionNames.ReportHeader); @@ -219,18 +217,17 @@ namespace ICSharpCode.Reports.Core.ReportViewer throw new WrongSectionException(sectionName); } */ - } - - - private void GroupHeaderRendering (object sender, GroupHeaderEventArgs ghea) + + + private void GroupHeaderRendering(object sender, GroupHeaderEventArgs ghea) { // Console.WriteLine("ReportViewer - GroupHeaderRendering :"); // BaseGroupedRow v = ghea.GroupHeader; // v.BackColor = System.Drawing.Color.Red; } - - - private void GroupFooterRendering ( object sender, GroupFooterEventArgs gfea) + + + private void GroupFooterRendering(object sender, GroupFooterEventArgs gfea) { // Console.WriteLine(); // Console.WriteLine("ReportViewer - GroupFooterRendering :"); @@ -239,41 +236,40 @@ namespace ICSharpCode.Reports.Core.ReportViewer // BaseTextItem i = (BaseTextItem)v.Items[0]; // i.Text ="neuer text"; } - - - private void RowRendering (object sender,RowRenderEventArgs rrea) + + + private void RowRendering(object sender, RowRenderEventArgs rrea) { //Console.WriteLine("ReportViewer - RowRendering :"); } - + #endregion - - + + private void AdjustDrawArea() { - if (this.reportSettings != null) { - this.drawingPanel.ClientSize = this.drawingPanel.ClientSize = new Size((int)(this.reportSettings.PageSize.Width * this.zoom), - (int)(this.reportSettings.PageSize.Height * this.zoom)); + if (this.reportSettings != null) { + this.drawingPanel.ClientSize = this.drawingPanel.ClientSize = new Size((int)(this.reportSettings.PageSize.Width * this.zoom), (int)(this.reportSettings.PageSize.Height * this.zoom)); } } - - + + #region setup - - private void SetupViewer (ReportModel reportModel) + + private void SetupViewer(ReportModel reportModel) { this.pages = new PagesCollection(); this.reportSettings = reportModel.ReportSettings; this.AdjustDrawArea(); } - - + + private void ShowCompleted() { if (this.InvokeRequired) { - invokeDelegate updateControl = delegate(){}; + invokeDelegate updateControl = delegate() { }; updateControl = ShowCompleted; - Invoke (updateControl); + Invoke(updateControl); } if (this.dataManager != null) { this.dataManager.GetNavigator.Reset(); @@ -285,26 +281,25 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.UpdateToolStrip(); ShowSelectedPage(); } - + #endregion - + #region ToolStrip - - private void InitZoomCombo () + + private void InitZoomCombo() { - foreach (string s in GlobalLists.ZoomValues()) - { + foreach (string s in GlobalLists.ZoomValues()) { this.comboZoom.Items.Add(s); } this.comboZoom.SelectedIndex = this.comboZoom.FindString("100"); } - - + + void comboZoomSelectedIndexChange(object sender, System.EventArgs e) { if (this.comboZoom.SelectedItem.ToString().IndexOf("%") > 0) { - string s1 = this.comboZoom.SelectedItem.ToString().Substring(0,this.comboZoom.SelectedItem.ToString().IndexOf("%")); - this.zoom = (float)Convert.ToDecimal(s1,CultureInfo.InvariantCulture) / 100; + string s1 = this.comboZoom.SelectedItem.ToString().Substring(0, this.comboZoom.SelectedItem.ToString().IndexOf("%")); + this.zoom = (float)Convert.ToDecimal(s1, CultureInfo.InvariantCulture) / 100; } else { string sel = this.comboZoom.SelectedItem.ToString(); switch (sel) { @@ -316,26 +311,25 @@ namespace ICSharpCode.Reports.Core.ReportViewer break; } } - + this.Invalidate(true); this.Update(); this.AdjustDrawArea(); - if ((this.pages != null) && (pageNumber < pages.Count)) - { - this.ShowSelectedPage(); - } - EventHelper.Raise<EventArgs>(this.PreviewLayoutChanged,this,e); + if ((this.pages != null) && (pageNumber < pages.Count)) { + this.ShowSelectedPage(); + } + EventHelper.Raise<EventArgs>(this.PreviewLayoutChanged, this, e); } - - - private void Localize () + + + private void Localize() { if (this.reportViewerMessages != null) { this.firstPageButton.ToolTipText = this.reportViewerMessages.FirstPageMessage; this.backButton.ToolTipText = this.reportViewerMessages.BackButtonText; this.forwardButton.ToolTipText = this.reportViewerMessages.NextButtonMessage; this.lastPageButton.ToolTipText = this.reportViewerMessages.LastPageMessage; - + this.printButton.ToolTipText = this.reportViewerMessages.PrintButtonMessage; this.comboZoom.ToolTipText = this.reportViewerMessages.ZoomMessage; this.createPdfMenu.Text = this.reportViewerMessages.PdfFileMessage; @@ -343,32 +337,31 @@ namespace ICSharpCode.Reports.Core.ReportViewer // this.pagesCreatedMessage = this.reportViewerMessages.PagesCreatedMessage; } } - - - private void UpdateToolStrip () + + + private void UpdateToolStrip() { if (this.InvokeRequired) { - invokeDelegate updateControl = delegate(){}; + invokeDelegate updateControl = delegate() { }; updateControl = UpdateToolStrip; - Invoke (updateControl); + Invoke(updateControl); } - if (this.toolStrip1 != null){ + if (this.toolStrip1 != null) { string str = String.Empty; if (this.pages != null) { - str = String.Format (CultureInfo.CurrentCulture, - "of {0}",this.pages.Count); + str = String.Format(CultureInfo.CurrentCulture, "of {0}", this.pages.Count); } - this.numericToolStripTextBox2.Text = (this.pageNumber+1).ToString(CultureInfo.CurrentCulture); + this.numericToolStripTextBox2.Text = (this.pageNumber + 1).ToString(CultureInfo.CurrentCulture); this.pageInfoLabel.Text = str; } } - - - private void OnNavigate (object sender, PageNavigationEventArgs e) + + + private void OnNavigate(object sender, PageNavigationEventArgs e) { - int i = e.PageNumber -1; - + int i = e.PageNumber - 1; + if ((i > -1)) { if (i == this.pageNumber) { return; @@ -380,22 +373,22 @@ namespace ICSharpCode.Reports.Core.ReportViewer } } } - + #endregion - - + + #region Drawing - - private void ShowSelectedPage () + + private void ShowSelectedPage() { if (this.InvokeRequired) { - invokeDelegate updateControl = delegate(){}; + invokeDelegate updateControl = delegate() { }; updateControl = ShowSelectedPage; - Invoke (updateControl); + Invoke(updateControl); } if (this.pageNumber < this.pages.Count) { ExporterPage sp = pages[this.pageNumber]; - + if (this.bitmap != null) { this.bitmap.Dispose(); } @@ -405,60 +398,60 @@ namespace ICSharpCode.Reports.Core.ReportViewer } this.UpdateToolStrip(); } - - - private void CenterDisplayPanel() - { - if (this.Width > drawingPanel.Width) - drawingPanel.Left = (this.Width - drawingPanel.Width) / 2; - else - drawingPanel.Left = 3; - } - - - + + + private void CenterDisplayPanel() + { + if (this.Width > drawingPanel.Width) + drawingPanel.Left = (this.Width - drawingPanel.Width) / 2; + else + drawingPanel.Left = 3; + } + + + private void DrawingPanelPaint(object sender, PaintEventArgs e) { e.Graphics.Clear(this.drawingPanel.BackColor); CenterDisplayPanel(); if (this.bitmap != null) { - e.Graphics.DrawImage(this.bitmap,0,0); + e.Graphics.DrawImage(this.bitmap, 0, 0); } } - - - private Bitmap CreateBitmap (ExporterPage page) + + + private Bitmap CreateBitmap(ExporterPage page) { - Bitmap bm = new Bitmap(this.drawingPanel.ClientSize.Width,this.drawingPanel.ClientSize.Height,System.Drawing.Imaging.PixelFormat.Format24bppRgb); - + Bitmap bm = new Bitmap(this.drawingPanel.ClientSize.Width, this.drawingPanel.ClientSize.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb); + using (Graphics gr = Graphics.FromImage(bm)) { // Reset Transform to org. Value gr.Clear(this.drawingPanel.BackColor); // this.Invalidate(); - gr.ScaleTransform(1F,1F); + gr.ScaleTransform(1f, 1f); gr.Clear(this.drawingPanel.BackColor); - gr.ScaleTransform(this.zoom,this.zoom); + gr.ScaleTransform(this.zoom, this.zoom); gr.TextRenderingHint = TextRenderingHint.AntiAlias; gr.PixelOffsetMode = PixelOffsetMode.HighQuality; gr.InterpolationMode = InterpolationMode.High; - + previewRenderer.Graphics = gr; previewRenderer.Page = page; previewRenderer.RenderOutput(); } return bm; } - + #endregion - - + + #region PageNavigation - - private void CheckEnable () + + private void CheckEnable() { - if ((this.pages == null)||(this.pages.Count == 0)) { + if ((this.pages == null) || (this.pages.Count == 0)) { this.firstPageButton.Enabled = false; this.forwardButton.Enabled = false; this.backButton.Enabled = false; @@ -470,10 +463,10 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.backButton.Enabled = true; this.lastPageButton.Enabled = true; } - + } - - + + private void FirstPageButtonClick(object sender, System.EventArgs e) { if ((this.pages != null) && (this.pageNumber > 0)) { @@ -482,75 +475,72 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.CheckEnable(); this.ShowSelectedPage(); } - - - + + + private void BackButtonClick(object sender, System.EventArgs e) { CheckEnable(); if (this.pageNumber > 0) { - this.pageNumber --; - + this.pageNumber--; + } else { - this.pageNumber = this.pages.Count -1; + this.pageNumber = this.pages.Count - 1; } this.CheckEnable(); this.ShowSelectedPage(); } - - + + private void ForwardButtonClick(object sender, System.EventArgs e) { - if (this.pageNumber < this.pages.Count-1) { - this.pageNumber ++; + if (this.pageNumber < this.pages.Count - 1) { + this.pageNumber++; } else { this.pageNumber = 0; } CheckEnable(); this.ShowSelectedPage(); } - - + + private void LastPageButtonClick(object sender, System.EventArgs e) { - this.pageNumber = this.pages.Count -1; + this.pageNumber = this.pages.Count - 1; CheckEnable(); this.ShowSelectedPage(); } - - - + + + private void PrintButton(object sender, System.EventArgs e) { using (PrintDialog dlg = new PrintDialog()) { DialogResult result = dlg.ShowDialog(); - if (result==DialogResult.OK){ - PrintRenderer printer = PrintRenderer.CreateInstance(this.pages,dlg.PrinterSettings); + if (result == DialogResult.OK) { + PrintRenderer printer = PrintRenderer.CreateInstance(this.pages, dlg.PrinterSettings); printer.Start(); printer.RenderOutput(); printer.End(); } } } - - + + private void PdfButtonClick(object sender, EventArgs e) { this.CreatePdf(); } - - - private void CreatePdf () + + + private void CreatePdf() { - using (SaveFileDialog saveDialog = new SaveFileDialog()){ + using (SaveFileDialog saveDialog = new SaveFileDialog()) { saveDialog.FileName = this.reportSettings.ReportName; saveDialog.DefaultExt = "PDF"; saveDialog.ValidateNames = true; - if(saveDialog.ShowDialog() == DialogResult.OK){ - using (PdfRenderer pdfRenderer = PdfRenderer.CreateInstance(this.reportSettings, - this.pages, - saveDialog.FileName, - true)) { + if (saveDialog.ShowDialog() == DialogResult.OK) { + using (PdfRenderer pdfRenderer = PdfRenderer.CreateInstance(this.reportSettings, this.pages, saveDialog.FileName, true)) { pdfRenderer.Start(); pdfRenderer.RenderOutput(); pdfRenderer.End(); @@ -558,18 +548,17 @@ namespace ICSharpCode.Reports.Core.ReportViewer } } } - + #endregion - - private void SetPages () + + private void SetPages() { this.pageNumber = 0; this.CheckEnable(); } - - - public PagesCollection Pages - { + + + public PagesCollection Pages { get { if (this.pages == null) { this.pages = new PagesCollection(); @@ -577,15 +566,15 @@ namespace ICSharpCode.Reports.Core.ReportViewer return this.pages; } } - - - public IReportViewerMessages Messages - { - get { return this.reportViewerMessages;} - set { this.reportViewerMessages = value; + + + public IReportViewerMessages Messages { + get { return this.reportViewerMessages; } + set { + this.reportViewerMessages = value; Localize(); } } - + } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index a5adcb0bf1..c12870b168 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -13,6 +13,7 @@ using System.Windows.Documents; using System.Windows.Media; using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Globals; namespace ICSharpCode.Reports.Core.WPF { @@ -31,79 +32,154 @@ namespace ICSharpCode.Reports.Core.WPF Console.WriteLine("\tCreatepage with {0} items ",exporterPage.Items.Count); FixedPage page = new FixedPage(); //http://www.bing.com/search?q=Convert+Windows+Forms+to+WPF&FORM=QSRE - foreach (var element in exporterPage.Items) { - var item = ItemFactory(element); - page.Children.Add(item); - } + + CreatePageInternal (page,exporterPage.Items); + Console.WriteLine("\tPage created with with {0} items ",page.Children.Count); return page; } + void CreatePageInternal(FixedPage page, ExporterCollection items) + { + foreach (var element in items) + { + var cont = element as ExportContainer; + var item = ItemFactory(element); + if (item != null) { + page.Children.Add(item); + } + } + } + + UIElement ItemFactory (BaseExportColumn column) { - var text = column as ExportText; + Console.WriteLine(" Create {0}",column.ToString()); UIElement element = null; + + var container = column as ExportContainer; + + if (container != null) { + element = CreateContainer(column); + } + + var text = column as ExportText; + if (text != null) { element = CreateTextColumn(text); } return element; } + + private UIElement CreateContainer(BaseExportColumn column) + { + ExportContainer container = column as ExportContainer; + var canvas = new Canvas(); + canvas.Width = column.StyleDecorator.DisplayRectangle.Width; + canvas.Height = column.StyleDecorator.DisplayRectangle.Height; + + FixedPage.SetLeft(canvas,column.StyleDecorator.Location.X); + FixedPage.SetTop(canvas,column.StyleDecorator.Location.Y); + + var conv = new BrushConverter(); + SolidColorBrush b = conv.ConvertFromString(System.Drawing.Color.LightGray.Name) as SolidColorBrush; + canvas.Background = b; + foreach (var element in container.Items) { + var text = element as ExportText; + if (text != null) + { + var textBlock = CreateTextBlock (text); + +// textBlock.ClipToBounds = true; + textBlock.TextWrapping = TextWrapping.Wrap; + + Canvas.SetLeft(textBlock,element.StyleDecorator.Location.X - column.StyleDecorator.Location.X); + Canvas.SetTop(textBlock,element.StyleDecorator.Location.Y - column.StyleDecorator.Location.Y); + +// var m = new System.Windows.Thickness(text.StyleDecorator.Location.X - column.StyleDecorator.Location.X, +// text.StyleDecorator.Location.Y - column.StyleDecorator.Location.Y,0,0); +// t.Margin = m; + Console.WriteLine("{0} - {1} - {2} ",textBlock.Text,textBlock.Width,textBlock.MaxWidth); + + + + canvas.Children.Add(textBlock); + } + } + canvas.Measure(PageSize); + canvas.Arrange(new Rect(new System.Windows.Point(), PageSize)); + canvas.UpdateLayout(); + return canvas; + } + + + UIElement CreateTextColumn(ExportText et) + { + TextBlock tb = CreateTextBlock(et); + + FixedPage.SetLeft(tb,et.StyleDecorator.Location.X ); + FixedPage.SetTop(tb,et.StyleDecorator.Location.Y); + return tb; + } + - TextBlock CreateTextColumn(ExportText et) + TextBlock CreateTextBlock(ExportText et) { TextBlock tb = new TextBlock(); - tb.Text = et.Text; - - SetFont(tb,et.StyleDecorator); - FixedPage.SetLeft(tb,et.StyleDecorator.Location.X ); - FixedPage.SetTop(tb,et.StyleDecorator.Location.Y); + tb.Text = et.Text; + SetFont(tb, et.StyleDecorator); + tb.Width = et.StyleDecorator.DisplayRectangle.Width; + tb.Height = et.StyleDecorator.DisplayRectangle.Height; + tb.MaxHeight = et.StyleDecorator.DisplayRectangle.Height; + tb.MaxWidth = et.StyleDecorator.DisplayRectangle.Width; return tb; } + //points = pixels * 96 / 72 void SetFont(TextBlock tb, TextStyleDecorator styleDecorator) { -// +// // http://msdn.microsoft.com/en-us/library/system.windows.textdecorations.aspx // http://stackoverflow.com/questions/637636/using-a-system-drawing-font-with-a-wpf-label - var s = NewTypeFaceFromFont (styleDecorator.Font); - -// FontFamilyConverter conv = new FontFamilyConverter(); +// var s = NewTypeFaceFromFont (styleDecorator.Font); + +// FontFamilyConverter conv = new FontFamilyConverter(); // FontFamily mfont1 = conv.ConvertFromString(styleDecorator.Font.Name) as FontFamily; // tb.FontFamily = mfont1; tb.FontFamily = new FontFamily(styleDecorator.Font.FontFamily.Name); - tb.FontSize = styleDecorator.Font.GetHeight(); +// var s = styleDecorator.Font.GetHeight(); +// var a = s /97*72; + var b = styleDecorator.Font.Size; + //tb.FontSize = (int)styleDecorator.Font.GetHeight(); + tb.FontSize = b * 96/72; if (styleDecorator.Font.Bold) { tb.FontWeight = FontWeights.Bold; } + Console.WriteLine ("{0} - {1}",styleDecorator.Font.FontFamily.Name,styleDecorator.Font.GetHeight()); } + +/* + using System.Drawing; +using Media = System.Windows.Media; + + Font font = new Font(new System.Drawing.FontFamily("Comic Sans MS"), 10); + //option 1 + Media.FontFamily mfont = new Media.FontFamily(font.Name); + //option 2 does the same thing + Media.FontFamilyConverter conv = new Media.FontFamilyConverter(); + Media.FontFamily mfont1 = conv.ConvertFromString(font.Name) as Media.FontFamily; + //option 3 + Media.FontFamily mfont2 = Media.Fonts.SystemFontFamilies.Where(x => x.Source == font.Name).FirstOrDefault(); + - private static Typeface NewTypeFaceFromFont(System.Drawing.Font f) - { Typeface typeface = null; - FontFamily ff = new FontFamily(f.Name); - if (typeface == null) - { - typeface = new Typeface(ff, (f.Style == System.Drawing.FontStyle.Italic ? FontStyles.Italic : FontStyles.Normal), - (f.Style == System.Drawing.FontStyle.Bold ? FontWeights.Bold : FontWeights.Normal), - FontStretches.Normal); - } - if (typeface == null) - { - typeface = new Typeface(new FontFamily("Arial"), - FontStyles.Italic, - FontWeights.Normal, - FontStretches.Normal); - } - return typeface; - } - - +*/ public void ArrangePage(Size pageSize, FixedPage page) { Console.WriteLine("Arrange page with Size {0}",pageSize); @@ -111,6 +187,8 @@ namespace ICSharpCode.Reports.Core.WPF page.Arrange(new Rect(new System.Windows.Point(), pageSize)); page.UpdateLayout(); } - + + + public System.Windows.Size PageSize {get;set;} } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml new file mode 100644 index 0000000000..37880f11e5 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<UserControl + x:Class="ICSharpCode.Reports.Core.WpfReportViewer.WpfReportViewer" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <Grid> + <Border + BorderBrush="Black" + BorderThickness="3" + CornerRadius="4"> + <StackPanel + Orientation="Horizontal" + HorizontalAlignment="Stretch"> + <StackPanel + Orientation=" Vertical" + Width="100"> + <Button>Hallo 1</Button> + <Button>hallo 2</Button> + </StackPanel> + <DocumentViewer + x:Name="DocumentViewer" + Margin="20,20,20,20" + HorizontalAlignment="Stretch" + Background="White" + Width="984"></DocumentViewer> + </StackPanel> + </Border> + </Grid> +</UserControl> \ No newline at end of file From 9055abce7d7d528f59d0c7485f2097e2fd88fc41 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Thu, 19 May 2011 21:09:34 +0200 Subject: [PATCH 060/168] add missing file --- .../WpfReportViewer/WpfReportViewer.xaml.cs | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs new file mode 100644 index 0000000000..2ac2817a45 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs @@ -0,0 +1,154 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 12.05.2011 + * Time: 21:01 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; + +using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Globals; +using ICSharpCode.Reports.Core.ReportViewer; + +namespace ICSharpCode.Reports.Core.WpfReportViewer +{ + + public interface IWpfReportViewer:IPreviewControl + { + IDocumentPaginatorSource Document {set;} + } + /// <summary> + /// Interaction logic for WpfReportViewer.xaml + /// </summary> + + public partial class WpfReportViewer : UserControl,IWpfReportViewer + { + public WpfReportViewer() + { + InitializeComponent(); + Pages = new PagesCollection(); + } + + + + public IDocumentPaginatorSource Document { + set { + this.DocumentViewer.Document = value; + } + } + +// public event EventHandler<EventArgs> PreviewLayoutChanged; + + public PagesCollection Pages {get;private set;} + + + public IReportViewerMessages Messages { + get { + throw new NotImplementedException(); + } + set { + throw new NotImplementedException(); + } + } + + public void RunReport(string fileName, ReportParameters parameters) + { + if (String.IsNullOrEmpty(fileName)) { + throw new ArgumentNullException("fileName"); + } + ReportModel model = ReportEngine.LoadReportModel(fileName); + this.RunReport(model, parameters); + } + + + public void RunReport(ReportModel reportModel, ReportParameters parameters) + { + if (reportModel == null) { + throw new ArgumentNullException("reportModel"); + } + Pages.Clear(); + if (reportModel.DataModel == GlobalEnums.PushPullModel.FormSheet) + { + RunFormSheet(reportModel); + } else { + ReportEngine.CheckForParameters(reportModel, parameters); + var dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters); + RunReport(reportModel, dataManager); + } + } + + + public void RunReport(ReportModel reportModel, System.Data.DataTable dataTable, ReportParameters parameters) + { + if (reportModel == null) { + throw new ArgumentNullException("reportModel"); + } + if (dataTable == null) { + throw new ArgumentNullException("dataTable"); + } + ReportEngine.CheckForParameters(reportModel, parameters); + IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataTable); + IReportCreator reportCreator = DataPageBuilder.CreateInstance(reportModel, dataManager); +// reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); +// reportCreator.GroupHeaderRendering += new EventHandler<GroupHeaderEventArgs>(GroupHeaderRendering); +// reportCreator.GroupFooterRendering += GroupFooterRendering; +// +// reportCreator.RowRendering += new EventHandler<RowRenderEventArgs>(RowRendering); + reportCreator.PageCreated += OnPageCreated; + reportCreator.BuildExportList(); + } + + + public void RunReport(ReportModel reportModel, System.Collections.IList dataSource, ReportParameters parameters) + { + if (reportModel == null) { + throw new ArgumentNullException("reportModel"); + } + if (dataSource == null) { + throw new ArgumentNullException("dataSource"); + } + ReportEngine.CheckForParameters(reportModel, parameters); + IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource); + + RunReport(reportModel, dataManager); + } + + public void RunReport(ReportModel reportModel, IDataManager dataManager) + { + if (reportModel == null) { + throw new ArgumentNullException("reportModel"); + } + if (dataManager == null) { + throw new ArgumentNullException("dataManager"); + } +// ReportEngine.CheckForParameters(reportModel, parameters); + IReportCreator reportCreator = DataPageBuilder.CreateInstance(reportModel, dataManager); + reportCreator.PageCreated += OnPageCreated; + reportCreator.BuildExportList(); + } + + private void RunFormSheet(ReportModel reportModel) + { + IReportCreator reportCreator = FormPageBuilder.CreateInstance(reportModel); +// reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); + reportCreator.PageCreated += OnPageCreated; + reportCreator.BuildExportList(); + } + + + private void OnPageCreated (object sender,PageCreatedEventArgs e) + { + Pages.Add(e.SinglePage); + } + } +} \ No newline at end of file From 47fa6a86c864e530514115724ab118f4749afd5c Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Thu, 19 May 2011 22:29:55 +0200 Subject: [PATCH 061/168] WpfReportViewer - Plain FixedDocumentViewer Control --- .../Project/WPF/FixedDocumentCreator.cs | 3 ++- .../WpfReportViewer/WpfReportViewer.xaml | 27 +++++-------------- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index c12870b168..061d4e7a2c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -85,7 +85,8 @@ namespace ICSharpCode.Reports.Core.WPF FixedPage.SetTop(canvas,column.StyleDecorator.Location.Y); var conv = new BrushConverter(); - SolidColorBrush b = conv.ConvertFromString(System.Drawing.Color.LightGray.Name) as SolidColorBrush; +// SolidColorBrush b = conv.ConvertFromString(System.Drawing.Color.LightGray.Name) as SolidColorBrush; + SolidColorBrush b = conv.ConvertFromString(column.StyleDecorator.BackColor.Name) as SolidColorBrush; canvas.Background = b; foreach (var element in container.Items) { var text = element as ExportText; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml index 37880f11e5..11128612d6 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml @@ -2,26 +2,11 @@ <UserControl x:Class="ICSharpCode.Reports.Core.WpfReportViewer.WpfReportViewer" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid> - <Border - BorderBrush="Black" - BorderThickness="3" - CornerRadius="4"> - <StackPanel - Orientation="Horizontal" - HorizontalAlignment="Stretch"> - <StackPanel - Orientation=" Vertical" - Width="100"> - <Button>Hallo 1</Button> - <Button>hallo 2</Button> - </StackPanel> - <DocumentViewer - x:Name="DocumentViewer" - Margin="20,20,20,20" - HorizontalAlignment="Stretch" - Background="White" - Width="984"></DocumentViewer> - </StackPanel> - </Border> + + <DocumentViewer + x:Name="DocumentViewer" + HorizontalAlignment="Stretch" + VerticalAlignment="Stretch" + Width="984"></DocumentViewer> </Grid> </UserControl> \ No newline at end of file From bcdb65f1252d6c5ed1180236199585844d6a0907 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Tue, 24 May 2011 20:38:14 +0200 Subject: [PATCH 062/168] WPF - Image from File --- SharpDevelop.Tests.sln | 540 +++++++++--------- .../Project/WPF/WPFReportPreview.cs | 28 +- .../ICSharpCode.Reports.Core.csproj | 4 +- .../ExportRenderer/FixedDocumentRenderer.cs | 24 +- .../ExportRenderer/FlowDocumentRenderer.cs | 97 ---- .../Project/ReportViewer/IPreviewControl.cs | 2 +- .../Project/ReportViewer/ReportViewer.cs | 2 +- .../Project/WPF/ExtensionMethodes.cs | 96 ++++ .../Project/WPF/FixedDocumentCreator.cs | 132 ++--- .../Project/WPF/FlowDocumentCreator.cs | 43 -- .../Project/WpfReportViewer/PreviewModel.cs | 135 +++++ .../WpfReportViewer/WpfReportViewer.xaml.cs | 109 +--- .../ICSharpCode.Core.Presentation.csproj | 4 +- 13 files changed, 576 insertions(+), 640 deletions(-) delete mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FlowDocumentRenderer.cs create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/ExtensionMethodes.cs delete mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FlowDocumentCreator.cs create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewModel.cs diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln index e66c265302..6d8a44bf8a 100644 --- a/SharpDevelop.Tests.sln +++ b/SharpDevelop.Tests.sln @@ -1,69 +1,69 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -# SharpDevelop 4.1.0.7286-alpha +# SharpDevelop 4.1.0.7469-alpha Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -72,45 +72,45 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{ ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" - ProjectSection(SolutionItems) = postProject - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -119,237 +119,239 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{393278 ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -359,235 +361,233 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\Add {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -1203,125 +1203,125 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} {870115DD-960A-4406-A6B9-600BCDC36A03} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} - {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} - {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} - {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} - {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} - {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} - {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} - {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} + {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} + {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} + {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} + {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} + {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} - {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} - {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} - {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} - {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} - {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} - {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} + {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} + {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} + {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} + {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} + {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} + {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} + {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} EndGlobalSection EndGlobal diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs index 6d22e71d3b..7b65e54462 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs @@ -7,18 +7,13 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; -using System.Data; -using System.Drawing; -using System.Windows.Documents; - using ICSharpCode.Reports.Addin.Commands; using ICSharpCode.Reports.Core; -using ICSharpCode.Reports.Core.BaseClasses; -using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Exporter.ExportRenderer; using ICSharpCode.Reports.Core.Globals; -using ICSharpCode.SharpDevelop.Gui; +using ICSharpCode.Reports.Core.ReportViewer; using ICSharpCode.Reports.Core.WpfReportViewer; +using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.Reports.Addin.Project.WPF { @@ -29,8 +24,8 @@ namespace ICSharpCode.Reports.Addin.Project.WPF { ReportDesignerLoader designerLoader; - //DocumentViewer viewer = new DocumentViewer(); IWpfReportViewer viewer = new WpfReportViewer(); + IPreviewModel viewmodel = new PreviewModel(); public WPFReportPreview(ReportDesignerLoader loader,IViewContent content):base(content) { @@ -47,38 +42,35 @@ namespace ICSharpCode.Reports.Addin.Project.WPF { Pages.Clear(); ReportModel model = designerLoader.CreateRenderableModel(); - var c = new CollectParametersCommand(model); - c.Run(); + var collectCmd = new CollectParametersCommand(model); + collectCmd.Run(); switch (model.DataModel) { case GlobalEnums.PushPullModel.FormSheet : { - viewer.RunReport(model,(ReportParameters)null); + viewmodel.RunReport(model,(ReportParameters)null); break; } case GlobalEnums.PushPullModel.PullData:{ - viewer.RunReport(model,(ReportParameters)null); + viewmodel.RunReport(model,(ReportParameters)null); break; } case GlobalEnums.PushPullModel.PushData: { - DataSetFromXsdCommand cmd = new DataSetFromXsdCommand(); + var cmd = new DataSetFromXsdCommand(); cmd.Run(); System.Data.DataSet ds = cmd.DataSet; - viewer.RunReport(model,ds.Tables[0],(ReportParameters)null); + viewmodel.RunReport(model,ds.Tables[0],(ReportParameters)null); break; } default: throw new InvalidReportModelException(); } - -// http://www.xs4all.nl/~wrb/Articles/Article_WPFButtonXPS_01.htm - FixedDocumentRenderer renderer = FixedDocumentRenderer.CreateInstance(model.ReportSettings,viewer.Pages); + FixedDocumentRenderer renderer = FixedDocumentRenderer.CreateInstance(model.ReportSettings,viewmodel.Pages); renderer.Start(); renderer.RenderOutput(); renderer.End(); - viewer.Document = renderer.Document; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index f263aad551..7bb12dee2c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -185,7 +185,6 @@ <Compile Include="Project\Exporter\ExportColumns\IExportContainer.cs" /> <Compile Include="Project\Exporter\ExportRenderer\HTMLRenderer.cs" /> <Compile Include="Project\Exporter\ExportRenderer\PdfRenderer.cs" /> - <Compile Include="Project\Exporter\ExportRenderer\FlowDocumentRenderer.cs" /> <Compile Include="Project\Exporter\FormPageBuilder.cs" /> <Compile Include="Project\Expressions\ExpressionEvaluatorFacade.cs" /> <Compile Include="Project\Expressions\IExpressionEvaluatorFacade.cs" /> @@ -372,8 +371,9 @@ <DependentUpon>WpfReportViewer.xaml</DependentUpon> <SubType>Code</SubType> </Compile> + <Compile Include="Project\WpfReportViewer\PreviewModel.cs" /> + <Compile Include="Project\WPF\ExtensionMethodes.cs" /> <Compile Include="Project\WPF\FixedDocumentCreator.cs" /> - <Compile Include="Project\WPF\FlowDocumentCreator.cs" /> <Compile Include="Project\Xml\BaseItemLoader.cs" /> <Compile Include="Project\Xml\MycroParser.cs" /> <Compile Include="Project\Xml\MycroWriter.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs index 81d6ad5bc9..7410363094 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs @@ -28,8 +28,6 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer private FixedDocument document ; private FixedDocumentCreator docCreator; -// http://www.nbdtech.com/Blog/archive/2009/04/20/wpf-printing-part-2-the-fixed-document.aspx - public static FixedDocumentRenderer CreateInstance (ReportSettings reportSettings,PagesCollection pages) { @@ -37,12 +35,12 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer return instance; } + private FixedDocumentRenderer(ReportSettings reportSettings,PagesCollection pages):base(pages) { this.pages = pages; this.reportSettings = reportSettings; this.docCreator = new FixedDocumentCreator(); - } @@ -52,7 +50,6 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer public override void Start() { base.Start(); - Console.WriteLine("FixedDocumentRenderer - Start"); document = new FixedDocument(); @@ -95,28 +92,10 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer docCreator.ArrangePage(document.DocumentPaginator.PageSize,fixedPage); AddPageToDocument(document,fixedPage); } - -//http://www.ericsink.com/wpf3d/B_Printing.html -// http://www.switchonthecode.com/tutorials/wpf-printing-part-2-pagination - - -// http://stackoverflow.com/questions/3671724/wpf-flowdocument-page-break-positioning -// http://wpf.2000things.com/tag/drawingvisual/ -//http://wpf.2000things.com/2011/03/25/256-use-a-fixeddocument-to-display-content-at-fixed-locations/ - -//http://wpf.2000things.com/2011/03/25/256-use-a-fixeddocument-to-display-content-at-fixed-locations/ -//http://www.neodynamic.com/ND/FaqsTipsTricks.aspx?tabid=66&prodid=0&sid=99 - -//http://www.eggheadcafe.com/tutorials/aspnet/9cbb4841-8677-49e9-a3a8-46031e699b2e/wpf-printing-and-print-pr.aspx -//http://www.eggheadcafe.com/tutorials/aspnet/9cbb4841-8677-49e9-a3a8-46031e699b2e/wpf-printing-and-print-pr.aspx -// -//http://www.eggheadcafe.com/tutorials/aspnet/22ac97f3-4a3d-4fee-a411-e456f77f6a90/wpf-report-engine-part-3.aspx - Document = document; } - void AddPageToDocument(FixedDocument fixedDocument,FixedPage page) { PageContent pageContent = new PageContent(); @@ -128,7 +107,6 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer public override void End() { base.End(); - Console.WriteLine("FixedDocumentRenderer - End"); } public IDocumentPaginatorSource Document {get;private set;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FlowDocumentRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FlowDocumentRenderer.cs deleted file mode 100644 index 4cd3ac63e0..0000000000 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FlowDocumentRenderer.cs +++ /dev/null @@ -1,97 +0,0 @@ -// 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.IO; -using System.IO.Packaging; -using System.Windows.Controls; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Xps; -using System.Windows.Xps.Packaging; - -using ICSharpCode.Reports.Core.WPF; - -namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer -{ - /// <summary> - /// Description of XPSRenderer. - /// </summary> - public class FlowDocumentRenderer:BaseExportRenderer - { - private PagesCollection pages; - private FlowDocumentCreator pageCreator; - - #region Constructor - - public static FlowDocumentRenderer CreateInstance (PagesCollection pages) { - - var instance = new FlowDocumentRenderer(pages); - - return instance; - } - - private FlowDocumentRenderer(PagesCollection pages):base(pages) - { - this.pages = pages; - Console.WriteLine("FlowDocumentRenderer - Create Instance"); - this.pageCreator = new FlowDocumentCreator(); - } - - #endregion - - #region overrides - - public override void Start() - { - base.Start(); - Console.WriteLine("FlowDocumentRenderer - Start"); - } - - - public override void RenderOutput() - { - base.RenderOutput(); - Console.WriteLine("FlowDocumentRenderer - RenderOutput"); - - IDocumentPaginatorSource d = new FlowDocument(pageCreator.CreatePage(pages[0])); - - - if ( d is FlowDocument) - { - // DocumenattViewer does not support FlowDocument, so we'll convert it - MemoryStream xpsStream = new MemoryStream(); - Package package = Package.Open(xpsStream, FileMode.Create, FileAccess.ReadWrite); - string packageUriString = "memorystream://data.xps"; - PackageStore.AddPackage(new Uri(packageUriString), package); - - XpsDocument xpsDocument = new XpsDocument(package, CompressionOption.Normal, packageUriString); - XpsDocumentWriter writer = XpsDocument.CreateXpsDocumentWriter(xpsDocument); - - writer.Write(d.DocumentPaginator); - Document = xpsDocument.GetFixedDocumentSequence(); -// cleanup = delegate { -// viewer.Document = null; -// xpsDocument.Close(); -// package.Close(); -// PackageStore.RemovePackage(new Uri(packageUriString)); -// }; - } - else { - Document = d; - } - } - - - public override void End() - { - base.End(); - Console.WriteLine("FlowDocumentRenderer - End"); - } - - #endregion - - public IDocumentPaginatorSource Document {get;private set;} - } -} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/IPreviewControl.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/IPreviewControl.cs index 32eca27f5a..a425a33ab6 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/IPreviewControl.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/IPreviewControl.cs @@ -18,7 +18,7 @@ using ICSharpCode.Reports.Core.Interfaces; namespace ICSharpCode.Reports.Core.ReportViewer { - public interface IPreviewControl + public interface IPreviewModel { void RunReport(string fileName, ReportParameters parameters); void RunReport(ReportModel reportModel, ReportParameters parameters); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs index 13901bea77..9e1c3a51ed 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs @@ -21,7 +21,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer /// <summary> /// Description of UserControl1. /// </summary> - public partial class PreviewControl : IPreviewControl + public partial class PreviewControl : IPreviewModel { public event EventHandler<EventArgs> PreviewLayoutChanged; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/ExtensionMethodes.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/ExtensionMethodes.cs new file mode 100644 index 0000000000..22f04e4e31 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/ExtensionMethodes.cs @@ -0,0 +1,96 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 21.05.2011 + * Time: 19:41 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Media; +using System.Windows.Documents; +using System.Windows.Forms; + +using WinForms = System.Windows.Forms; + +namespace ICSharpCode.Reports.Core.WPF +{ + /// <summary> + /// Description of ExtensionMethodes. + /// Copy from D:\git_Sharpdevelop_Reporting\src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Project\WPF\ExtensionMethodes.cs + /// </summary> + /// <see cref="D:\git_Sharpdevelop_Reporting\src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Project\WPF\ExtensionMethodes.cs" + public static class ExtensionMethodes + { + + + public static Point ToWpf(this System.Drawing.Point p) + { + return new Point(p.X, p.Y); + } + + public static Size ToWpf(this System.Drawing.Size s) + { + return new Size(s.Width, s.Height); + } + + public static Rect ToWpf(this System.Drawing.Rectangle rect) + { + return new Rect(rect.Location.ToWpf(), rect.Size.ToWpf()); + } + + public static System.Windows.Media.Color ToWpf(this System.Drawing.Color c) + { + return System.Windows.Media.Color.FromArgb(c.A, c.R, c.G, c.B); + } + + + + #region DPI independence + public static Rect TransformToDevice(this Rect rect, Visual visual) + { + Matrix matrix = PresentationSource.FromVisual(visual).CompositionTarget.TransformToDevice; + return Rect.Transform(rect, matrix); + } + + public static Rect TransformFromDevice(this Rect rect, Visual visual) + { + Matrix matrix = PresentationSource.FromVisual(visual).CompositionTarget.TransformFromDevice; + return Rect.Transform(rect, matrix); + } + + public static Size TransformToDevice(this Size size, Visual visual) + { + Matrix matrix = PresentationSource.FromVisual(visual).CompositionTarget.TransformToDevice; + return new Size(size.Width * matrix.M11, size.Height * matrix.M22); + } + + public static Size TransformFromDevice(this Size size, Visual visual) + { + Matrix matrix = PresentationSource.FromVisual(visual).CompositionTarget.TransformFromDevice; + return new Size(size.Width * matrix.M11, size.Height * matrix.M22); + } + + public static Point TransformToDevice(this Point point, Visual visual) + { + Matrix matrix = PresentationSource.FromVisual(visual).CompositionTarget.TransformToDevice; + return new Point(point.X * matrix.M11, point.Y * matrix.M22); + } + + public static Point TransformFromDevice(this Point point, Visual visual) + { + Matrix matrix = PresentationSource.FromVisual(visual).CompositionTarget.TransformFromDevice; + return new Point(point.X * matrix.M11, point.Y * matrix.M22); + } + #endregion + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index 061d4e7a2c..ed83f21fea 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -7,6 +7,8 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; +using System.Drawing.Imaging; +using System.IO; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; @@ -29,14 +31,8 @@ namespace ICSharpCode.Reports.Core.WPF public FixedPage CreatePage(ExporterPage exporterPage) { - Console.WriteLine("\tCreatepage with {0} items ",exporterPage.Items.Count); FixedPage page = new FixedPage(); - //http://www.bing.com/search?q=Convert+Windows+Forms+to+WPF&FORM=QSRE - CreatePageInternal (page,exporterPage.Items); - - - Console.WriteLine("\tPage created with with {0} items ",page.Children.Count); return page; } @@ -45,9 +41,10 @@ namespace ICSharpCode.Reports.Core.WPF { foreach (var element in items) { - var cont = element as ExportContainer; var item = ItemFactory(element); if (item != null) { + FixedPage.SetLeft(item,element.StyleDecorator.Location.X ); + FixedPage.SetTop(item,element.StyleDecorator.Location.Y); page.Children.Add(item); } } @@ -56,13 +53,12 @@ namespace ICSharpCode.Reports.Core.WPF UIElement ItemFactory (BaseExportColumn column) { - Console.WriteLine(" Create {0}",column.ToString()); UIElement element = null; var container = column as ExportContainer; if (container != null) { - element = CreateContainer(column); + element = CreateContainer(container); } var text = column as ExportText; @@ -70,46 +66,37 @@ namespace ICSharpCode.Reports.Core.WPF if (text != null) { element = CreateTextColumn(text); } + + + var image = column as ExportImage; + + if (image != null) + { + element = CreateImageColumn(image); + } return element; } - - private UIElement CreateContainer(BaseExportColumn column) + + private UIElement CreateContainer(ExportContainer container) { - ExportContainer container = column as ExportContainer; + //ExportContainer container = column as ExportContainer; var canvas = new Canvas(); - canvas.Width = column.StyleDecorator.DisplayRectangle.Width; - canvas.Height = column.StyleDecorator.DisplayRectangle.Height; - - FixedPage.SetLeft(canvas,column.StyleDecorator.Location.X); - FixedPage.SetTop(canvas,column.StyleDecorator.Location.Y); + canvas.Width = container.StyleDecorator.DisplayRectangle.Width; + canvas.Height = container.StyleDecorator.DisplayRectangle.Height; var conv = new BrushConverter(); -// SolidColorBrush b = conv.ConvertFromString(System.Drawing.Color.LightGray.Name) as SolidColorBrush; - SolidColorBrush b = conv.ConvertFromString(column.StyleDecorator.BackColor.Name) as SolidColorBrush; - canvas.Background = b; - foreach (var element in container.Items) { - var text = element as ExportText; - if (text != null) - { - var textBlock = CreateTextBlock (text); - -// textBlock.ClipToBounds = true; - textBlock.TextWrapping = TextWrapping.Wrap; - - Canvas.SetLeft(textBlock,element.StyleDecorator.Location.X - column.StyleDecorator.Location.X); - Canvas.SetTop(textBlock,element.StyleDecorator.Location.Y - column.StyleDecorator.Location.Y); - -// var m = new System.Windows.Thickness(text.StyleDecorator.Location.X - column.StyleDecorator.Location.X, -// text.StyleDecorator.Location.Y - column.StyleDecorator.Location.Y,0,0); -// t.Margin = m; - Console.WriteLine("{0} - {1} - {2} ",textBlock.Text,textBlock.Width,textBlock.MaxWidth); - - - - canvas.Children.Add(textBlock); - } + + SolidColorBrush backgroundBrush = conv.ConvertFromString(container.StyleDecorator.BackColor.Name) as SolidColorBrush; + canvas.Background = backgroundBrush; + + foreach (var exportElement in container.Items) { + var uiElement = ItemFactory (exportElement); + Canvas.SetLeft(uiElement,exportElement.StyleDecorator.Location.X - container.StyleDecorator.Location.X); + Canvas.SetTop(uiElement,exportElement.StyleDecorator.Location.Y - container.StyleDecorator.Location.Y); + canvas.Children.Add(uiElement); } + canvas.Measure(PageSize); canvas.Arrange(new Rect(new System.Windows.Point(), PageSize)); canvas.UpdateLayout(); @@ -120,13 +107,34 @@ namespace ICSharpCode.Reports.Core.WPF UIElement CreateTextColumn(ExportText et) { TextBlock tb = CreateTextBlock(et); - - FixedPage.SetLeft(tb,et.StyleDecorator.Location.X ); - FixedPage.SetTop(tb,et.StyleDecorator.Location.Y); return tb; } + UIElement CreateImageColumn(ExportImage exportImage) + { + System.Windows.Media.Imaging.BitmapImage bitmap = BitmapFromImage(exportImage); + Image image = new Image(); + image.Source = bitmap; + image.Width = exportImage.StyleDecorator.DisplayRectangle.Width; + image.Height = exportImage.StyleDecorator.DisplayRectangle.Height; + image.Stretch = System.Windows.Media.Stretch.Fill; + return image; + } + + + System.Windows.Media.Imaging.BitmapImage BitmapFromImage(ExportImage image) + { + var bitmap = new System.Windows.Media.Imaging.BitmapImage(); + bitmap.BeginInit(); + MemoryStream memoryStream = new MemoryStream(); + image.Image.Save(memoryStream, ImageFormat.Bmp); + memoryStream.Seek(0, System.IO.SeekOrigin.Begin); + bitmap.StreamSource = memoryStream; + bitmap.EndInit(); + return bitmap; + } + TextBlock CreateTextBlock(ExportText et) { TextBlock tb = new TextBlock(); @@ -139,51 +147,21 @@ namespace ICSharpCode.Reports.Core.WPF return tb; } - //points = pixels * 96 / 72 void SetFont(TextBlock tb, TextStyleDecorator styleDecorator) { -// -// http://msdn.microsoft.com/en-us/library/system.windows.textdecorations.aspx -// http://stackoverflow.com/questions/637636/using-a-system-drawing-font-with-a-wpf-label - -// var s = NewTypeFaceFromFont (styleDecorator.Font); - -// FontFamilyConverter conv = new FontFamilyConverter(); -// FontFamily mfont1 = conv.ConvertFromString(styleDecorator.Font.Name) as FontFamily; -// tb.FontFamily = mfont1; + tb.FontFamily = new FontFamily(styleDecorator.Font.FontFamily.Name); -// var s = styleDecorator.Font.GetHeight(); -// var a = s /97*72; var b = styleDecorator.Font.Size; - //tb.FontSize = (int)styleDecorator.Font.GetHeight(); tb.FontSize = b * 96/72; if (styleDecorator.Font.Bold) { tb.FontWeight = FontWeights.Bold; } - - Console.WriteLine ("{0} - {1}",styleDecorator.Font.FontFamily.Name,styleDecorator.Font.GetHeight()); } - -/* - using System.Drawing; -using Media = System.Windows.Media; - - Font font = new Font(new System.Drawing.FontFamily("Comic Sans MS"), 10); - //option 1 - Media.FontFamily mfont = new Media.FontFamily(font.Name); - //option 2 does the same thing - Media.FontFamilyConverter conv = new Media.FontFamilyConverter(); - Media.FontFamily mfont1 = conv.ConvertFromString(font.Name) as Media.FontFamily; - //option 3 - Media.FontFamily mfont2 = Media.Fonts.SystemFontFamilies.Where(x => x.Source == font.Name).FirstOrDefault(); - - - -*/ + + public void ArrangePage(Size pageSize, FixedPage page) { - Console.WriteLine("Arrange page with Size {0}",pageSize); page.Measure(pageSize); page.Arrange(new Rect(new System.Windows.Point(), pageSize)); page.UpdateLayout(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FlowDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FlowDocumentCreator.cs deleted file mode 100644 index 46cd76bf99..0000000000 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FlowDocumentCreator.cs +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Created by SharpDevelop. - * User: Peter Forstmeier - * Date: 04.05.2011 - * Time: 20:06 - * - * To change this template use Tools | Options | Coding | Edit Standard Headers. - */ -using System; -using ICSharpCode.Reports.Core.Exporter; - -using System.Windows.Documents; - -namespace ICSharpCode.Reports.Core.WPF -{ - /// <summary> - /// Description of FlowDocumentCreator. - /// </summary> - public class FlowDocumentCreator - { - - ExporterPage page; - - public FlowDocumentCreator() - { - Console.WriteLine("FlowDocumentCreator :Constructor"); - } - - // http://stackoverflow.com/questions/3671724/wpf-flowdocument-page-break-positioning - public Block CreatePage (ExporterPage page) - { - Console.WriteLine("FlowDocumentCreator :CreatePage"); - this.page = page; - Paragraph p = new Paragraph(); - - Run r = new Run("Hallo"); - p.Inlines.Add(r); - - return p; - } - - } -} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewModel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewModel.cs new file mode 100644 index 0000000000..43e609d768 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewModel.cs @@ -0,0 +1,135 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 23.05.2011 + * Time: 20:01 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Globals; +using ICSharpCode.Reports.Core.ReportViewer; + +namespace ICSharpCode.Reports.Core.WpfReportViewer +{ + /// <summary> + /// Description of WpfReportViewModel. + /// </summary> + public class PreviewModel:IPreviewModel + { + public PreviewModel() + { + Pages = new PagesCollection(); + } + + + public System.Windows.Documents.IDocumentPaginatorSource Document { + set { + throw new NotImplementedException(); + } + } + + + public PagesCollection Pages {get;private set;} + + + public ICSharpCode.Reports.Core.ReportViewer.IReportViewerMessages Messages { + get { + throw new NotImplementedException(); + } + set { + throw new NotImplementedException(); + } + } + + public void RunReport(string fileName, ReportParameters parameters) + { + if (String.IsNullOrEmpty(fileName)) { + throw new ArgumentNullException("fileName"); + } + ReportModel model = ReportEngine.LoadReportModel(fileName); + this.RunReport(model, parameters); + } + + public void RunReport(ReportModel reportModel, ReportParameters parameters) + { + if (reportModel == null) { + throw new ArgumentNullException("reportModel"); + } + Pages.Clear(); + if (reportModel.DataModel == GlobalEnums.PushPullModel.FormSheet) + { + RunFormSheet(reportModel); + } else { + ReportEngine.CheckForParameters(reportModel, parameters); + var dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters); + RunReport(reportModel, dataManager); + } + } + + public void RunReport(ReportModel reportModel, System.Data.DataTable dataTable, ReportParameters parameters) + { + if (reportModel == null) { + throw new ArgumentNullException("reportModel"); + } + if (dataTable == null) { + throw new ArgumentNullException("dataTable"); + } + ReportEngine.CheckForParameters(reportModel, parameters); + IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataTable); + IReportCreator reportCreator = DataPageBuilder.CreateInstance(reportModel, dataManager); +// reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); +// reportCreator.GroupHeaderRendering += new EventHandler<GroupHeaderEventArgs>(GroupHeaderRendering); +// reportCreator.GroupFooterRendering += GroupFooterRendering; +// +// reportCreator.RowRendering += new EventHandler<RowRenderEventArgs>(RowRendering); + reportCreator.PageCreated += OnPageCreated; + reportCreator.BuildExportList(); + } + + public void RunReport(ReportModel reportModel, System.Collections.IList dataSource, ReportParameters parameters) + { + if (reportModel == null) { + throw new ArgumentNullException("reportModel"); + } + if (dataSource == null) { + throw new ArgumentNullException("dataSource"); + } + ReportEngine.CheckForParameters(reportModel, parameters); + IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource); + + RunReport(reportModel, dataManager); + } + + public void RunReport(ReportModel reportModel, IDataManager dataManager) + { + if (reportModel == null) { + throw new ArgumentNullException("reportModel"); + } + if (dataManager == null) { + throw new ArgumentNullException("dataManager"); + } +// ReportEngine.CheckForParameters(reportModel, parameters); + IReportCreator reportCreator = DataPageBuilder.CreateInstance(reportModel, dataManager); + reportCreator.PageCreated += OnPageCreated; + reportCreator.BuildExportList(); + } + + + private void RunFormSheet(ReportModel reportModel) + { + IReportCreator reportCreator = FormPageBuilder.CreateInstance(reportModel); +// reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); + reportCreator.PageCreated += OnPageCreated; + reportCreator.BuildExportList(); + } + + + + private void OnPageCreated (object sender,PageCreatedEventArgs e) + { + Pages.Add(e.SinglePage); + } + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs index 2ac2817a45..69755aac91 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs @@ -23,7 +23,7 @@ using ICSharpCode.Reports.Core.ReportViewer; namespace ICSharpCode.Reports.Core.WpfReportViewer { - public interface IWpfReportViewer:IPreviewControl + public interface IWpfReportViewer { IDocumentPaginatorSource Document {set;} } @@ -36,119 +36,14 @@ namespace ICSharpCode.Reports.Core.WpfReportViewer public WpfReportViewer() { InitializeComponent(); - Pages = new PagesCollection(); } - public IDocumentPaginatorSource Document { set { this.DocumentViewer.Document = value; } } - -// public event EventHandler<EventArgs> PreviewLayoutChanged; - - public PagesCollection Pages {get;private set;} - - - public IReportViewerMessages Messages { - get { - throw new NotImplementedException(); - } - set { - throw new NotImplementedException(); - } - } - - public void RunReport(string fileName, ReportParameters parameters) - { - if (String.IsNullOrEmpty(fileName)) { - throw new ArgumentNullException("fileName"); - } - ReportModel model = ReportEngine.LoadReportModel(fileName); - this.RunReport(model, parameters); - } - - - public void RunReport(ReportModel reportModel, ReportParameters parameters) - { - if (reportModel == null) { - throw new ArgumentNullException("reportModel"); - } - Pages.Clear(); - if (reportModel.DataModel == GlobalEnums.PushPullModel.FormSheet) - { - RunFormSheet(reportModel); - } else { - ReportEngine.CheckForParameters(reportModel, parameters); - var dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters); - RunReport(reportModel, dataManager); - } - } - - - public void RunReport(ReportModel reportModel, System.Data.DataTable dataTable, ReportParameters parameters) - { - if (reportModel == null) { - throw new ArgumentNullException("reportModel"); - } - if (dataTable == null) { - throw new ArgumentNullException("dataTable"); - } - ReportEngine.CheckForParameters(reportModel, parameters); - IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataTable); - IReportCreator reportCreator = DataPageBuilder.CreateInstance(reportModel, dataManager); -// reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); -// reportCreator.GroupHeaderRendering += new EventHandler<GroupHeaderEventArgs>(GroupHeaderRendering); -// reportCreator.GroupFooterRendering += GroupFooterRendering; -// -// reportCreator.RowRendering += new EventHandler<RowRenderEventArgs>(RowRendering); - reportCreator.PageCreated += OnPageCreated; - reportCreator.BuildExportList(); - } - - - public void RunReport(ReportModel reportModel, System.Collections.IList dataSource, ReportParameters parameters) - { - if (reportModel == null) { - throw new ArgumentNullException("reportModel"); - } - if (dataSource == null) { - throw new ArgumentNullException("dataSource"); - } - ReportEngine.CheckForParameters(reportModel, parameters); - IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource); - - RunReport(reportModel, dataManager); - } - - public void RunReport(ReportModel reportModel, IDataManager dataManager) - { - if (reportModel == null) { - throw new ArgumentNullException("reportModel"); - } - if (dataManager == null) { - throw new ArgumentNullException("dataManager"); - } -// ReportEngine.CheckForParameters(reportModel, parameters); - IReportCreator reportCreator = DataPageBuilder.CreateInstance(reportModel, dataManager); - reportCreator.PageCreated += OnPageCreated; - reportCreator.BuildExportList(); - } - - private void RunFormSheet(ReportModel reportModel) - { - IReportCreator reportCreator = FormPageBuilder.CreateInstance(reportModel); -// reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); - reportCreator.PageCreated += OnPageCreated; - reportCreator.BuildExportList(); - } - - - private void OnPageCreated (object sender,PageCreatedEventArgs e) - { - Pages.Add(e.SinglePage); - } + } } \ No newline at end of file diff --git a/src/Main/ICSharpCode.Core.Presentation/ICSharpCode.Core.Presentation.csproj b/src/Main/ICSharpCode.Core.Presentation/ICSharpCode.Core.Presentation.csproj index 0787ad21d7..79c6017c40 100644 --- a/src/Main/ICSharpCode.Core.Presentation/ICSharpCode.Core.Presentation.csproj +++ b/src/Main/ICSharpCode.Core.Presentation/ICSharpCode.Core.Presentation.csproj @@ -80,7 +80,9 @@ <Compile Include="GetBitmapExtension.cs" /> <Compile Include="IOptionBindingContainer.cs" /> <Compile Include="IStatusUpdate.cs" /> - <Compile Include="LanguageChangeWeakEventManager.cs" /> + <Compile Include="LanguageChangeWeakEventManager.cs"> + <DependentUpon>IStatusUpdate.cs</DependentUpon> + </Compile> <Compile Include="LocalizeExtension.cs" /> <Compile Include="Menu\IMenuItemBuilder.cs" /> <Compile Include="Menu\MenuCommand.cs" /> From fc920183221f133b005dd131fbb2ab083f421e84 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Thu, 26 May 2011 20:50:05 +0200 Subject: [PATCH 063/168] Font handling in WPF (Bold,Italic etc) --- .../Project/WPF/FixedDocumentCreator.cs | 51 +++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index ed83f21fea..b2d755d9b0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -24,8 +24,12 @@ namespace ICSharpCode.Reports.Core.WPF /// </summary> public class FixedDocumentCreator { + + BrushConverter brushConverter ; + public FixedDocumentCreator() { + brushConverter = new BrushConverter(); } @@ -85,9 +89,9 @@ namespace ICSharpCode.Reports.Core.WPF canvas.Width = container.StyleDecorator.DisplayRectangle.Width; canvas.Height = container.StyleDecorator.DisplayRectangle.Height; - var conv = new BrushConverter(); - SolidColorBrush backgroundBrush = conv.ConvertFromString(container.StyleDecorator.BackColor.Name) as SolidColorBrush; + + SolidColorBrush backgroundBrush = brushConverter.ConvertFromString(container.StyleDecorator.BackColor.Name) as SolidColorBrush; canvas.Background = backgroundBrush; foreach (var exportElement in container.Items) { @@ -150,13 +154,54 @@ namespace ICSharpCode.Reports.Core.WPF void SetFont(TextBlock tb, TextStyleDecorator styleDecorator) { - tb.FontFamily = new FontFamily(styleDecorator.Font.FontFamily.Name); var b = styleDecorator.Font.Size; tb.FontSize = b * 96/72; + tb.Foreground = brushConverter.ConvertFromString(styleDecorator.ForeColor.Name) as SolidColorBrush; if (styleDecorator.Font.Bold) { tb.FontWeight = FontWeights.Bold; } + if (styleDecorator.Font.Underline) { + CreateUnderline(tb,styleDecorator); + } + + if (styleDecorator.Font.Italic) { + tb.FontStyle = System.Windows.FontStyles.Italic ; + } + if (styleDecorator.Font.Strikeout) { + CreateStrikeout(tb,styleDecorator); + } + } + + + void CreateStrikeout (TextBlock tb, TextStyleDecorator styleDecorator) + { + TextDecoration strikeOut = new TextDecoration(); + strikeOut.Location = TextDecorationLocation.Strikethrough; + + Pen p = CreateWpfPen(styleDecorator); + strikeOut.Pen = p ; + strikeOut.PenThicknessUnit = TextDecorationUnit.FontRecommended; + tb.TextDecorations.Add(strikeOut); + } + + void CreateUnderline(TextBlock tb,TextStyleDecorator styleDecorator) + { + TextDecoration underLine = new TextDecoration(); + Pen p = CreateWpfPen(styleDecorator); + underLine.Pen = p ; + underLine.PenThicknessUnit = TextDecorationUnit.FontRecommended; + tb.TextDecorations.Add(underLine); + } + + + Pen CreateWpfPen(TextStyleDecorator styleDecorator) + { + Pen myPen = new Pen(); + SolidColorBrush underlineBrush = brushConverter.ConvertFromString(styleDecorator.ForeColor.Name) as SolidColorBrush; + myPen.Brush = underlineBrush; + myPen.Thickness = 1.5; + return myPen; } From 0e0dbdc3e2ef234a12e728b4490d7da0e7816849 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 27 May 2011 20:43:49 +0200 Subject: [PATCH 064/168] Code duplications in Wizard --- .../ReportWizard/Generators/WizardHelper.cs | 45 +++++++++- .../WizardPanels/PushModelPanel.cs | 77 +++++------------ .../ReportWizard/WizardPanels/ResultPanel.cs | 82 ++++++------------- 3 files changed, 89 insertions(+), 115 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/WizardHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/WizardHelper.cs index d113a15f70..6c8791bb51 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/WizardHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/WizardHelper.cs @@ -3,6 +3,8 @@ using System; using System.Data; +using System.Windows.Forms; + using ICSharpCode.Reports.Core; namespace ICSharpCode.Reports.Addin.ReportWizard @@ -37,6 +39,41 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } + internal static ReportItemCollection CreateItemsCollection (DataSet resultDataSet,DataGridViewColumn[] displayCols) + { + ReportItemCollection sourceItems = WizardHelper.ReportItemCollection(resultDataSet); + ReportItemCollection destItems = WizardHelper.ExtractSelectedItems(sourceItems, displayCols); + return destItems; + } + + + internal static void SetupGridView(DataGridView grdQuery) + { + foreach (DataGridViewColumn dd in grdQuery.Columns) + { + DataGridViewColumnHeaderCheckBoxCell cb = new DataGridViewColumnHeaderCheckBoxCell(); + cb.CheckBoxAlignment = HorizontalAlignment.Left; + cb.Checked = true; + dd.HeaderCell = cb; + } + + } + + + internal static ReportItemCollection ExtractSelectedItems(ReportItemCollection sourceItems,DataGridViewColumn[] displayCols) + { + var destItems = new ReportItemCollection(); + foreach (DataGridViewColumn cc in displayCols) { + DataGridViewColumnHeaderCheckBoxCell hc = (DataGridViewColumnHeaderCheckBoxCell)cc.HeaderCell; + if (hc.Checked) { + BaseReportItem br = (BaseReportItem)sourceItems.Find(cc.HeaderText); + destItems.Add(br); + } + } + return destItems; + } + + internal static ReportItemCollection ReportItemCollection (DataSet dataSet) { if (dataSet == null) { @@ -49,7 +86,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard ICSharpCode.Core.MessageService.ShowError(s); } - ReportItemCollection itemCol = new ReportItemCollection(); + ReportItemCollection destItems = new ReportItemCollection(); foreach (DataTable tbl in dataSet.Tables) { foreach (DataColumn col in tbl.Columns) { @@ -59,7 +96,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard rItem.BaseTableName = tbl.TableName; rItem.Name = col.ColumnName; rItem.ScaleImageToSize = false; - itemCol.Add (rItem); + destItems.Add (rItem); } else { ICSharpCode.Reports.Core.BaseDataItem rItem = new ICSharpCode.Reports.Core.BaseDataItem(); rItem.ColumnName = col.ColumnName; @@ -68,11 +105,11 @@ namespace ICSharpCode.Reports.Addin.ReportWizard rItem.DataType = col.DataType.ToString(); rItem.Name = col.ColumnName; rItem.Text = "=[" + col.ColumnName + "]"; - itemCol.Add (rItem); + destItems.Add (rItem); } } } - return itemCol; + return destItems; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PushModelPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PushModelPanel.cs index 3132fb90c4..74aa1a93df 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PushModelPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PushModelPanel.cs @@ -27,7 +27,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard private ReportStructure reportStructure; private Properties customizer; private DataSet resultDataSet; - private AvailableFieldsCollection abstractColumns; public PushModelPanel() { @@ -36,15 +35,16 @@ namespace ICSharpCode.Reports.Addin.ReportWizard base.EnableCancel = true; base.EnableNext = false; Localize (); - } - void Localize () + + void Localize () { this.label1.Text = ResourceService.GetString("SharpReport.Wizard.PushModel.Path"); this.label2.Text = ResourceService.GetString("SharpReport.Wizard.PushModel.AvailableFields"); } + void BtnPathClick(object sender, System.EventArgs e) { using (OpenFileDialog fdiag = new OpenFileDialog()) { @@ -60,21 +60,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard base.EnableNext = true; base.EnableFinish= true; } - - } - } - - - private AvailableFieldsCollection AvailableFieldsCollectionFromTable (DataTable table) - { - AvailableFieldsCollection av = new AvailableFieldsCollection(); - AbstractColumn ac = null; - foreach (DataColumn dc in resultDataSet.Tables[0].Columns) { - Console.WriteLine("{0} - {1}",dc.ColumnName,dc.DataType); - ac = new AbstractColumn(dc.ColumnName,dc.DataType); - av.Add(ac); } - return av; } @@ -84,41 +70,15 @@ namespace ICSharpCode.Reports.Addin.ReportWizard { this.resultDataSet = new DataSet(); this.resultDataSet.Locale = CultureInfo.CurrentCulture; - resultDataSet.ReadXml (fileName); this.grdQuery.DataSource = resultDataSet.Tables[0]; - this.abstractColumns = WizardHelper.AvailableFieldsCollection(this.resultDataSet); - foreach (DataGridViewColumn dd in this.grdQuery.Columns) { - DataGridViewColumnHeaderCheckBoxCell cb = new DataGridViewColumnHeaderCheckBoxCell(); - cb.CheckBoxAlignment = HorizontalAlignment.Left; - cb.Checked = true; - dd.HeaderCell = cb; - } + WizardHelper.SetupGridView(this.grdQuery); + grdQuery.AllowUserToOrderColumns = true; base.EnableFinish = true; } - + #endregion - // only checked columns are use in the report - - private ReportItemCollection CreateItemsCollection (DataGridViewColumn[] displayCols) - { - ReportItemCollection items = new ReportItemCollection(); - foreach (DataGridViewColumn cc in displayCols) { - DataGridViewColumnHeaderCheckBoxCell hc= (DataGridViewColumnHeaderCheckBoxCell)cc.HeaderCell; - if (hc.Checked) { - AbstractColumn ac = this.abstractColumns.Find(cc.HeaderText); - ICSharpCode.Reports.Core.BaseDataItem br = new ICSharpCode.Reports.Core.BaseDataItem(); - br.Name = ac.ColumnName; - br.ColumnName = ac.ColumnName; - br.DataType = ac.DataTypeName; - br.DBValue = ac.ColumnName; - items.Add(br); - } - } - return items; - } - #region overrides @@ -149,6 +109,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } + private void WriteResult () { if (this.resultDataSet != null) { @@ -165,14 +126,18 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } reportStructure.ReportItemCollection.Clear(); - reportStructure.ReportItemCollection.AddRange(CreateItemsCollection (displayCols)); - if (this.abstractColumns != null) { + var items = WizardHelper.CreateItemsCollection(this.resultDataSet,displayCols); + reportStructure.ReportItemCollection.AddRange(items); + + var abstractColumns = WizardHelper.AvailableFieldsCollection(this.resultDataSet); + if (abstractColumns != null) { reportStructure.AvailableFieldsCollection.Clear(); reportStructure.AvailableFieldsCollection.AddRange(abstractColumns); } } } - + + #endregion #region Windows Forms Designer generated code @@ -193,8 +158,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard // // txtPath // - this.txtPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); + this.txtPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.txtPath.Location = new System.Drawing.Point(16, 63); this.txtPath.Name = "txtPath"; this.txtPath.Size = new System.Drawing.Size(338, 20); @@ -210,8 +175,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard // // btnPath // - this.btnPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); + this.btnPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.btnPath.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnPath.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btnPath.Location = new System.Drawing.Point(383, 58); @@ -240,9 +205,9 @@ namespace ICSharpCode.Reports.Addin.ReportWizard // dataGridView1 // this.grdQuery.AllowUserToOrderColumns = true; - this.grdQuery.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.grdQuery.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.grdQuery.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.grdQuery.Location = new System.Drawing.Point(16, 120); this.grdQuery.Name = "dataGridView1"; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs index ff7e617585..67ea07986b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs @@ -105,10 +105,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard if (t != null) { str = t.Name; } - else { - //str = reportStructure.IDatabaseObjectBase.Parent.Name; str = "Table1"; } return str; @@ -276,13 +274,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard { if (this.resultDataSet != null) { this.grdQuery.DataSource = this.resultDataSet.Tables[0]; - foreach (DataGridViewColumn dd in this.grdQuery.Columns) { - DataGridViewColumnHeaderCheckBoxCell cb = new DataGridViewColumnHeaderCheckBoxCell(); - cb.CheckBoxAlignment = HorizontalAlignment.Right; - cb.Checked = true; - dd.HeaderCell = cb; - dd.SortMode = DataGridViewColumnSortMode.NotSortable; - } + WizardHelper.SetupGridView(this.grdQuery); this.grdQuery.AllowUserToOrderColumns = true; } } @@ -290,55 +282,35 @@ namespace ICSharpCode.Reports.Addin.ReportWizard private void WriteResult () { - if (this.resultDataSet != null) { - // check reordering of columns - DataGridViewColumn[] displayCols; - DataGridViewColumnCollection dc = this.grdQuery.Columns; - - displayCols = new DataGridViewColumn[dc.Count]; - for (int i = 0; i < dc.Count; i++){ - if (dc[i].Visible) { - displayCols[dc[i].DisplayIndex] = dc[i]; - } - } - - - ReportItemCollection sourceItems = WizardHelper.ReportItemCollection(this.resultDataSet); - - AvailableFieldsCollection abstractColumns = WizardHelper.AvailableFieldsCollection(this.resultDataSet); - - ReportItemCollection destItems = new ReportItemCollection(); - - // only checked columns are used in the report - foreach (DataGridViewColumn cc in displayCols) { - DataGridViewColumnHeaderCheckBoxCell hc= (DataGridViewColumnHeaderCheckBoxCell)cc.HeaderCell; - if (hc.Checked) { - BaseReportItem br = (BaseReportItem)sourceItems.Find(cc.HeaderText); - destItems.Add(br); - } - } - - reportStructure.ReportItemCollection.Clear(); - reportStructure.ReportItemCollection.AddRange(destItems); - /* - if ((this.sqlParamsCollection != null) && (this.sqlParamsCollection.Count > 0)) { - reportStructure.SqlQueryParameters.AddRange(sqlParamsCollection); - } - */ - if (abstractColumns != null) { - reportStructure.AvailableFieldsCollection.Clear(); - reportStructure.AvailableFieldsCollection.AddRange(abstractColumns); - } - /* - if ((this.sqlParamsCollection != null) && (this.sqlParamsCollection.Count > 0)) { - reportStructure.SqlQueryParameters.Clear(); - reportStructure.SqlQueryParameters.AddRange(sqlParamsCollection); + if (this.resultDataSet != null) { + // check reordering of columns + DataGridViewColumn[] displayCols; + DataGridViewColumnCollection dc = this.grdQuery.Columns; + + displayCols = new DataGridViewColumn[dc.Count]; + for (int i = 0; i < dc.Count; i++){ + if (dc[i].Visible) { + displayCols[dc[i].DisplayIndex] = dc[i]; } - */ } - base.EnableNext = true; - base.EnableFinish = true; + + ReportItemCollection destItems = WizardHelper.CreateItemsCollection(this.resultDataSet,displayCols); + reportStructure.ReportItemCollection.Clear(); + reportStructure.ReportItemCollection.AddRange(destItems); + + + var abstractColumns = WizardHelper.AvailableFieldsCollection(this.resultDataSet); + if (abstractColumns != null) { + reportStructure.AvailableFieldsCollection.Clear(); + reportStructure.AvailableFieldsCollection.AddRange(abstractColumns); + } + + } + base.EnableNext = true; + base.EnableFinish = true; } + + #endregion protected override void Dispose(bool disposing) From ff5f93c1c4e3ab6266c2af140fcf8531588d1a3d Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sat, 28 May 2011 20:21:32 +0200 Subject: [PATCH 065/168] Code duplications --- .../Project/ReportItems/BaseImageItem.cs | 50 ++++++--------- .../TypeProviders/ImageItemTypeProvider.cs | 6 ++ .../ReportWizard/Generators/WizardHelper.cs | 27 +++++--- .../BaseItems/Graphics/BaseImageItem.cs | 58 +++++------------ .../BaseItems/Graphics/BaseLineItem.cs | 64 ++++++------------- .../Project/BaseItems/IDataItem.cs | 2 + 6 files changed, 80 insertions(+), 127 deletions(-) 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 43d77d406b..786811a749 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 @@ -23,12 +23,8 @@ namespace ICSharpCode.Reports.Addin { private string imageFileName; private Image image; - private bool scaleImageToSize; private GlobalEnums.ImageSource imageSource; - private string columnName; - private string baseTableName; private string reportFileName; - private string relativeFileName; public BaseImageItem() { @@ -56,7 +52,7 @@ namespace ICSharpCode.Reports.Addin this.ClientRectangle.Bottom -1); base.DrawControl(graphics,rect); - if (this.scaleImageToSize) { + if (this.ScaleImageToSize) { graphics.DrawImageUnscaled(this.Image,this.Location.X,this.Location.Y); } else { graphics.DrawImage(this.Image,this.ClientRectangle); @@ -72,7 +68,7 @@ namespace ICSharpCode.Reports.Addin get { return imageFileName; } set { imageFileName = value; if (!String.IsNullOrEmpty(reportFileName)) { - this.relativeFileName = FileUtility.GetRelativePath(Path.GetFullPath(this.reportFileName),Path.GetFullPath(this.ImageFileName)); + this.RelativeFileName = FileUtility.GetRelativePath(Path.GetFullPath(this.reportFileName),Path.GetFullPath(this.ImageFileName)); } } } @@ -156,10 +152,8 @@ namespace ICSharpCode.Reports.Addin [Category("Layout")] - public bool ScaleImageToSize { - get { return scaleImageToSize; } - set { scaleImageToSize = value; } - } + public bool ScaleImageToSize {get;set;} + [Category("Image")] @@ -171,22 +165,16 @@ namespace ICSharpCode.Reports.Addin - [Category("Image from Database")] - public string ColumnName { - get { return columnName; } - set { - columnName = value; - } - } + [Category("DataBinding")] + public string ColumnName {get;set;} - [Category("Image from Database")] - public string BaseTableName { - get { return baseTableName; } - set { - baseTableName = value; - } - } + [Category("DataBinding")] + public string BaseTableName {get;set;} + + + [Category("DataBinding")] + public string DataType {get;set;} [XmlIgnoreAttribute] @@ -199,10 +187,8 @@ namespace ICSharpCode.Reports.Addin [Category("Image")] [Browsable(false)] - public string RelativeFileName { - get { return relativeFileName; } - set { relativeFileName = value;} - } + public string RelativeFileName {get;set;} + [XmlIgnoreAttribute] @@ -211,12 +197,12 @@ namespace ICSharpCode.Reports.Addin public string AbsoluteFileName { get { - if (!string.IsNullOrEmpty(relativeFileName)) { + if (!string.IsNullOrEmpty(RelativeFileName)) { Console.WriteLine(""); string testFileName = String.Empty; if (! String.IsNullOrEmpty(reportFileName)) { - testFileName = FileUtility.NormalizePath(Path.Combine(Path.GetDirectoryName(this.reportFileName),this.relativeFileName)); + testFileName = FileUtility.NormalizePath(Path.Combine(Path.GetDirectoryName(this.reportFileName),this.RelativeFileName)); } if (File.Exists(testFileName)){ @@ -225,7 +211,7 @@ namespace ICSharpCode.Reports.Addin } else { Console.WriteLine("AbsoluteFileName can't load image"); Console.WriteLine("Report Filename {0}",this.reportFileName); - Console.WriteLine("Relative Filename {0}",this.relativeFileName); + Console.WriteLine("Relative Filename {0}",this.RelativeFileName); Console.WriteLine("Image Filename {0}",this.ImageFileName); } } @@ -233,6 +219,8 @@ namespace ICSharpCode.Reports.Addin } } + public new string Name {get;set;} + #endregion } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/ImageItemTypeProvider.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/ImageItemTypeProvider.cs index 8a658aec7e..fa68194868 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/ImageItemTypeProvider.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/ImageItemTypeProvider.cs @@ -80,6 +80,12 @@ namespace ICSharpCode.Reports.Addin.TypeProviders prop = props.Find("BaseTableName",true); allProperties.Add(prop); + prop = props.Find("Name",true); + allProperties.Add(prop); + + prop = props.Find("DataType",true); + allProperties.Add(prop); + return new PropertyDescriptorCollection(allProperties.ToArray()); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/WizardHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/WizardHelper.cs index 6c8791bb51..fda020c2d5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/WizardHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/WizardHelper.cs @@ -89,21 +89,20 @@ namespace ICSharpCode.Reports.Addin.ReportWizard ReportItemCollection destItems = new ReportItemCollection(); foreach (DataTable tbl in dataSet.Tables) { - foreach (DataColumn col in tbl.Columns) { - if (col.DataType == typeof(System.Byte[])) { + foreach (DataColumn col in tbl.Columns) + { + if (col.DataType == typeof(System.Byte[])) + { ICSharpCode.Reports.Core.BaseImageItem rItem = new ICSharpCode.Reports.Core.BaseImageItem(); + InitializeItem(rItem,col); rItem.ColumnName = col.ColumnName; - rItem.BaseTableName = tbl.TableName; - rItem.Name = col.ColumnName; rItem.ScaleImageToSize = false; destItems.Add (rItem); - } else { + } else + { ICSharpCode.Reports.Core.BaseDataItem rItem = new ICSharpCode.Reports.Core.BaseDataItem(); - rItem.ColumnName = col.ColumnName; + InitializeItem(rItem,col); rItem.DBValue = col.ColumnName; - rItem.BaseTableName = tbl.TableName; - rItem.DataType = col.DataType.ToString(); - rItem.Name = col.ColumnName; rItem.Text = "=[" + col.ColumnName + "]"; destItems.Add (rItem); } @@ -113,6 +112,16 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } + static void InitializeItem (IDataItem rItem, DataColumn col) + { + rItem.ColumnName = col.ColumnName; + rItem.Name = col.ColumnName; + rItem.BaseTableName = col.Table.TableName; + rItem.DataType = col.DataType.ToString(); + } + + + internal static ICSharpCode.Reports.Core.BaseTextItem CreateTextItem (string text) { ICSharpCode.Reports.Core.BaseTextItem textItem = new ICSharpCode.Reports.Core.BaseTextItem(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs index ec6f40ac1e..79f918f76e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs @@ -26,12 +26,8 @@ namespace ICSharpCode.Reports.Core { private string imageFileName; private Image image; - private bool scaleImageToSize; private GlobalEnums.ImageSource imageSource; private string columnName; - private string baseTableName; - private string reportFileName; - private string relativeFileName; public BaseImageItem():base() { } @@ -49,7 +45,7 @@ namespace ICSharpCode.Reports.Core { } item.Image = this.Image; - item.ScaleImageToSize = this.scaleImageToSize; + item.ScaleImageToSize = this.ScaleImageToSize; return item; } @@ -126,7 +122,7 @@ namespace ICSharpCode.Reports.Core { base.DisplayRectangle.Height) ); } - if (this.scaleImageToSize) { + if (this.ScaleImageToSize) { g.DrawImageUnscaled(this.Image,this.Location.X,this.Location.Y); rpea.LocationAfterDraw = new Point (this.Location.X + this.Image.Width, this.Location.Y + this.Image.Height); @@ -154,20 +150,13 @@ namespace ICSharpCode.Reports.Core { } - public string BaseTableName - { - get { return baseTableName; } - set { - baseTableName = value; - this.imageSource = GlobalEnums.ImageSource.Database; - } - } + public string BaseTableName {get;set;} public string MappingName { get { - return baseTableName + "." + columnName; + return BaseTableName + "." + columnName; } } @@ -192,20 +181,20 @@ namespace ICSharpCode.Reports.Core { public string AbsoluteFileName { get { - if (!string.IsNullOrEmpty(relativeFileName)) { - string testFileName = FileUtility.NormalizePath(Path.Combine(Path.GetDirectoryName(this.reportFileName),this.relativeFileName)); + if (!string.IsNullOrEmpty(RelativeFileName)) { + string testFileName = FileUtility.NormalizePath(Path.Combine(Path.GetDirectoryName(this.ReportFileName),this.RelativeFileName)); if (File.Exists(testFileName)){ Console.WriteLine("Image found with Relative Filename"); - Console.WriteLine("Report Filename {0}",this.reportFileName); - Console.WriteLine("Relative Filename {0}",this.relativeFileName); + Console.WriteLine("Report Filename {0}",this.ReportFileName); + Console.WriteLine("Relative Filename {0}",this.RelativeFileName); Console.WriteLine("Image Filename {0}",this.ImageFileName); return testFileName; } else { Console.WriteLine("AbsoluteFileName can't load image"); - Console.WriteLine("Report Filename {0}",this.reportFileName); - Console.WriteLine("Relative Filename {0}",this.relativeFileName); + Console.WriteLine("Report Filename {0}",this.ReportFileName); + Console.WriteLine("Relative Filename {0}",this.RelativeFileName); Console.WriteLine("Image Filename {0}",this.ImageFileName); } } @@ -215,21 +204,10 @@ namespace ICSharpCode.Reports.Core { } - public string RelativeFileName - { - get { return relativeFileName; } - set { relativeFileName = value; } - } + public string RelativeFileName {get;set;} - - public string ReportFileName - { - get { return reportFileName; } - set { - reportFileName = value; - } - } + public string ReportFileName {get;set;} /// <summary> @@ -270,15 +248,7 @@ namespace ICSharpCode.Reports.Core { ///<summary> /// enlarge / Shrink the Controls Size /// </summary> - public bool ScaleImageToSize - { - get { - return scaleImageToSize; - } - set { - scaleImageToSize = value; - } - } + public bool ScaleImageToSize{get;set;} public override Color BackColor { @@ -310,6 +280,8 @@ namespace ICSharpCode.Reports.Core { set { base.Thickness = value; } } + public string DataType {get;set;} + #endregion } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs index 0cadcabd43..0948cda060 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs @@ -20,11 +20,11 @@ namespace ICSharpCode.Reports.Core { public class BaseLineItem : BaseGraphicItem,IExportColumnBuilder { private LineShape shape = new LineShape(); - private Point fromPoint; - private Point toPoint; - private LineCap startLineCap; - private LineCap endLineCap; - private DashCap dashLineCap; +// private Point fromPoint; +// private Point toPoint; +// private LineCap startLineCap; +// private LineCap endLineCap; +// private DashCap dashLineCap; #region Constructor @@ -55,19 +55,19 @@ namespace ICSharpCode.Reports.Core { decorator.Thickness = base.Thickness; decorator.DashStyle = base.DashStyle; - decorator.From = this.fromPoint; - decorator.To = this.toPoint; + decorator.From = this.FromPoint; + decorator.To = this.ToPoint; return decorator; } Size CalculateLineSize() { int dif = 0; - if (fromPoint.Y < toPoint.Y) { + if (FromPoint.Y < ToPoint.Y) { // - dif = toPoint.Y - fromPoint.Y; + dif = ToPoint.Y - FromPoint.Y; } else { - dif = fromPoint.Y - toPoint.Y; + dif = FromPoint.Y - ToPoint.Y; } return new Size (Size.Width, dif + ICSharpCode.Reports.Core.Globals.GlobalValues.GapBetweenContainer); } @@ -84,10 +84,10 @@ namespace ICSharpCode.Reports.Core { shape.DrawShape (rpea.PrintPageEventArgs.Graphics, new BaseLine (this.ForeColor,base.DashStyle, base.Thickness, - this.startLineCap, - this.endLineCap, - this.dashLineCap), - new Point(base.DisplayRectangle.Left + this.fromPoint.X, + this.StartLineCap, + this.EndLineCap, + this.DashLineCap), + new Point(base.DisplayRectangle.Left + this.FromPoint.X, this.FromPoint.Y + base.DisplayRectangle.Top), new Point (base.DisplayRectangle.Left + this.ToPoint.X, this.ToPoint.Y + base.DisplayRectangle.Top)); @@ -100,39 +100,15 @@ namespace ICSharpCode.Reports.Core { return "BaseLineItem"; } - public virtual Point FromPoint { - get { - return this.fromPoint; - } - set { - fromPoint = value; - } - } - - - public virtual Point ToPoint { - get { - return this.toPoint; - } - set { - toPoint = value; - } - } + public virtual Point FromPoint {get;set;} + public virtual Point ToPoint {get;set;} + + public LineCap StartLineCap {get;set;} - public LineCap StartLineCap { - get { return startLineCap; } - set { startLineCap = value; } - } + public LineCap EndLineCap {get;set;} - public LineCap EndLineCap { - get { return endLineCap; } - set { endLineCap = value; } - } + public DashCap DashLineCap {get;set;} - public DashCap DashLineCap { - get { return dashLineCap; } - set { dashLineCap = value; } - } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/IDataItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/IDataItem.cs index 0514ff8c52..c9db6908bd 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/IDataItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/IDataItem.cs @@ -24,5 +24,7 @@ namespace ICSharpCode.Reports.Core string MappingName { get; } string BaseTableName { get; set; } string DBValue {get;set;} + string Name {get;set;} + string DataType {get;set;} } } From d662eb78985ed59d5db47098c37c38e16647e0dc Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Mon, 30 May 2011 20:19:42 +0200 Subject: [PATCH 066/168] Draw Border in FixedPage --- .../Project/WPF/FixedDocumentCreator.cs | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index b2d755d9b0..18744b815b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -58,9 +58,10 @@ namespace ICSharpCode.Reports.Core.WPF UIElement ItemFactory (BaseExportColumn column) { UIElement element = null; + System.Windows.Controls.Border border = null; - var container = column as ExportContainer; + var container = column as ExportContainer; if (container != null) { element = CreateContainer(container); } @@ -68,7 +69,20 @@ namespace ICSharpCode.Reports.Core.WPF var text = column as ExportText; if (text != null) { - element = CreateTextColumn(text); + + if (column.StyleDecorator.DrawBorder) { + border = new System.Windows.Controls.Border(); + border.Padding = new Thickness(1); + border.BorderThickness = new Thickness(2); + border.CornerRadius = new CornerRadius(2); + border.BorderBrush = brushConverter.ConvertFromString(column.StyleDecorator.ForeColor.Name) as SolidColorBrush; + var t = CreateTextBlock(text); + border.Child = t; + element = border; + } else { + + element = CreateTextBlock (text); + } } @@ -78,6 +92,8 @@ namespace ICSharpCode.Reports.Core.WPF { element = CreateImageColumn(image); } + + return element; } From 60ce1e365a8a3e1d7d094ec047732249443289c4 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Wed, 1 Jun 2011 20:56:11 +0200 Subject: [PATCH 067/168] Draw Line in FixedPage --- .../Project/WPF/FixedDocumentCreator.cs | 49 +++++++++++++++++-- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index 18744b815b..c52b3c4060 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -66,8 +66,12 @@ namespace ICSharpCode.Reports.Core.WPF element = CreateContainer(container); } - var text = column as ExportText; + var exportGraphic = column as ExportGraphic; + if (exportGraphic != null) { + element = CreateGraphicsElement(exportGraphic); + } + var text = column as ExportText; if (text != null) { if (column.StyleDecorator.DrawBorder) { @@ -97,14 +101,42 @@ namespace ICSharpCode.Reports.Core.WPF return element; } + UIElement CreateGraphicsElement(ExportGraphic column) + { + var line = new System.Windows.Shapes.Line(); + line.Stroke = brushConverter.ConvertFromString(column.StyleDecorator.ForeColor.Name) as SolidColorBrush; + line.StrokeThickness = column.StyleDecorator.Thickness; + + var ld = column.StyleDecorator as LineDecorator; + + if (ld != null) { + line.X1 = ld.From.X; + line.Y1 = ld.From.Y; + line.X2 = ld.To.X; + line.Y2 = ld.To.Y; + } else { + line.X1 = column.StyleDecorator.Location.X; + line.Y1 = column.StyleDecorator.Location.Y; + line.X2 = column.StyleDecorator.DisplayRectangle.Width; + line.Y2 = column.StyleDecorator.Location.Y; + } + return line; + } + private UIElement CreateContainer(ExportContainer container) { - //ExportContainer container = column as ExportContainer; + var canvas = new Canvas(); canvas.Width = container.StyleDecorator.DisplayRectangle.Width; canvas.Height = container.StyleDecorator.DisplayRectangle.Height; + var rect = container as ExportGraphicContainer; + if (rect != null) { + Console.WriteLine("GraphicContainer"); + var bs = rect.StyleDecorator as IGraphicStyleDecorator; + DrawShape (canvas,bs); + } SolidColorBrush backgroundBrush = brushConverter.ConvertFromString(container.StyleDecorator.BackColor.Name) as SolidColorBrush; @@ -122,6 +154,12 @@ namespace ICSharpCode.Reports.Core.WPF canvas.UpdateLayout(); return canvas; } + + void DrawShape(Canvas canvas, IGraphicStyleDecorator bs) + { + var shape = bs.Shape; + + } UIElement CreateTextColumn(ExportText et) @@ -162,12 +200,17 @@ namespace ICSharpCode.Reports.Core.WPF SetFont(tb, et.StyleDecorator); tb.Width = et.StyleDecorator.DisplayRectangle.Width; tb.Height = et.StyleDecorator.DisplayRectangle.Height; +// SetDimension(tb,et.StyleDecorator); tb.MaxHeight = et.StyleDecorator.DisplayRectangle.Height; tb.MaxWidth = et.StyleDecorator.DisplayRectangle.Width; return tb; } - +// void SetDimension (System.Windows.Controls.Control element,BaseStyleDecorator decorator) +// { +// element.Width = decorator.DisplayRectangle.Width; +// } + void SetFont(TextBlock tb, TextStyleDecorator styleDecorator) { tb.FontFamily = new FontFamily(styleDecorator.Font.FontFamily.Name); From 65549f524e4a22eccf3093179aa573e966f6a456 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sat, 4 Jun 2011 17:24:44 +0200 Subject: [PATCH 068/168] Circle and Rectangle in FixedPage --- .../Project/WPF/ExtensionMethodes.cs | 1 - .../Project/WPF/FixedDocumentCreator.cs | 187 ++++++++++++------ 2 files changed, 128 insertions(+), 60 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/ExtensionMethodes.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/ExtensionMethodes.cs index 22f04e4e31..bb949953c1 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/ExtensionMethodes.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/ExtensionMethodes.cs @@ -7,7 +7,6 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; -using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index c52b3c4060..e3607e41d8 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -60,6 +60,11 @@ namespace ICSharpCode.Reports.Core.WPF UIElement element = null; System.Windows.Controls.Border border = null; + var graphicContainer = column as ExportGraphicContainer; + if ( graphicContainer != null) { + element = CreateGraphicsContainer(graphicContainer); + return element; + } var container = column as ExportContainer; if (container != null) { @@ -73,19 +78,15 @@ namespace ICSharpCode.Reports.Core.WPF var text = column as ExportText; if (text != null) { - + var t = CreateTextBlock(text); if (column.StyleDecorator.DrawBorder) { - border = new System.Windows.Controls.Border(); - border.Padding = new Thickness(1); - border.BorderThickness = new Thickness(2); - border.CornerRadius = new CornerRadius(2); - border.BorderBrush = brushConverter.ConvertFromString(column.StyleDecorator.ForeColor.Name) as SolidColorBrush; - var t = CreateTextBlock(text); + border = CreateBorder(column.StyleDecorator as BaseStyleDecorator); border.Child = t; element = border; - } else { - - element = CreateTextBlock (text); + } + else + { + element = t; } } @@ -97,10 +98,23 @@ namespace ICSharpCode.Reports.Core.WPF element = CreateImageColumn(image); } - return element; } + + #region GraphicsElement (Line etc) + + System.Windows.Controls.Border CreateBorder( BaseStyleDecorator column) + { + var border = new System.Windows.Controls.Border(); + border.Padding = new Thickness(1); + border.BorderThickness = new Thickness(2); + border.CornerRadius = new CornerRadius(2); + border.BorderBrush = brushConverter.ConvertFromString(column.ForeColor.Name) as SolidColorBrush; + return border; + } + + UIElement CreateGraphicsElement(ExportGraphic column) { var line = new System.Windows.Shapes.Line(); @@ -111,34 +125,66 @@ namespace ICSharpCode.Reports.Core.WPF if (ld != null) { line.X1 = ld.From.X; - line.Y1 = ld.From.Y; - line.X2 = ld.To.X; - line.Y2 = ld.To.Y; + line.Y1 = ld.From.Y; + line.X2 = ld.To.X; + line.Y2 = ld.To.Y; } else { line.X1 = column.StyleDecorator.Location.X; - line.Y1 = column.StyleDecorator.Location.Y; - line.X2 = column.StyleDecorator.DisplayRectangle.Width; - line.Y2 = column.StyleDecorator.Location.Y; + line.Y1 = column.StyleDecorator.Location.Y; + line.X2 = column.StyleDecorator.DisplayRectangle.Width; + line.Y2 = column.StyleDecorator.Location.Y; } return line; } + #endregion - private UIElement CreateContainer(ExportContainer container) + #region Container + UIElement CreateGraphicsContainer(ExportGraphicContainer graphicContainer) { + Console.WriteLine("GraphicContainer"); + IGraphicStyleDecorator decorator = graphicContainer.StyleDecorator as IGraphicStyleDecorator; + UIElement shape = null; + var ss = decorator.Shape as EllipseShape; - var canvas = new Canvas(); - canvas.Width = container.StyleDecorator.DisplayRectangle.Width; - canvas.Height = container.StyleDecorator.DisplayRectangle.Height; - - var rect = container as ExportGraphicContainer; - if (rect != null) { - Console.WriteLine("GraphicContainer"); - var bs = rect.StyleDecorator as IGraphicStyleDecorator; - DrawShape (canvas,bs); + if (ss != null) { + + var circle = new System.Windows.Shapes.Ellipse(); + SetDimension(circle,decorator); + circle.Fill = brushConverter.ConvertFromString(decorator.BackColor.Name) as SolidColorBrush; + circle.StrokeThickness = decorator.Thickness; + circle.Stroke = brushConverter.ConvertFromString(decorator.ForeColor.Name) as SolidColorBrush; + shape = circle; + + } + else + + { + + var border = CreateBorder(decorator as BaseStyleDecorator); + SetDimension(border,decorator); + + RectangleShape rs = decorator.Shape as RectangleShape; + + border.CornerRadius = new CornerRadius(rs.CornerRadius); + border.BorderThickness = new Thickness(decorator.Thickness); + border.BorderBrush = brushConverter.ConvertFromString(decorator.ForeColor.Name) as SolidColorBrush; + shape = border; + } + - + return shape; + } + + + + private UIElement CreateContainer(ExportContainer container) + { + Console.WriteLine("CreateContainer"); + var canvas = new Canvas(); + SetDimension(canvas,container.StyleDecorator); + SolidColorBrush backgroundBrush = brushConverter.ConvertFromString(container.StyleDecorator.BackColor.Name) as SolidColorBrush; canvas.Background = backgroundBrush; @@ -155,11 +201,25 @@ namespace ICSharpCode.Reports.Core.WPF return canvas; } - void DrawShape(Canvas canvas, IGraphicStyleDecorator bs) + #endregion + + /* + void CreateShape(Canvas canvas, IGraphicStyleDecorator bs) { var shape = bs.Shape; + UIElement element = null; + if (shape is RectangleShape) { + element = new System.Windows.Controls.Border(); + + } + if (element != null) { + canvas.Children.Add(element); + Canvas.SetLeft(element,bs.Location.X); + Canvas.SetTop(element,bs.Location.Y); + } } +*/ UIElement CreateTextColumn(ExportText et) @@ -169,13 +229,14 @@ namespace ICSharpCode.Reports.Core.WPF } + #region Image + UIElement CreateImageColumn(ExportImage exportImage) { System.Windows.Media.Imaging.BitmapImage bitmap = BitmapFromImage(exportImage); Image image = new Image(); image.Source = bitmap; - image.Width = exportImage.StyleDecorator.DisplayRectangle.Width; - image.Height = exportImage.StyleDecorator.DisplayRectangle.Height; + SetDimension(image,exportImage.StyleDecorator); image.Stretch = System.Windows.Media.Stretch.Fill; return image; } @@ -193,47 +254,44 @@ namespace ICSharpCode.Reports.Core.WPF return bitmap; } - TextBlock CreateTextBlock(ExportText et) + #endregion + + #region TextBlock + + TextBlock CreateTextBlock(ExportText exportText) { - TextBlock tb = new TextBlock(); - tb.Text = et.Text; - SetFont(tb, et.StyleDecorator); - tb.Width = et.StyleDecorator.DisplayRectangle.Width; - tb.Height = et.StyleDecorator.DisplayRectangle.Height; -// SetDimension(tb,et.StyleDecorator); - tb.MaxHeight = et.StyleDecorator.DisplayRectangle.Height; - tb.MaxWidth = et.StyleDecorator.DisplayRectangle.Width; - return tb; + TextBlock textBlock = new TextBlock(); + textBlock.Text = exportText.Text; + SetFont(textBlock, exportText.StyleDecorator); + SetDimension(textBlock,exportText.StyleDecorator); + return textBlock; } -// void SetDimension (System.Windows.Controls.Control element,BaseStyleDecorator decorator) -// { -// element.Width = decorator.DisplayRectangle.Width; -// } - - void SetFont(TextBlock tb, TextStyleDecorator styleDecorator) + + + void SetFont(TextBlock textBlock, TextStyleDecorator styleDecorator) { - tb.FontFamily = new FontFamily(styleDecorator.Font.FontFamily.Name); + textBlock.FontFamily = new FontFamily(styleDecorator.Font.FontFamily.Name); var b = styleDecorator.Font.Size; - tb.FontSize = b * 96/72; - tb.Foreground = brushConverter.ConvertFromString(styleDecorator.ForeColor.Name) as SolidColorBrush; + textBlock.FontSize = b * 96/72; + textBlock.Foreground = brushConverter.ConvertFromString(styleDecorator.ForeColor.Name) as SolidColorBrush; if (styleDecorator.Font.Bold) { - tb.FontWeight = FontWeights.Bold; + textBlock.FontWeight = FontWeights.Bold; } if (styleDecorator.Font.Underline) { - CreateUnderline(tb,styleDecorator); + CreateUnderline(textBlock,styleDecorator); } if (styleDecorator.Font.Italic) { - tb.FontStyle = System.Windows.FontStyles.Italic ; + textBlock.FontStyle = System.Windows.FontStyles.Italic ; } if (styleDecorator.Font.Strikeout) { - CreateStrikeout(tb,styleDecorator); + CreateStrikeout(textBlock,styleDecorator); } } - void CreateStrikeout (TextBlock tb, TextStyleDecorator styleDecorator) + void CreateStrikeout (TextBlock textBlock, TextStyleDecorator styleDecorator) { TextDecoration strikeOut = new TextDecoration(); strikeOut.Location = TextDecorationLocation.Strikethrough; @@ -241,20 +299,22 @@ namespace ICSharpCode.Reports.Core.WPF Pen p = CreateWpfPen(styleDecorator); strikeOut.Pen = p ; strikeOut.PenThicknessUnit = TextDecorationUnit.FontRecommended; - tb.TextDecorations.Add(strikeOut); + textBlock.TextDecorations.Add(strikeOut); } - void CreateUnderline(TextBlock tb,TextStyleDecorator styleDecorator) + + void CreateUnderline(TextBlock textBlock,TextStyleDecorator styleDecorator) { TextDecoration underLine = new TextDecoration(); Pen p = CreateWpfPen(styleDecorator); underLine.Pen = p ; underLine.PenThicknessUnit = TextDecorationUnit.FontRecommended; - tb.TextDecorations.Add(underLine); + textBlock.TextDecorations.Add(underLine); } + #endregion - Pen CreateWpfPen(TextStyleDecorator styleDecorator) + Pen CreateWpfPen(TextStyleDecorator styleDecorator) { Pen myPen = new Pen(); SolidColorBrush underlineBrush = brushConverter.ConvertFromString(styleDecorator.ForeColor.Name) as SolidColorBrush; @@ -264,6 +324,15 @@ namespace ICSharpCode.Reports.Core.WPF } + void SetDimension (FrameworkElement element,IBaseStyleDecorator decorator) + { + element.Width = decorator.DisplayRectangle.Width; + element.Height = decorator.DisplayRectangle.Height; +// element.MaxHeight = decorator.DisplayRectangle.Height; +// element.MaxWidth = decorator.DisplayRectangle.Width; + } + + public void ArrangePage(Size pageSize, FixedPage page) { page.Measure(pageSize); From f92fc980aa7705018b6ed1370e7e4ab78f4f3393 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 5 Jun 2011 19:32:51 +0200 Subject: [PATCH 069/168] Remove double use of ReportModel in DataPageBuilder.cs and Converters/BaseConverter.cs --- .../Project/BaseClasses/SectionBounds.cs | 59 +------------------ .../ListStrategy/BaseListStrategy.cs | 5 +- .../Project/Exporter/BasePager.cs | 9 ++- .../Exporter/Converters/BaseConverter.cs | 27 ++++++--- .../Exporter/Converters/ConverterFactory.cs | 9 +-- .../Converters/GroupedRowConverter.cs | 32 ++++------ .../Converters/GroupedTableConverter.cs | 8 +-- .../Project/Exporter/DataPageBuilder.cs | 16 +++-- .../Printing/SectionBoundFixture.cs | 10 ---- 9 files changed, 63 insertions(+), 112 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs index 0c8e9aa00b..5d1b02f0cb 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs @@ -20,7 +20,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses Rectangle ReportFooterRectangle {get;set;} Rectangle DetailSectionRectangle{get;set;} Point DetailStart {get;} - Point DetailEnds {get;} Rectangle DetailArea {get;} Size PageSize {get;set;} bool Landscape{get;} @@ -34,8 +33,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses Rectangle pageFooterRectangle; Rectangle reportFooterRectangle; Rectangle marginBounds; - Rectangle detailArea; - bool firstPage; bool landscape; @@ -93,8 +90,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses { Size size = Size.Empty; if (section.Items.Count > 0) { -// size = new Size(this.marginBounds.Width, section.Size.Height + 3 * GlobalValues.GapBetweenContainer); -// size = new Size(this.marginBounds.Width, section.Size.Height + GlobalValues.GapBetweenContainer); size = new Size(this.marginBounds.Width, section.Size.Height); } else { size = new Size(this.marginBounds.Width, 0); @@ -110,32 +105,13 @@ namespace ICSharpCode.Reports.Core.BaseClasses throw new ArgumentNullException("section"); } -// section.SectionOffset = this.reportHeaderRectangle.Bottom + 3 * GlobalValues.GapBetweenContainer; section.SectionOffset = this.reportHeaderRectangle.Bottom + GlobalValues.GapBetweenContainer; Size s = CalculateSize(section); - /* - this.pageHeaderRectangle = new Rectangle (this.reportHeaderRectangle.Left, - section.SectionOffset, - this.marginBounds.Width, - section.Size.Height + 3 * GlobalValues.GapBetweenContainer); - */ -// this.pageHeaderRectangle = new Rectangle (this.reportHeaderRectangle.Left, -// section.SectionOffset, -// this.marginBounds.Width, -// section.Size.Height); - this.pageHeaderRectangle = new Rectangle (this.reportHeaderRectangle.Left, section.SectionOffset, this.marginBounds.Width, s.Height); - - -// Console.WriteLine("---------------"); -// Console.WriteLine("\tMeasureReprtHeader {0}",reportHeaderRectangle); -// Console.WriteLine("\tMeasurePageHeader {0}",pageHeaderRectangle); -// Console.WriteLine("\tDetailStart {0}",DetailStart); -// Console.WriteLine("---------------"); } @@ -159,13 +135,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses if (section == null) { throw new ArgumentNullException("section"); } - - // The reportFooter is set On Top of PageFooter -// this.reportFooterRectangle = new Rectangle (this.printableArea.Left, -// this.PageFooterRectangle.Top - section.Size.Height , -// this.marginBounds.Width, -// section.Size.Height); - this.reportFooterRectangle = new Rectangle (this.printableArea.Left, this.PageFooterRectangle.Top - section.Size.Height - GlobalValues.GapBetweenContainer, this.marginBounds.Width, @@ -173,18 +142,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses section.SectionOffset = this.reportFooterRectangle.Top; } - - //Test - /* - public void MeasureDetailArea () - { - this.detailArea = new Rectangle (this.DetailStart.X, - this.DetailStart.Y, - this.pageHeaderRectangle.Width, - (this.pageFooterRectangle.Top -1) - (this.pageHeaderRectangle.Bottom + 1)); - } - */ - #endregion #region Properties @@ -239,24 +196,11 @@ namespace ICSharpCode.Reports.Core.BaseClasses public Point DetailStart { get { -// return new Point(this.pageHeaderRectangle.Left, -// this.pageHeaderRectangle.Bottom + 3 * ); return new Point(this.pageHeaderRectangle.Left, this.pageHeaderRectangle.Bottom + GlobalValues.GapBetweenContainer ); } } - - //Test - public Point DetailEnds - { - get { -// return new Point(this.pageFooterRectangle.Left,this.pageFooterRectangle.Top - 3 * GlobalValues.GapBetweenContainer); - return new Point(this.pageFooterRectangle.Left,this.pageFooterRectangle.Top - GlobalValues.GapBetweenContainer); - } - } - - /// <summary> /// This rectangle starts directly after PageHeader and ends bevore PageFooter /// </summary> @@ -266,7 +210,8 @@ namespace ICSharpCode.Reports.Core.BaseClasses public Rectangle DetailArea { get { - return this.detailArea; + return new Rectangle (new Point (pageHeaderRectangle.X,pageHeaderRectangle.Bottom + GlobalValues.GapBetweenContainer), + new Size(pageFooterRectangle.Location.X,pageFooterRectangle.Top)); } } 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 e68943148e..088e08ff78 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 @@ -97,7 +97,7 @@ namespace ICSharpCode.Reports.Core { CreateGroupedChildren(childList,element); compVal = groupValue; } - ShowIndexList(IndexList); +// ShowIndexList(IndexList); } @@ -135,11 +135,9 @@ namespace ICSharpCode.Reports.Core { foreach (BaseComparer element in list) { string s = String.Format("{0} ",element.ObjectArray[0]); GroupComparer gc = element as GroupComparer; - if ( gc != null) { s = s + "GroupHeader"; if (gc.IndexList != null) { - s = s + String.Format(" <{0}> Childs",gc.IndexList.Count); } System.Console.WriteLine(s); @@ -150,6 +148,7 @@ namespace ICSharpCode.Reports.Core { } } + #endregion public virtual void Reset() diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index a824a4547a..fdf7ff8f11 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -81,7 +81,7 @@ namespace ICSharpCode.Reports.Core.Exporter PrintHelper.AdjustSectionLocation(section); var convertedSection = new ExporterCollection(); Offset = new Point(section.Location.X,section.SectionOffset); - Point startOffset = Offset; + Point startOffset = Offset; if (section.Items.Count > 0) { section.Items.SortByLocation(); @@ -362,6 +362,13 @@ foreach (var element in section.Items) #endregion + protected void DebugShowSections () + { + Console.WriteLine("\treportheader {0}",SectionBounds.ReportHeaderRectangle); + Console.WriteLine("\tpageheader {0}",SectionBounds.PageHeaderRectangle); + Console.WriteLine("\tdetail {0}",SectionBounds.DetailArea); + } + #region Property's protected Point Offset {get;set;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index b0ee5968f0..ab58e5deb7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Reports.Core.Exporter public event EventHandler<RowRenderEventArgs> RowRendering; - public BaseConverter(IDataNavigator dataNavigator,ExporterPage singlePage) + public BaseConverter(IReportModel reportModel,IDataNavigator dataNavigator,ExporterPage singlePage) { if (dataNavigator == null) { throw new ArgumentNullException("dataNavigator"); @@ -38,11 +38,10 @@ namespace ICSharpCode.Reports.Core.Exporter if (singlePage == null) { throw new ArgumentNullException("singlePage"); } - + this.ReportModel = reportModel; this.SinglePage = singlePage; this.DataNavigator = dataNavigator; - SectionBounds = this.SinglePage.SectionBounds; this.Layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); this.Evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.DataNavigator); } @@ -53,8 +52,7 @@ namespace ICSharpCode.Reports.Core.Exporter protected void BuildNewPage(ExporterCollection myList,BaseSection section) { FirePageFull(myList); - section.SectionOffset = SinglePage.SectionBounds.PageHeaderRectangle.Location.Y; -// Console.WriteLine("BuildNewPage with {0} - {1}",SinglePage.SectionBounds.PageHeaderRectangle.Location,section.SectionOffset); + section.SectionOffset = SinglePage.SectionBounds.PageHeaderRectangle.Location.Y; myList.Clear(); } @@ -90,7 +88,6 @@ namespace ICSharpCode.Reports.Core.Exporter protected void FireGroupFooterRendering (GroupFooter groupFooter) { -// Console.WriteLine("\tFireGroupFooterRendering"); GroupFooterEventArgs gfea = new GroupFooterEventArgs(groupFooter); EventHelper.Raise<GroupFooterEventArgs>(GroupFooterRendering,this,gfea); } @@ -124,6 +121,12 @@ namespace ICSharpCode.Reports.Core.Exporter return null; } + protected void DebugShowSections () + { + Console.WriteLine("\treportheader {0}",SectionBounds.ReportHeaderRectangle); + Console.WriteLine("\tpageheader {0}",SectionBounds.PageHeaderRectangle); + Console.WriteLine("\tdetail {0}",SectionBounds.DetailArea); + } #region Grouping @@ -188,8 +191,14 @@ namespace ICSharpCode.Reports.Core.Exporter public ISinglePage SinglePage {get;private set;} - public SectionBounds SectionBounds {get; private set;} - + public SectionBounds SectionBounds + { + get + { + return SinglePage.SectionBounds; + } + } + public IDataNavigator DataNavigator {get;private set;} public ILayouter Layouter {get; private set;} @@ -198,6 +207,8 @@ namespace ICSharpCode.Reports.Core.Exporter protected IExpressionEvaluatorFacade Evaluator{get;private set;} + protected IReportModel ReportModel {get; private set;} + protected int DefaultLeftPosition {get;set;} protected void SaveSectionSize(Size size) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/ConverterFactory.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/ConverterFactory.cs index 00912c1cd3..da6cf9a814 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/ConverterFactory.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/ConverterFactory.cs @@ -14,16 +14,17 @@ namespace ICSharpCode.Reports.Core.Exporter public static class ConverterFactory { - public static IBaseConverter CreateConverter (BaseReportItem itemToConvert,IDataNavigator dataNavigator, - ExporterPage singlePage) + public static IBaseConverter CreateConverter (BaseReportItem itemToConvert,IReportModel reportModel, + IDataNavigator dataNavigator,ExporterPage singlePage) + { Type t = itemToConvert.GetType(); if (t.Equals(typeof(BaseTableItem))) { - return new GroupedTableConverter(dataNavigator,singlePage); + return new GroupedTableConverter(reportModel,dataNavigator,singlePage); } if (t.Equals(typeof(BaseRowItem))) { - return new GroupedRowConverter (dataNavigator,singlePage); + return new GroupedRowConverter (reportModel,dataNavigator,singlePage); } return null; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index 3948858d3e..1885120763 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -20,8 +20,8 @@ namespace ICSharpCode.Reports.Core.Exporter private BaseReportItem parent; - public GroupedRowConverter(IDataNavigator dataNavigator, - ExporterPage singlePage):base(dataNavigator,singlePage) + public GroupedRowConverter(IReportModel reportModel,IDataNavigator dataNavigator, + ExporterPage singlePage):base(reportModel,dataNavigator,singlePage) { } @@ -71,8 +71,7 @@ namespace ICSharpCode.Reports.Core.Exporter groupSize = section.Items[0].Size; childSize = section.Items[1].Size; } -// Console.WriteLine("start with section at {0}",section.SectionOffset); -// Console.WriteLine(); + do { base.SaveSectionSize(section.Size); PrintHelper.AdjustSectionLocation (section); @@ -164,23 +163,16 @@ namespace ICSharpCode.Reports.Core.Exporter private Point CalculateStartPosition(BaseSection section) { - /* - Console.WriteLine(); - Console.WriteLine(" CalculateStartPosition"); - Console.WriteLine("{0}",base.SectionBounds.DetailStart); - Console.WriteLine("{0} ",SectionBounds.DetailArea); - Console.WriteLine("{0} ",base.SectionBounds.ReportHeaderRectangle); - Console.WriteLine("{0} ",base.SectionBounds.PageHeaderRectangle); -// return new Point (base.SectionBounds.PageHeaderRectangle.X,SectionBounds.DetailStart.Y); -// return new Point (base.SectionBounds.PageHeaderRectangle.X,SectionBounds.DetailStart.Y); -// return new Point (base.SectionBounds.PageHeaderRectangle.X,SectionBounds.DetailArea.Top); -// return new Point (base.SectionBounds.PageHeaderRectangle.X,base.SectionBounds.PageHeaderRectangle.Bottom); - var pp = new Point (base.SectionBounds.PageHeaderRectangle.X,base.SectionBounds.PageHeaderRectangle.Bottom); - Console.WriteLine ("Bottom {0}",pp); - Console.WriteLine("secoffset {0}",section.SectionOffset); - */ - return new Point (base.SectionBounds.PageHeaderRectangle.X,section.SectionOffset); + Console.WriteLine ("CalculateStartPosition {0}", base.SectionBounds.DetailStart); + var r = base.ReportModel; + base.SectionBounds.MeasureReportHeader(r.ReportHeader); + base.SectionBounds.MeasurePageHeader(r.PageHeader); +// Console.WriteLine("\treportheader {0}",base.SectionBounds.ReportHeaderRectangle); +// Console.WriteLine("\tpageheader {0}",base.SectionBounds.PageHeaderRectangle); +// Console.WriteLine("\tdetail {0}",base.SectionBounds.DetailArea); +// Console.WriteLine("\tret value {0}",base.SectionBounds.PageHeaderRectangle.Bottom ); + return new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.PageHeaderRectangle.Bottom + 1); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs index d41b786b82..50deeebce0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs @@ -21,8 +21,8 @@ namespace ICSharpCode.Reports.Core.Exporter private ITableContainer table; - public GroupedTableConverter(IDataNavigator dataNavigator, - ExporterPage singlePage):base(dataNavigator,singlePage) + public GroupedTableConverter(IReportModel reportModel,IDataNavigator dataNavigator, + ExporterPage singlePage):base(reportModel,dataNavigator,singlePage) { } @@ -102,12 +102,10 @@ namespace ICSharpCode.Reports.Core.Exporter do { StandardPrinter.AdjustBackColor(simpleContainer); -// StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); simpleContainer = table.Items[2] as ISimpleContainer; containerSize = simpleContainer.Size; - FillRow(simpleContainer,childNavigator); -// PrepareContainerForConverting(section,simpleContainer); + FillRow(simpleContainer,childNavigator); FireRowRendering(simpleContainer,childNavigator); PrepareContainerForConverting(section,simpleContainer); base.CurrentPosition = ConvertStandardRow(exporterCollection,simpleContainer); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index 1bc1a5fdaf..e238f3539d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -68,18 +68,24 @@ namespace ICSharpCode.Reports.Core.Exporter { base.ReportModel.ReportHeader.SectionOffset = base.SinglePage.SectionBounds.ReportHeaderRectangle.Top; ConvertSectionInternal (base.ReportModel.ReportHeader); - base.SectionBounds.MeasurePageHeader(base.ReportModel.ReportHeader); + } else + { + base.ReportModel.ReportHeader.Size = Size.Empty; } + base.SectionBounds.MeasurePageHeader(base.ReportModel.ReportHeader); } - - protected override void BuildPageHeader () { +// base.DebugShowSections(); + base.SectionBounds.MeasurePageHeader(base.ReportModel.ReportHeader); base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); +// Console.WriteLine("----------------"); ConvertSectionInternal (base.ReportModel.PageHeader); + base.ReportModel.PageHeader.Size = new Size(base.ReportModel.PageHeader.Size.Width,base.Offset.Y - base.ReportModel.PageHeader.SectionOffset); base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); +// base.DebugShowSections(); } @@ -129,10 +135,12 @@ namespace ICSharpCode.Reports.Core.Exporter protected Point BuildDetail (BaseSection section,IDataNavigator dataNavigator) { +// Console.WriteLine ("detail at {0}",SectionBounds.DetailArea); +// Console.WriteLine ("detail start at {0}",SectionBounds.DetailStart); ExporterCollection convertedList = new ExporterCollection(); foreach (BaseReportItem item in section.Items) { - IBaseConverter baseConverter = ConverterFactory.CreateConverter(item,dataNavigator, + IBaseConverter baseConverter = ConverterFactory.CreateConverter(item,base.ReportModel,dataNavigator, this.SinglePage); if (baseConverter != null) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs index 06c8a3108c..ab7985ac28 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs @@ -204,17 +204,7 @@ namespace ICSharpCode.Reports.Core.Test.Printing Assert.That(sectionBounds.DetailStart,Is.EqualTo(p)); } - [Test] - public void DetailEnds_One_Above_PageFootter () - { - - SectionBounds sectionBounds = new SectionBounds(new ReportSettings(),true); - BaseSection pageFootter = CreateSection(); - sectionBounds.MeasurePageFooter(pageFootter); - Point p = new Point(sectionBounds.PageFooterRectangle.Left,sectionBounds.PageFooterRectangle.Top -1); - Assert.That(sectionBounds.DetailEnds,Is.EqualTo(p)); - } public override void Setup() { From 516756d101fe4542f84aac5d1d5fd684b58631d5 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 5 Jun 2011 20:03:24 +0200 Subject: [PATCH 070/168] Remove unused code in SectionBounds.cs, modify SectionBoundFixture.cs --- .../Project/BaseClasses/SectionBounds.cs | 17 +---------------- .../Project/BaseClasses/SinglePage.cs | 2 +- .../Exporter/Converters/GroupedRowConverter.cs | 10 +++++----- .../Converters/GroupedTableConverter.cs | 17 ++--------------- .../Project/Exporter/DataPageBuilder.cs | 4 ++-- .../Project/Exporter/FormPageBuilder.cs | 2 +- .../Project/Printing/RenderDataReport.cs | 2 +- .../Printing/SectionBoundFixture.cs | 15 +++++++++++---- 8 files changed, 24 insertions(+), 45 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs index 5d1b02f0cb..4cb1b72924 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs @@ -19,7 +19,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses Rectangle PageFooterRectangle {get;} Rectangle ReportFooterRectangle {get;set;} Rectangle DetailSectionRectangle{get;set;} - Point DetailStart {get;} Rectangle DetailArea {get;} Size PageSize {get;set;} bool Landscape{get;} @@ -154,7 +153,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses } - //Test public Rectangle ReportHeaderRectangle { get { @@ -163,7 +161,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses } - //Test public Rectangle PageHeaderRectangle { get { @@ -172,7 +169,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses } - //Test public Rectangle PageFooterRectangle { get { @@ -181,7 +177,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses } - //Test public Rectangle ReportFooterRectangle { get { @@ -192,26 +187,16 @@ namespace ICSharpCode.Reports.Core.BaseClasses } } - //Test - public Point DetailStart - { - get { - return new Point(this.pageHeaderRectangle.Left, - this.pageHeaderRectangle.Bottom + GlobalValues.GapBetweenContainer ); - } - } /// <summary> /// This rectangle starts directly after PageHeader and ends bevore PageFooter /// </summary> - //Test - public Rectangle DetailArea { get { return new Rectangle (new Point (pageHeaderRectangle.X,pageHeaderRectangle.Bottom + GlobalValues.GapBetweenContainer), - new Size(pageFooterRectangle.Location.X,pageFooterRectangle.Top)); + new Size(pageFooterRectangle.Location.X,pageFooterRectangle.Top - GlobalValues.GapBetweenContainer)); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs index c767d01552..d187c0763b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs @@ -45,7 +45,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses //this.sectionBounds.MeasureDetailArea(); - this.sectionBounds.DetailSectionRectangle = new System.Drawing.Rectangle(reportModel.DetailSection.Location.X,sectionBounds.DetailStart.Y, + this.sectionBounds.DetailSectionRectangle = new System.Drawing.Rectangle(reportModel.DetailSection.Location.X,sectionBounds.DetailArea.Top, reportModel.DetailSection.Size.Width, reportModel.DetailSection.Size.Height); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index 1885120763..821a8656da 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -45,7 +45,7 @@ namespace ICSharpCode.Reports.Core.Exporter ExporterCollection myList = new ExporterCollection(); ConvertContainer (myList,simpleContainer,parent.Location.X, - new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.DetailStart.Y)); + new Point(base.SectionBounds.DetailArea.X,base.SectionBounds.DetailArea.Y)); return myList; } else { @@ -58,8 +58,8 @@ namespace ICSharpCode.Reports.Core.Exporter { ExporterCollection exporterCollection = new ExporterCollection(); - base.CurrentPosition = new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.DetailStart.Y); - +// base.CurrentPosition = new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.DetailStart.Y); + base.CurrentPosition = base.SectionBounds.DetailArea.Location; BaseSection section = parent as BaseSection; DefaultLeftPosition = parent.Location.X; @@ -164,7 +164,7 @@ namespace ICSharpCode.Reports.Core.Exporter private Point CalculateStartPosition(BaseSection section) { - Console.WriteLine ("CalculateStartPosition {0}", base.SectionBounds.DetailStart); +// Console.WriteLine ("CalculateStartPosition {0}", base.SectionBounds.DetailStart); var r = base.ReportModel; base.SectionBounds.MeasureReportHeader(r.ReportHeader); base.SectionBounds.MeasurePageHeader(r.PageHeader); @@ -172,7 +172,7 @@ namespace ICSharpCode.Reports.Core.Exporter // Console.WriteLine("\tpageheader {0}",base.SectionBounds.PageHeaderRectangle); // Console.WriteLine("\tdetail {0}",base.SectionBounds.DetailArea); // Console.WriteLine("\tret value {0}",base.SectionBounds.PageHeaderRectangle.Bottom ); - return new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.PageHeaderRectangle.Bottom + 1); + return new Point(base.SectionBounds.DetailArea.X,base.SectionBounds.PageHeaderRectangle.Bottom + 1); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs index 50deeebce0..e847ab1ba7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs @@ -54,7 +54,7 @@ namespace ICSharpCode.Reports.Core.Exporter Point dataAreaStart = new Point(table.Items[0].Location.X,table.Items[0].Location.Y + base.CurrentPosition.Y); base.CurrentPosition = new Point(PrintHelper.DrawingAreaRelativeToParent(this.table.Parent,this.table).Location.X, - base.SectionBounds.DetailStart.Y); + base.SectionBounds.DetailArea.Top); base.DefaultLeftPosition = base.CurrentPosition.X; @@ -177,23 +177,10 @@ namespace ICSharpCode.Reports.Core.Exporter protected override Point ForcePageBreak(ExporterCollection exporterCollection, BaseSection section) { base.ForcePageBreak(exporterCollection, section); - Console.WriteLine(); - Console.WriteLine(" CalculateStartPosition in TableConverter"); - Console.WriteLine("{0}",base.SectionBounds.DetailStart); - Console.WriteLine("{0} ",SectionBounds.DetailArea); - Console.WriteLine("{0} ",base.SectionBounds.ReportHeaderRectangle); - Console.WriteLine("{0} ",base.SectionBounds.PageHeaderRectangle); -// return new Point (base.SectionBounds.PageHeaderRectangle.X,SectionBounds.DetailStart.Y); -// return new Point (base.SectionBounds.PageHeaderRectangle.X,SectionBounds.DetailStart.Y); -// return new Point (base.SectionBounds.PageHeaderRectangle.X,SectionBounds.DetailArea.Top); - -// return new Point (base.SectionBounds.PageHeaderRectangle.X,base.SectionBounds.PageHeaderRectangle.Bottom); - var pp = new Point (base.SectionBounds.PageHeaderRectangle.X,base.SectionBounds.PageHeaderRectangle.Bottom); - Console.WriteLine ("Bottom {0}",pp); - Console.WriteLine("secoffset {0}",section.SectionOffset); return base.SectionBounds.ReportHeaderRectangle.Location; } + #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index e238f3539d..fc77fe0dac 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -97,7 +97,7 @@ namespace ICSharpCode.Reports.Core.Exporter if (!PrintHelper.IsRoomForFooter(base.SectionBounds,base.ReportModel.ReportFooter.Location)) { PageBreak(); - base.ReportModel.ReportFooter.SectionOffset = SectionBounds.DetailStart.Y; + base.ReportModel.ReportFooter.SectionOffset = SectionBounds.DetailArea.Top; pageBreak = true; } @@ -196,7 +196,7 @@ namespace ICSharpCode.Reports.Core.Exporter this.dataNavigator.MoveNext(); BaseSection section = base.ReportModel.DetailSection; - section.SectionOffset = base.SinglePage.SectionBounds.DetailStart.Y; + section.SectionOffset = base.SinglePage.SectionBounds.DetailArea.Top; var p = this.BuildDetail (section,dataNavigator); var r = new Rectangle (SectionBounds.ReportFooterRectangle.Left,p.Y, diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs index e6a31da6de..d041e35e18 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs @@ -62,7 +62,7 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildDetailInternal(BaseSection section) { base.BuildDetailInternal(section); - section.SectionOffset = base.SinglePage.SectionBounds.DetailStart.Y; + section.SectionOffset = base.SinglePage.SectionBounds.DetailArea.Top; ExporterCollection convertedList = convertedList = base.ConvertSection (base.ReportModel.DetailSection,0); base.SinglePage.Items.AddRange(convertedList); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderDataReport.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderDataReport.cs index 98e50a9abb..c670e29245 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderDataReport.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderDataReport.cs @@ -133,7 +133,7 @@ namespace ICSharpCode.Reports.Core { this.ReportDocument.ReportHasData = false; PrintNoDataMessage(rpea.PrintPageEventArgs); } - base.CurrentSection.SectionOffset = (int)base.SectionBounds.DetailStart.Y + GlobalValues.GapBetweenContainer; + base.CurrentSection.SectionOffset = base.SectionBounds.DetailArea.Top + GlobalValues.GapBetweenContainer; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs index ab7985ac28..e5ce88e94d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs @@ -193,17 +193,24 @@ namespace ICSharpCode.Reports.Core.Test.Printing #endregion [Test] - public void DetailStart_One_Below_PageHeader () + public void DetailArea_Start_One_Below_PageHeader () { - SectionBounds sectionBounds = new SectionBounds(new ReportSettings(),true); BaseSection pageHeader = new BaseSection(); - sectionBounds.MeasurePageHeader(pageHeader); Point p = new Point(sectionBounds.PageHeaderRectangle.Left,sectionBounds.PageHeaderRectangle.Bottom +1 ); - Assert.That(sectionBounds.DetailStart,Is.EqualTo(p)); + Assert.That(sectionBounds.DetailArea.Location,Is.EqualTo(p)); } + [Test] + public void DetailArea_Ends_One_Above_PageFooter() + { + SectionBounds sectionBounds = new SectionBounds(new ReportSettings(),true); + BaseSection pageFooter = new BaseSection(); + sectionBounds.MeasurePageFooter(pageFooter); + Point p = new Point(sectionBounds.PageFooterRectangle.Left,sectionBounds.PageFooterRectangle.Y ); + Assert.That(sectionBounds.DetailArea.Top + sectionBounds.DetailArea.Height,Is.EqualTo(p.Y)); + } public override void Setup() From be7fa185fce1c882cedea3271df716674d05eb22 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Mon, 6 Jun 2011 20:32:53 +0200 Subject: [PATCH 071/168] remove unused code --- .../Project/BaseClasses/SectionBounds.cs | 10 ++++++++++ .../Project/BaseClasses/SinglePage.cs | 11 +---------- .../Project/Exporter/BasePager.cs | 2 ++ .../Exporter/Converters/GroupedRowConverter.cs | 10 +--------- .../Project/Exporter/DataPageBuilder.cs | 14 ++++++-------- .../Project/Exporter/FormPageBuilder.cs | 5 +++-- 6 files changed, 23 insertions(+), 29 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs index 4cb1b72924..91792c024d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs @@ -4,6 +4,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.Globals; +using ICSharpCode.Reports.Core.Interfaces; namespace ICSharpCode.Reports.Core.BaseClasses { @@ -65,6 +66,15 @@ namespace ICSharpCode.Reports.Core.BaseClasses #region Measurement + public void CalculatePageBounds (IReportModel reportModel) + { + MeasureReportHeader(reportModel.ReportHeader); + MeasurePageHeader(reportModel.PageHeader); + MeasurePageFooter(reportModel.PageFooter); + MeasureReportFooter(reportModel.ReportFooter); + } + + public void MeasureReportHeader (BaseSection section) { if (section == null) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs index d187c0763b..5a8f992af1 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs @@ -36,19 +36,10 @@ namespace ICSharpCode.Reports.Core.BaseClasses throw new ArgumentNullException("reportModel"); } - sectionBounds.MeasureReportHeader(reportModel.ReportHeader); - this.sectionBounds.MeasurePageHeader(reportModel.PageHeader); - - this.sectionBounds.MeasurePageFooter(reportModel.PageFooter); - - this.sectionBounds.MeasureReportFooter(reportModel.ReportFooter); - - //this.sectionBounds.MeasureDetailArea(); - + sectionBounds.CalculatePageBounds(reportModel); this.sectionBounds.DetailSectionRectangle = new System.Drawing.Rectangle(reportModel.DetailSection.Location.X,sectionBounds.DetailArea.Top, reportModel.DetailSection.Size.Width, reportModel.DetailSection.Size.Height); - } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index fdf7ff8f11..b1cc4352d7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -39,6 +39,7 @@ namespace ICSharpCode.Reports.Core.Exporter if (!ServiceContainer.Contains(typeof(ILayouter))) { ServiceContainer.AddService<ILayouter>(new Layouter()); } + this.Graphics = CreateGraphicObject.FromSize(this.ReportModel.ReportSettings.PageSize); } @@ -56,6 +57,7 @@ namespace ICSharpCode.Reports.Core.Exporter } else { firstPage = false; } + SectionBounds sectionBounds = new SectionBounds (this.ReportModel.ReportSettings,firstPage); ExporterPage sp = ExporterPage.CreateInstance(sectionBounds,this.pages.Count + 1); return sp; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index 821a8656da..2e9b01514d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -157,21 +157,13 @@ namespace ICSharpCode.Reports.Core.Exporter { base.ForcePageBreak(exporterCollection,section); return CalculateStartPosition(section); - } private Point CalculateStartPosition(BaseSection section) { - -// Console.WriteLine ("CalculateStartPosition {0}", base.SectionBounds.DetailStart); var r = base.ReportModel; - base.SectionBounds.MeasureReportHeader(r.ReportHeader); - base.SectionBounds.MeasurePageHeader(r.PageHeader); -// Console.WriteLine("\treportheader {0}",base.SectionBounds.ReportHeaderRectangle); -// Console.WriteLine("\tpageheader {0}",base.SectionBounds.PageHeaderRectangle); -// Console.WriteLine("\tdetail {0}",base.SectionBounds.DetailArea); -// Console.WriteLine("\tret value {0}",base.SectionBounds.PageHeaderRectangle.Bottom ); + base.SectionBounds.CalculatePageBounds(r); return new Point(base.SectionBounds.DetailArea.X,base.SectionBounds.PageHeaderRectangle.Bottom + 1); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index fc77fe0dac..968bf2db5e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -72,19 +72,19 @@ namespace ICSharpCode.Reports.Core.Exporter { base.ReportModel.ReportHeader.Size = Size.Empty; } - base.SectionBounds.MeasurePageHeader(base.ReportModel.ReportHeader); + base.SectionBounds.CalculatePageBounds(base.ReportModel); + } protected override void BuildPageHeader () { // base.DebugShowSections(); - base.SectionBounds.MeasurePageHeader(base.ReportModel.ReportHeader); - base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); + base.SectionBounds.CalculatePageBounds(base.ReportModel); // Console.WriteLine("----------------"); ConvertSectionInternal (base.ReportModel.PageHeader); base.ReportModel.PageHeader.Size = new Size(base.ReportModel.PageHeader.Size.Width,base.Offset.Y - base.ReportModel.PageHeader.SectionOffset); - base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); + base.SectionBounds.CalculatePageBounds(base.ReportModel); // base.DebugShowSections(); } @@ -135,8 +135,6 @@ namespace ICSharpCode.Reports.Core.Exporter protected Point BuildDetail (BaseSection section,IDataNavigator dataNavigator) { -// Console.WriteLine ("detail at {0}",SectionBounds.DetailArea); -// Console.WriteLine ("detail start at {0}",SectionBounds.DetailStart); ExporterCollection convertedList = new ExporterCollection(); foreach (BaseReportItem item in section.Items) { @@ -197,9 +195,9 @@ namespace ICSharpCode.Reports.Core.Exporter BaseSection section = base.ReportModel.DetailSection; section.SectionOffset = base.SinglePage.SectionBounds.DetailArea.Top; - var p = this.BuildDetail (section,dataNavigator); + var currentLocation = this.BuildDetail (section,dataNavigator); - var r = new Rectangle (SectionBounds.ReportFooterRectangle.Left,p.Y, + var r = new Rectangle (SectionBounds.ReportFooterRectangle.Left,currentLocation.Y, SectionBounds.ReportFooterRectangle.Size.Width, SectionBounds.ReportFooterRectangle.Size.Height); this.BuildReportFooter(r); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs index d041e35e18..3fff2a91f4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs @@ -55,8 +55,9 @@ namespace ICSharpCode.Reports.Core.Exporter { this.ReportModel.PageHeader.SectionOffset = base.SinglePage.SectionBounds.PageHeaderRectangle.Top; ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,0); - base.SinglePage.Items.AddRange(convertedList); - base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); + base.SinglePage.Items.AddRange(convertedList); + base.SectionBounds.CalculatePageBounds(base.ReportModel); +// base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); } protected override void BuildDetailInternal(BaseSection section) From 26c5c6af70942c5796b5618d31400610734f5738 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Wed, 8 Jun 2011 20:49:35 +0200 Subject: [PATCH 072/168] ViewModel for WpfReportViewer --- .../Project/WPF/WPFReportPreview.cs | 17 +++-- .../ICSharpCode.Reports.Core.csproj | 3 +- .../{PreviewModel.cs => ExportRunner.cs} | 4 +- .../WpfReportViewer/PreviewViewModel.cs | 63 +++++++++++++++++++ .../WpfReportViewer/WpfReportViewer.xaml | 13 ++-- .../WpfReportViewer/WpfReportViewer.xaml.cs | 8 ++- 6 files changed, 90 insertions(+), 18 deletions(-) rename src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/{PreviewModel.cs => ExportRunner.cs} (98%) create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs index 7b65e54462..49ddb8347a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs @@ -25,7 +25,7 @@ namespace ICSharpCode.Reports.Addin.Project.WPF ReportDesignerLoader designerLoader; IWpfReportViewer viewer = new WpfReportViewer(); - IPreviewModel viewmodel = new PreviewModel(); + IPreviewModel exportRunner = new ExportRunner(); public WPFReportPreview(ReportDesignerLoader loader,IViewContent content):base(content) { @@ -47,11 +47,11 @@ namespace ICSharpCode.Reports.Addin.Project.WPF switch (model.DataModel) { case GlobalEnums.PushPullModel.FormSheet : { - viewmodel.RunReport(model,(ReportParameters)null); + exportRunner.RunReport(model,(ReportParameters)null); break; } case GlobalEnums.PushPullModel.PullData:{ - viewmodel.RunReport(model,(ReportParameters)null); + exportRunner.RunReport(model,(ReportParameters)null); break; } case GlobalEnums.PushPullModel.PushData: @@ -59,19 +59,16 @@ namespace ICSharpCode.Reports.Addin.Project.WPF var cmd = new DataSetFromXsdCommand(); cmd.Run(); System.Data.DataSet ds = cmd.DataSet; - viewmodel.RunReport(model,ds.Tables[0],(ReportParameters)null); + exportRunner.RunReport(model,ds.Tables[0],(ReportParameters)null); break; } default: throw new InvalidReportModelException(); } - FixedDocumentRenderer renderer = FixedDocumentRenderer.CreateInstance(model.ReportSettings,viewmodel.Pages); - - renderer.Start(); - renderer.RenderOutput(); - renderer.End(); - viewer.Document = renderer.Document; + PreviewViewModel pvm = new PreviewViewModel (model.ReportSettings,exportRunner.Pages); + //viewer.Document = pvm.Document; + viewer.SetBinding(pvm); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index 7bb12dee2c..e9df2410ab 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -367,11 +367,12 @@ <Compile Include="Project\ReportViewer\ReportViewer.designer.cs"> <DependentUpon>ReportViewer.cs</DependentUpon> </Compile> + <Compile Include="Project\WpfReportViewer\PreviewViewModel.cs" /> <Compile Include="Project\WpfReportViewer\WpfReportViewer.xaml.cs"> <DependentUpon>WpfReportViewer.xaml</DependentUpon> <SubType>Code</SubType> </Compile> - <Compile Include="Project\WpfReportViewer\PreviewModel.cs" /> + <Compile Include="Project\WpfReportViewer\ExportRunner.cs" /> <Compile Include="Project\WPF\ExtensionMethodes.cs" /> <Compile Include="Project\WPF\FixedDocumentCreator.cs" /> <Compile Include="Project\Xml\BaseItemLoader.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewModel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/ExportRunner.cs similarity index 98% rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewModel.cs rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/ExportRunner.cs index 43e609d768..4680482262 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewModel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/ExportRunner.cs @@ -16,9 +16,9 @@ namespace ICSharpCode.Reports.Core.WpfReportViewer /// <summary> /// Description of WpfReportViewModel. /// </summary> - public class PreviewModel:IPreviewModel + public class ExportRunner:IPreviewModel { - public PreviewModel() + public ExportRunner() { Pages = new PagesCollection(); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs new file mode 100644 index 0000000000..4537b98e60 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs @@ -0,0 +1,63 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 08.06.2011 + * Time: 19:41 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.ComponentModel; +using System.Windows.Documents; + +using ICSharpCode.Reports.Core.Exporter.ExportRenderer; + +namespace ICSharpCode.Reports.Core.WpfReportViewer +{ + /// <summary> + /// Description of PreviewViewModel. + /// </summary> + public class PreviewViewModel:INotifyPropertyChanged + { + + private IDocumentPaginatorSource document; + + public PreviewViewModel(ReportSettings reportSettings, PagesCollection pages) + { + this.Pages = pages; + FixedDocumentRenderer renderer = FixedDocumentRenderer.CreateInstance(reportSettings,Pages); + + renderer.Start(); + renderer.RenderOutput(); + renderer.End(); + OnNotifyPropertyChanged("Pages"); + this.Document = renderer.Document; + + } + + + public PagesCollection Pages {get;private set;} + + + public IDocumentPaginatorSource Document + { + get {return document;} + set { + this.document = value; + OnNotifyPropertyChanged ("Document"); + } + + + } + + + public event PropertyChangedEventHandler PropertyChanged; + + void OnNotifyPropertyChanged(string num0) + { + if (PropertyChanged != null) { + PropertyChanged(this,new PropertyChangedEventArgs(num0)); + } + } + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml index 11128612d6..7672ac7e6c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml @@ -1,12 +1,17 @@ <?xml version="1.0" encoding="utf-8"?> <UserControl - x:Class="ICSharpCode.Reports.Core.WpfReportViewer.WpfReportViewer" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + x:Class="ICSharpCode.Reports.Core.WpfReportViewer.WpfReportViewer" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <!-- {Binding Path=PathToProperty, RelativeSource={RelativeSource AncestorType={x:Type typeOfAncestor}}} --> <Grid> - <DocumentViewer x:Name="DocumentViewer" + Document="{Binding Path=DataContext.Document, + PresentationTraceSources.TraceLevel=High, + RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" HorizontalAlignment="Stretch" - VerticalAlignment="Stretch" - Width="984"></DocumentViewer> + VerticalAlignment="Stretch"></DocumentViewer> + </Grid> </UserControl> \ No newline at end of file diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs index 69755aac91..4ee40f8fc9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs @@ -8,6 +8,7 @@ */ using System; using System.Collections.Generic; +using System.ComponentModel; using System.Text; using System.Windows; using System.Windows.Controls; @@ -26,6 +27,7 @@ namespace ICSharpCode.Reports.Core.WpfReportViewer public interface IWpfReportViewer { IDocumentPaginatorSource Document {set;} + void SetBinding (PreviewViewModel model); } /// <summary> /// Interaction logic for WpfReportViewer.xaml @@ -38,12 +40,16 @@ namespace ICSharpCode.Reports.Core.WpfReportViewer InitializeComponent(); } + public void SetBinding (PreviewViewModel model) + { + this.DataContext = model; + } + public IDocumentPaginatorSource Document { set { this.DocumentViewer.Document = value; } } - } } \ No newline at end of file From 70e2b6c4351cad3240d08ecae7be2903d1e82a51 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Wed, 8 Jun 2011 21:00:57 +0200 Subject: [PATCH 073/168] Move-Rename some Files, adjust namespaces --- SharpDevelop.Tests.sln | 540 +++++++++--------- .../Project/WPF/WPFReportPreview.cs | 2 +- .../ICSharpCode.Reports.Core.csproj | 4 +- .../ExportRenderer}/ExportRunner.cs | 4 +- .../ExportRenderer/IExpoerRunner.cs} | 17 +- .../Project/ReportViewer/ReportViewer.cs | 2 +- .../WpfReportViewer/WpfReportViewer.xaml.cs | 11 - 7 files changed, 279 insertions(+), 301 deletions(-) rename src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/{WpfReportViewer => Exporter/ExportRenderer}/ExportRunner.cs (97%) rename src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/{ReportViewer/IPreviewControl.cs => Exporter/ExportRenderer/IExpoerRunner.cs} (57%) diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln index 6d8a44bf8a..80d7dd1236 100644 --- a/SharpDevelop.Tests.sln +++ b/SharpDevelop.Tests.sln @@ -1,69 +1,69 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -# SharpDevelop 4.1.0.7469-alpha +# SharpDevelop 4.1.0.7595-alpha Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -72,45 +72,45 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{ ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" + ProjectSection(SolutionItems) = postProject + EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -119,244 +119,232 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{393278 ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -366,228 +354,240 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\Add {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -1203,125 +1203,125 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {870115DD-960A-4406-A6B9-600BCDC36A03} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {870115DD-960A-4406-A6B9-600BCDC36A03} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} - {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} - {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} - {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} - {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} - {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} - {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} - {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} - {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} - {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} - {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} - {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} - {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} - {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} + {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} + {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} + {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} + {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} + {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} + {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} + {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} + {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} + {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} + {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} + {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} + {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} EndGlobalSection EndGlobal diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs index 49ddb8347a..cfc7767560 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs @@ -25,7 +25,7 @@ namespace ICSharpCode.Reports.Addin.Project.WPF ReportDesignerLoader designerLoader; IWpfReportViewer viewer = new WpfReportViewer(); - IPreviewModel exportRunner = new ExportRunner(); + IExportRunner exportRunner = new ExportRunner(); public WPFReportPreview(ReportDesignerLoader loader,IViewContent content):base(content) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index e9df2410ab..35bedf5259 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -172,7 +172,9 @@ <Compile Include="Project\Exporter\Converters\GroupedTableConverter.cs" /> <Compile Include="Project\Exporter\ExportColumns\ExportGraphicContainer.cs" /> <Compile Include="Project\Exporter\ExportHelper.cs" /> + <Compile Include="Project\Exporter\ExportRenderer\ExportRunner.cs" /> <Compile Include="Project\Exporter\ExportRenderer\FixedDocumentRenderer.cs" /> + <Compile Include="Project\Exporter\ExportRenderer\IExpoerRunner.cs" /> <Compile Include="Project\Expressions\EvaluationHelper.cs" /> <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\ReportingService\FieldReference.cs" /> <Compile Include="Project\Exporter\BasePager.cs" /> @@ -312,7 +314,6 @@ <SubType>Component</SubType> </Compile> <Compile Include="Project\ReportEngine.cs" /> - <Compile Include="Project\ReportViewer\IPreviewControl.cs" /> <Compile Include="Project\ReportViewer\NumericToolStripTextBox.cs"> <SubType>Component</SubType> </Compile> @@ -372,7 +373,6 @@ <DependentUpon>WpfReportViewer.xaml</DependentUpon> <SubType>Code</SubType> </Compile> - <Compile Include="Project\WpfReportViewer\ExportRunner.cs" /> <Compile Include="Project\WPF\ExtensionMethodes.cs" /> <Compile Include="Project\WPF\FixedDocumentCreator.cs" /> <Compile Include="Project\Xml\BaseItemLoader.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/ExportRunner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs similarity index 97% rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/ExportRunner.cs rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs index 4680482262..99b188cba9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/ExportRunner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs @@ -11,12 +11,12 @@ using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.ReportViewer; -namespace ICSharpCode.Reports.Core.WpfReportViewer +namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer { /// <summary> /// Description of WpfReportViewModel. /// </summary> - public class ExportRunner:IPreviewModel + public class ExportRunner:IExportRunner { public ExportRunner() { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/IPreviewControl.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExpoerRunner.cs similarity index 57% rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/IPreviewControl.cs rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExpoerRunner.cs index a425a33ab6..8dce8de713 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/IPreviewControl.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExpoerRunner.cs @@ -4,21 +4,10 @@ using System; using System.Collections; using System.Data; -using System.Drawing; -using System.Drawing.Drawing2D; -using System.Drawing.Text; -using System.Globalization; -using System.Windows.Forms; -using ICSharpCode.Reports.Core.BaseClasses.Printing; -using ICSharpCode.Reports.Core.Exporter; -using ICSharpCode.Reports.Core.Exporter.ExportRenderer; -using ICSharpCode.Reports.Core.Globals; -using ICSharpCode.Reports.Core.Interfaces; - -namespace ICSharpCode.Reports.Core.ReportViewer +namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer { - public interface IPreviewModel + public interface IExportRunner { void RunReport(string fileName, ReportParameters parameters); void RunReport(ReportModel reportModel, ReportParameters parameters); @@ -26,6 +15,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer void RunReport(ReportModel reportModel, IList dataSource, ReportParameters parameters); void RunReport(ReportModel reportModel, IDataManager dataManager); PagesCollection Pages { get; } - IReportViewerMessages Messages { get; set; } +// IReportViewerMessages Messages { get; set; } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs index 9e1c3a51ed..719c3b3933 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs @@ -21,7 +21,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer /// <summary> /// Description of UserControl1. /// </summary> - public partial class PreviewControl : IPreviewModel + public partial class PreviewControl : IExportRunner { public event EventHandler<EventArgs> PreviewLayoutChanged; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs index 4ee40f8fc9..c1fed6dd13 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs @@ -7,19 +7,8 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Text; -using System.Windows; using System.Windows.Controls; -using System.Windows.Data; using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; - -using ICSharpCode.Reports.Core.Exporter; -using ICSharpCode.Reports.Core.Globals; -using ICSharpCode.Reports.Core.ReportViewer; namespace ICSharpCode.Reports.Core.WpfReportViewer { From af0e988af9e4469662b41094aa17ecaa2d77099d Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Thu, 9 Jun 2011 20:51:47 +0200 Subject: [PATCH 074/168] Cleanup --- .../Project/WPF/WPFReportPreview.cs | 16 +++++++++-- .../Exporter/ExportRenderer/ExportRunner.cs | 25 +++-------------- .../Project/ReportViewer/ReportViewer.cs | 3 +- .../Project/WPF/FixedDocumentCreator.cs | 28 +------------------ .../WpfReportViewer/PreviewViewModel.cs | 3 -- .../WpfReportViewer/WpfReportViewer.xaml | 13 +++------ 6 files changed, 24 insertions(+), 64 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs index cfc7767560..521d004ef9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs @@ -7,6 +7,7 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; +using System.Diagnostics; using ICSharpCode.Reports.Addin.Commands; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.Exporter.ExportRenderer; @@ -40,6 +41,11 @@ namespace ICSharpCode.Reports.Addin.Project.WPF protected override void LoadFromPrimary() { + Stopwatch sw = new Stopwatch(); + sw.Start(); + Console.WriteLine("-----------------"); + Console.WriteLine("Stop start"); + Pages.Clear(); ReportModel model = designerLoader.CreateRenderableModel(); var collectCmd = new CollectParametersCommand(model); @@ -65,10 +71,14 @@ namespace ICSharpCode.Reports.Addin.Project.WPF default: throw new InvalidReportModelException(); } + Console.WriteLine (" after create {0}",sw.Elapsed); - PreviewViewModel pvm = new PreviewViewModel (model.ReportSettings,exportRunner.Pages); - //viewer.Document = pvm.Document; - viewer.SetBinding(pvm); + PreviewViewModel previewViewModel = new PreviewViewModel (model.ReportSettings,exportRunner.Pages); + Console.WriteLine (" after init model {0}",sw.Elapsed); + viewer.SetBinding(previewViewModel); + Console.WriteLine ("after setbinding {0}",sw.Elapsed); + sw.Stop(); + Console.WriteLine("---------------"); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs index 99b188cba9..f951b13cc0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs @@ -18,31 +18,14 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer /// </summary> public class ExportRunner:IExportRunner { + + public ExportRunner() { Pages = new PagesCollection(); } - public System.Windows.Documents.IDocumentPaginatorSource Document { - set { - throw new NotImplementedException(); - } - } - - - public PagesCollection Pages {get;private set;} - - - public ICSharpCode.Reports.Core.ReportViewer.IReportViewerMessages Messages { - get { - throw new NotImplementedException(); - } - set { - throw new NotImplementedException(); - } - } - public void RunReport(string fileName, ReportParameters parameters) { if (String.IsNullOrEmpty(fileName)) { @@ -116,6 +99,8 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer reportCreator.BuildExportList(); } + public PagesCollection Pages {get;private set;} + private void RunFormSheet(ReportModel reportModel) { @@ -125,8 +110,6 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer reportCreator.BuildExportList(); } - - private void OnPageCreated (object sender,PageCreatedEventArgs e) { Pages.Add(e.SinglePage); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs index 719c3b3933..19629412dd 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs @@ -25,7 +25,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer { public event EventHandler<EventArgs> PreviewLayoutChanged; - + private IExportRunner runner; private float zoom; private int pageNumber; @@ -52,6 +52,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer InitZoomCombo(); previewRenderer = PreviewRenderer.CreateInstance(); + runner = new ExportRunner(); this.CheckEnable(); SetTransparentBackground(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index e3607e41d8..eec729600d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -142,7 +142,6 @@ namespace ICSharpCode.Reports.Core.WPF #region Container UIElement CreateGraphicsContainer(ExportGraphicContainer graphicContainer) { - Console.WriteLine("GraphicContainer"); IGraphicStyleDecorator decorator = graphicContainer.StyleDecorator as IGraphicStyleDecorator; UIElement shape = null; var ss = decorator.Shape as EllipseShape; @@ -155,13 +154,9 @@ namespace ICSharpCode.Reports.Core.WPF circle.StrokeThickness = decorator.Thickness; circle.Stroke = brushConverter.ConvertFromString(decorator.ForeColor.Name) as SolidColorBrush; shape = circle; - - } - else - + else { - var border = CreateBorder(decorator as BaseStyleDecorator); SetDimension(border,decorator); @@ -172,8 +167,6 @@ namespace ICSharpCode.Reports.Core.WPF border.BorderBrush = brushConverter.ConvertFromString(decorator.ForeColor.Name) as SolidColorBrush; shape = border; } - - return shape; } @@ -181,7 +174,6 @@ namespace ICSharpCode.Reports.Core.WPF private UIElement CreateContainer(ExportContainer container) { - Console.WriteLine("CreateContainer"); var canvas = new Canvas(); SetDimension(canvas,container.StyleDecorator); @@ -203,24 +195,6 @@ namespace ICSharpCode.Reports.Core.WPF #endregion - /* - void CreateShape(Canvas canvas, IGraphicStyleDecorator bs) - { - var shape = bs.Shape; - UIElement element = null; - if (shape is RectangleShape) { - element = new System.Windows.Controls.Border(); - - } - - if (element != null) { - canvas.Children.Add(element); - Canvas.SetLeft(element,bs.Location.X); - Canvas.SetTop(element,bs.Location.Y); - } - } -*/ - UIElement CreateTextColumn(ExportText et) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs index 4537b98e60..c8a43c1b59 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs @@ -30,15 +30,12 @@ namespace ICSharpCode.Reports.Core.WpfReportViewer renderer.Start(); renderer.RenderOutput(); renderer.End(); - OnNotifyPropertyChanged("Pages"); this.Document = renderer.Document; } - public PagesCollection Pages {get;private set;} - public IDocumentPaginatorSource Document { get {return document;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml index 7672ac7e6c..49f3eaaea2 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml @@ -1,17 +1,12 @@ <?xml version="1.0" encoding="utf-8"?> <UserControl - x:Class="ICSharpCode.Reports.Core.WpfReportViewer.WpfReportViewer" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> - <!-- {Binding Path=PathToProperty, RelativeSource={RelativeSource AncestorType={x:Type typeOfAncestor}}} --> + x:Class="ICSharpCode.Reports.Core.WpfReportViewer.WpfReportViewer" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid> <DocumentViewer x:Name="DocumentViewer" - Document="{Binding Path=DataContext.Document, - PresentationTraceSources.TraceLevel=High, - RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" + Document="{Binding Path=DataContext.Document,
			PresentationTraceSources.TraceLevel=High,
			RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" HorizontalAlignment="Stretch" - VerticalAlignment="Stretch"></DocumentViewer> - + VerticalAlignment="Stretch" + SnapsToDevicePixels="True"></DocumentViewer> </Grid> </UserControl> \ No newline at end of file From 31ce53c45a9d045d0d28d5bbf4a1108e2bf173f2 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 10 Jun 2011 20:58:40 +0200 Subject: [PATCH 075/168] ReportViewer.cs use ExportRunner.cs --- .../ICSharpCode.Reports.Core.csproj | 2 +- .../Exporter/ExportRenderer/ExportRunner.cs | 10 ++++- .../{IExpoerRunner.cs => IExportRunner.cs} | 2 +- .../Project/ReportEngine.cs | 42 +++++++++--------- .../Project/ReportViewer/ReportViewer.cs | 44 +++++-------------- 5 files changed, 43 insertions(+), 57 deletions(-) rename src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/{IExpoerRunner.cs => IExportRunner.cs} (93%) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index 35bedf5259..ecd1fe0cb9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -174,7 +174,7 @@ <Compile Include="Project\Exporter\ExportHelper.cs" /> <Compile Include="Project\Exporter\ExportRenderer\ExportRunner.cs" /> <Compile Include="Project\Exporter\ExportRenderer\FixedDocumentRenderer.cs" /> - <Compile Include="Project\Exporter\ExportRenderer\IExpoerRunner.cs" /> + <Compile Include="Project\Exporter\ExportRenderer\IExportRunner.cs" /> <Compile Include="Project\Expressions\EvaluationHelper.cs" /> <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\ReportingService\FieldReference.cs" /> <Compile Include="Project\Exporter\BasePager.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs index f951b13cc0..e4c6351c5c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs @@ -7,6 +7,7 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; +using System.Data; using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.ReportViewer; @@ -19,6 +20,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer public class ExportRunner:IExportRunner { + public event EventHandler<PageCreatedEventArgs> PageCreated; public ExportRunner() { @@ -35,6 +37,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer this.RunReport(model, parameters); } + public void RunReport(ReportModel reportModel, ReportParameters parameters) { if (reportModel == null) { @@ -51,7 +54,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer } } - public void RunReport(ReportModel reportModel, System.Data.DataTable dataTable, ReportParameters parameters) + public void RunReport(ReportModel reportModel, DataTable dataTable, ReportParameters parameters) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); @@ -81,7 +84,6 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer } ReportEngine.CheckForParameters(reportModel, parameters); IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource); - RunReport(reportModel, dataManager); } @@ -113,6 +115,10 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer private void OnPageCreated (object sender,PageCreatedEventArgs e) { Pages.Add(e.SinglePage); + if (PageCreated != null) { + + PageCreated (this,e); + } } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExpoerRunner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExportRunner.cs similarity index 93% rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExpoerRunner.cs rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExportRunner.cs index 8dce8de713..4c4e28badd 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExpoerRunner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExportRunner.cs @@ -15,6 +15,6 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer void RunReport(ReportModel reportModel, IList dataSource, ReportParameters parameters); void RunReport(ReportModel reportModel, IDataManager dataManager); PagesCollection Pages { get; } -// IReportViewerMessages Messages { get; set; } + event EventHandler<PageCreatedEventArgs> PageCreated; } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs index 0cfa0c733f..5225540145 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs @@ -330,16 +330,16 @@ namespace ICSharpCode.Reports.Core { /// <param name="dataTable">a Datatable, containing the data</param> [Obsolete("use public void PreviewPushDataReport (string fileName,DataTable dataTable,null)")] - public void PreviewPushDataReport (string fileName,DataTable dataTable) - { - if (String.IsNullOrEmpty(fileName)) { - throw new ArgumentNullException("fileName"); - } - if (dataTable == null) { - throw new ArgumentNullException("dataTable"); - } - this.PreviewPushDataReport(fileName,dataTable,null); - } +// public void PreviewPushDataReport (string fileName,DataTable dataTable) +// { +// if (String.IsNullOrEmpty(fileName)) { +// throw new ArgumentNullException("fileName"); +// } +// if (dataTable == null) { +// throw new ArgumentNullException("dataTable"); +// } +// this.PreviewPushDataReport(fileName,dataTable,null); +// } public void PreviewPushDataReport (string fileName,DataTable dataTable,ReportParameters reportParameters) @@ -365,16 +365,16 @@ namespace ICSharpCode.Reports.Core { [Obsolete ("use public void PreviewPushDataReport (string fileName,IList list,null)")] - public void PreviewPushDataReport (string fileName,IList list) - { - if (String.IsNullOrEmpty(fileName)) { - throw new ArgumentNullException("fileName"); - } - if (list == null) { - throw new ArgumentNullException("list"); - } - this.PreviewPushDataReport(fileName,list,null); - } +// public void PreviewPushDataReport (string fileName,IList list) +// { +// if (String.IsNullOrEmpty(fileName)) { +// throw new ArgumentNullException("fileName"); +// } +// if (list == null) { +// throw new ArgumentNullException("list"); +// } +// this.PreviewPushDataReport(fileName,list,null); +// } public void PreviewPushDataReport (string fileName,IList list,ReportParameters reportParameters) @@ -436,7 +436,7 @@ namespace ICSharpCode.Reports.Core { /// <param name="reportModel"></param> /// <returns></returns> - public static IReportCreator CreatePageBuilder (IReportModel reportModel) + internal static IReportCreator CreatePageBuilder (IReportModel reportModel) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs index 19629412dd..4e8f8e80f0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs @@ -10,18 +10,16 @@ using System.Drawing.Text; using System.Globalization; using System.Windows.Forms; -using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Exporter.ExportRenderer; using ICSharpCode.Reports.Core.Globals; -using ICSharpCode.Reports.Core.Interfaces; namespace ICSharpCode.Reports.Core.ReportViewer { /// <summary> /// Description of UserControl1. /// </summary> - public partial class PreviewControl : IExportRunner + public partial class PreviewControl { public event EventHandler<EventArgs> PreviewLayoutChanged; @@ -36,7 +34,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer private delegate void invokeDelegate(); private ReportSettings reportSettings; - private IDataManager dataManager; #region Constructor @@ -90,14 +87,13 @@ namespace ICSharpCode.Reports.Core.ReportViewer throw new ArgumentNullException("reportModel"); } this.SetupViewer(reportModel); - if (reportModel.DataModel == GlobalEnums.PushPullModel.FormSheet) { RunFormSheet(reportModel); } else { - ReportEngine.CheckForParameters(reportModel, parameters); - this.dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters); - RunDataReport(reportModel, dataManager); + var dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters); + RunReport(reportModel,dataManager); } + } @@ -109,7 +105,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer if (dataTable == null) { throw new ArgumentNullException("dataTable"); } - ReportEngine.CheckForParameters(reportModel, parameters); +// ReportEngine.CheckForParameters(reportModel, parameters); IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataTable); RunReport(reportModel, dataManager); @@ -124,9 +120,8 @@ namespace ICSharpCode.Reports.Core.ReportViewer if (dataSource == null) { throw new ArgumentNullException("dataSource"); } - ReportEngine.CheckForParameters(reportModel, parameters); - IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource); - +// ReportEngine.CheckForParameters(reportModel, parameters); + var dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource); RunReport(reportModel, dataManager); } @@ -139,9 +134,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer if (dataManager == null) { throw new ArgumentNullException("dataManager"); } - this.SetupViewer(reportModel); - this.dataManager = dataManager; RunDataReport(reportModel, dataManager); } @@ -150,24 +143,17 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void RunFormSheet(ReportModel reportModel) { - IReportCreator reportCreator = FormPageBuilder.CreateInstance(reportModel); - reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); - reportCreator.PageCreated += OnPageCreated; - reportCreator.BuildExportList(); + runner.PageCreated += OnPageCreated; + runner.RunReport(reportModel,(ReportParameters)null); ShowCompleted(); } private void RunDataReport(ReportModel reportModel, IDataManager data) { - IReportCreator reportCreator = DataPageBuilder.CreateInstance(reportModel, data); - reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); - reportCreator.GroupHeaderRendering += new EventHandler<GroupHeaderEventArgs>(GroupHeaderRendering); - reportCreator.GroupFooterRendering += GroupFooterRendering; - - reportCreator.RowRendering += new EventHandler<RowRenderEventArgs>(RowRendering); - reportCreator.PageCreated += OnPageCreated; - reportCreator.BuildExportList(); + runner.PageCreated += OnPageCreated; + runner.RunReport(reportModel,data); + runner.PageCreated -= OnPageCreated; ShowCompleted(); } @@ -176,7 +162,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer #region Events from worker - private void OnPageCreated(object sender, PageCreatedEventArgs e) { this.Pages.Add(e.SinglePage); @@ -272,9 +257,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer updateControl = ShowCompleted; Invoke(updateControl); } - if (this.dataManager != null) { - this.dataManager.GetNavigator.Reset(); - } this.SetPages(); this.CheckEnable(); this.printButton.Enabled = true; @@ -335,7 +317,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.comboZoom.ToolTipText = this.reportViewerMessages.ZoomMessage; this.createPdfMenu.Text = this.reportViewerMessages.PdfFileMessage; this.pdfButton.ToolTipText = this.reportViewerMessages.PdfFileMessage; -// this.pagesCreatedMessage = this.reportViewerMessages.PagesCreatedMessage; } } @@ -576,6 +557,5 @@ namespace ICSharpCode.Reports.Core.ReportViewer Localize(); } } - } } From 498b738a1c8f4f86be2fc118f7f6562331beb1e3 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 12 Jun 2011 20:30:00 +0200 Subject: [PATCH 076/168] Better ColorConverter --- .../Project/WPF/FixedDocumentCreator.cs | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index eec729600d..bdd406d993 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -110,7 +110,7 @@ namespace ICSharpCode.Reports.Core.WPF border.Padding = new Thickness(1); border.BorderThickness = new Thickness(2); border.CornerRadius = new CornerRadius(2); - border.BorderBrush = brushConverter.ConvertFromString(column.ForeColor.Name) as SolidColorBrush; + border.BorderBrush = ConvertBrush(column.ForeColor); return border; } @@ -118,7 +118,7 @@ namespace ICSharpCode.Reports.Core.WPF UIElement CreateGraphicsElement(ExportGraphic column) { var line = new System.Windows.Shapes.Line(); - line.Stroke = brushConverter.ConvertFromString(column.StyleDecorator.ForeColor.Name) as SolidColorBrush; + line.Stroke = ConvertBrush(column.StyleDecorator.ForeColor); line.StrokeThickness = column.StyleDecorator.Thickness; var ld = column.StyleDecorator as LineDecorator; @@ -150,21 +150,19 @@ namespace ICSharpCode.Reports.Core.WPF var circle = new System.Windows.Shapes.Ellipse(); SetDimension(circle,decorator); - circle.Fill = brushConverter.ConvertFromString(decorator.BackColor.Name) as SolidColorBrush; + circle.Fill = ConvertBrush(decorator.BackColor); circle.StrokeThickness = decorator.Thickness; - circle.Stroke = brushConverter.ConvertFromString(decorator.ForeColor.Name) as SolidColorBrush; + circle.Stroke = ConvertBrush(decorator.ForeColor); shape = circle; } else { var border = CreateBorder(decorator as BaseStyleDecorator); SetDimension(border,decorator); - RectangleShape rs = decorator.Shape as RectangleShape; - border.CornerRadius = new CornerRadius(rs.CornerRadius); border.BorderThickness = new Thickness(decorator.Thickness); - border.BorderBrush = brushConverter.ConvertFromString(decorator.ForeColor.Name) as SolidColorBrush; + border.BorderBrush = ConvertBrush(decorator.ForeColor); shape = border; } return shape; @@ -176,9 +174,7 @@ namespace ICSharpCode.Reports.Core.WPF { var canvas = new Canvas(); SetDimension(canvas,container.StyleDecorator); - - SolidColorBrush backgroundBrush = brushConverter.ConvertFromString(container.StyleDecorator.BackColor.Name) as SolidColorBrush; - canvas.Background = backgroundBrush; + canvas.Background = ConvertBrush(container.StyleDecorator.BackColor); foreach (var exportElement in container.Items) { var uiElement = ItemFactory (exportElement); @@ -248,7 +244,6 @@ namespace ICSharpCode.Reports.Core.WPF textBlock.FontFamily = new FontFamily(styleDecorator.Font.FontFamily.Name); var b = styleDecorator.Font.Size; textBlock.FontSize = b * 96/72; - textBlock.Foreground = brushConverter.ConvertFromString(styleDecorator.ForeColor.Name) as SolidColorBrush; if (styleDecorator.Font.Bold) { textBlock.FontWeight = FontWeights.Bold; } @@ -264,6 +259,18 @@ namespace ICSharpCode.Reports.Core.WPF } } + Brush ConvertBrush(System.Drawing.Color color) + { + if (brushConverter.IsValid(color.Name)) { + return brushConverter.ConvertFromString(color.Name) as SolidColorBrush; + } else + { + Console.WriteLine("FixedDocumentCreator"); + Console.WriteLine("\tcan't convert {0} to valid Color",color.Name); + return brushConverter.ConvertFromString("Black") as SolidColorBrush; + } + } + void CreateStrikeout (TextBlock textBlock, TextStyleDecorator styleDecorator) { @@ -291,8 +298,7 @@ namespace ICSharpCode.Reports.Core.WPF Pen CreateWpfPen(TextStyleDecorator styleDecorator) { Pen myPen = new Pen(); - SolidColorBrush underlineBrush = brushConverter.ConvertFromString(styleDecorator.ForeColor.Name) as SolidColorBrush; - myPen.Brush = underlineBrush; + myPen.Brush = ConvertBrush(styleDecorator.ForeColor); myPen.Thickness = 1.5; return myPen; } From d574edd956d1c85131607d3554fcba38235cf8a3 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 12 Jun 2011 20:30:49 +0200 Subject: [PATCH 077/168] ReportViewer.cs use PagesCollection from ExportRunner.cs --- .../Project/ReportViewer/ReportViewer.cs | 61 ++++++++----------- 1 file changed, 25 insertions(+), 36 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs index 4e8f8e80f0..4a24b34d13 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs @@ -28,7 +28,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer private int pageNumber; private Bitmap bitmap; - private PagesCollection pages; private IReportViewerMessages reportViewerMessages; private PreviewRenderer previewRenderer; @@ -46,14 +45,11 @@ namespace ICSharpCode.Reports.Core.ReportViewer InitializeComponent(); this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw, true); this.UpdateStyles(); + runner = new ExportRunner(); InitZoomCombo(); - previewRenderer = PreviewRenderer.CreateInstance(); - runner = new ExportRunner(); this.CheckEnable(); SetTransparentBackground(); - - this.numericToolStripTextBox2.Navigate += new EventHandler<PageNavigationEventArgs>(OnNavigate); } @@ -93,7 +89,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer var dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters); RunReport(reportModel,dataManager); } - } @@ -107,7 +102,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer } // ReportEngine.CheckForParameters(reportModel, parameters); IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataTable); - RunReport(reportModel, dataManager); } @@ -143,17 +137,18 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void RunFormSheet(ReportModel reportModel) { - runner.PageCreated += OnPageCreated; +// runner.PageCreated += OnPageCreated; runner.RunReport(reportModel,(ReportParameters)null); +// runner.PageCreated -= OnPageCreated; ShowCompleted(); } private void RunDataReport(ReportModel reportModel, IDataManager data) { - runner.PageCreated += OnPageCreated; +// runner.PageCreated += OnPageCreated; runner.RunReport(reportModel,data); - runner.PageCreated -= OnPageCreated; +// runner.PageCreated -= OnPageCreated; ShowCompleted(); } @@ -161,17 +156,16 @@ namespace ICSharpCode.Reports.Core.ReportViewer #region Events from worker - +/* private void OnPageCreated(object sender, PageCreatedEventArgs e) { - this.Pages.Add(e.SinglePage); if (this.Pages.Count == 1) { ShowSelectedPage(); this.pageNumber = 0; } } - +*/ private void PushPrinting(object sender, SectionRenderEventArgs e) @@ -205,7 +199,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer */ - private void GroupHeaderRendering(object sender, GroupHeaderEventArgs ghea) + private void GroupHeaderRendering(object sender, GroupHeaderEventArgs ghea) { // Console.WriteLine("ReportViewer - GroupHeaderRendering :"); // BaseGroupedRow v = ghea.GroupHeader; @@ -244,7 +238,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void SetupViewer(ReportModel reportModel) { - this.pages = new PagesCollection(); this.reportSettings = reportModel.ReportSettings; this.AdjustDrawArea(); } @@ -298,7 +291,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.Invalidate(true); this.Update(); this.AdjustDrawArea(); - if ((this.pages != null) && (pageNumber < pages.Count)) { + if ((this.Pages != null) && (pageNumber < Pages.Count)) { this.ShowSelectedPage(); } EventHelper.Raise<EventArgs>(this.PreviewLayoutChanged, this, e); @@ -330,9 +323,9 @@ namespace ICSharpCode.Reports.Core.ReportViewer } if (this.toolStrip1 != null) { string str = String.Empty; - if (this.pages != null) { + if (this.Pages != null) { - str = String.Format(CultureInfo.CurrentCulture, "of {0}", this.pages.Count); + str = String.Format(CultureInfo.CurrentCulture, "of {0}", this.Pages.Count); } this.numericToolStripTextBox2.Text = (this.pageNumber + 1).ToString(CultureInfo.CurrentCulture); this.pageInfoLabel.Text = str; @@ -349,7 +342,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer return; } this.pageNumber = i; - if (this.pageNumber < this.pages.Count) { + if (this.pageNumber < this.Pages.Count) { this.CheckEnable(); this.ShowSelectedPage(); } @@ -368,8 +361,8 @@ namespace ICSharpCode.Reports.Core.ReportViewer updateControl = ShowSelectedPage; Invoke(updateControl); } - if (this.pageNumber < this.pages.Count) { - ExporterPage sp = pages[this.pageNumber]; + if (this.pageNumber < this.Pages.Count) { + ExporterPage sp = Pages[this.pageNumber]; if (this.bitmap != null) { this.bitmap.Dispose(); @@ -433,7 +426,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void CheckEnable() { - if ((this.pages == null) || (this.pages.Count == 0)) { + if ((this.Pages == null) || (this.Pages.Count == 0)) { this.firstPageButton.Enabled = false; this.forwardButton.Enabled = false; this.backButton.Enabled = false; @@ -451,7 +444,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void FirstPageButtonClick(object sender, System.EventArgs e) { - if ((this.pages != null) && (this.pageNumber > 0)) { + if ((this.Pages != null) && (this.pageNumber > 0)) { this.pageNumber = 0; } this.CheckEnable(); @@ -467,7 +460,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.pageNumber--; } else { - this.pageNumber = this.pages.Count - 1; + this.pageNumber = this.Pages.Count - 1; } this.CheckEnable(); this.ShowSelectedPage(); @@ -476,7 +469,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void ForwardButtonClick(object sender, System.EventArgs e) { - if (this.pageNumber < this.pages.Count - 1) { + if (this.pageNumber < this.Pages.Count - 1) { this.pageNumber++; } else { this.pageNumber = 0; @@ -488,7 +481,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void LastPageButtonClick(object sender, System.EventArgs e) { - this.pageNumber = this.pages.Count - 1; + this.pageNumber = this.Pages.Count - 1; CheckEnable(); this.ShowSelectedPage(); } @@ -500,7 +493,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer using (PrintDialog dlg = new PrintDialog()) { DialogResult result = dlg.ShowDialog(); if (result == DialogResult.OK) { - PrintRenderer printer = PrintRenderer.CreateInstance(this.pages, dlg.PrinterSettings); + PrintRenderer printer = PrintRenderer.CreateInstance(this.Pages, dlg.PrinterSettings); printer.Start(); printer.RenderOutput(); printer.End(); @@ -522,7 +515,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer saveDialog.DefaultExt = "PDF"; saveDialog.ValidateNames = true; if (saveDialog.ShowDialog() == DialogResult.OK) { - using (PdfRenderer pdfRenderer = PdfRenderer.CreateInstance(this.reportSettings, this.pages, saveDialog.FileName, true)) { + using (PdfRenderer pdfRenderer = PdfRenderer.CreateInstance(this.reportSettings, this.Pages, saveDialog.FileName, true)) { pdfRenderer.Start(); pdfRenderer.RenderOutput(); pdfRenderer.End(); @@ -540,15 +533,11 @@ namespace ICSharpCode.Reports.Core.ReportViewer } - public PagesCollection Pages { - get { - if (this.pages == null) { - this.pages = new PagesCollection(); - } - return this.pages; - } + public PagesCollection Pages + { + get {return runner.Pages;} } - + public IReportViewerMessages Messages { get { return this.reportViewerMessages; } From 888188fd6df4dce27f551d72a10c9387ae1e2a9a Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 12 Jun 2011 20:31:57 +0200 Subject: [PATCH 078/168] Unused events --- .../Exporter/ExportRenderer/ExportRunner.cs | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs index e4c6351c5c..c42a9f7729 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs @@ -56,7 +56,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer public void RunReport(ReportModel reportModel, DataTable dataTable, ReportParameters parameters) { - if (reportModel == null) { + if (reportModel == null) { throw new ArgumentNullException("reportModel"); } if (dataTable == null) { @@ -70,7 +70,6 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer // reportCreator.GroupFooterRendering += GroupFooterRendering; // // reportCreator.RowRendering += new EventHandler<RowRenderEventArgs>(RowRendering); - reportCreator.PageCreated += OnPageCreated; reportCreator.BuildExportList(); } @@ -97,26 +96,33 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer } // ReportEngine.CheckForParameters(reportModel, parameters); IReportCreator reportCreator = DataPageBuilder.CreateInstance(reportModel, dataManager); - reportCreator.PageCreated += OnPageCreated; - reportCreator.BuildExportList(); + BuildExportList(reportCreator); } - public PagesCollection Pages {get;private set;} - private void RunFormSheet(ReportModel reportModel) { IReportCreator reportCreator = FormPageBuilder.CreateInstance(reportModel); // reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); + BuildExportList(reportCreator); + } + + + void BuildExportList(IReportCreator reportCreator) + { reportCreator.PageCreated += OnPageCreated; reportCreator.BuildExportList(); + reportCreator.PageCreated -= OnPageCreated; } + + public PagesCollection Pages {get;private set;} + + private void OnPageCreated (object sender,PageCreatedEventArgs e) { Pages.Add(e.SinglePage); if (PageCreated != null) { - PageCreated (this,e); } } From bc944fd1573f15faf655e009e30e0ce49b37ff74 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Tue, 14 Jun 2011 20:26:36 +0200 Subject: [PATCH 079/168] fixed http://community.sharpdevelop.net/forums/t/13200.aspx --- .../ReportViewer/ReportViewer.Designer.cs | 26 +++++++++++----- .../Project/ReportViewer/ReportViewer.cs | 11 +------ .../Project/ReportViewer/ReportViewer.resx | 30 ++++--------------- 3 files changed, 25 insertions(+), 42 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.Designer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.Designer.cs index 6cc5c3bc9a..df13cab2e4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.Designer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.Designer.cs @@ -48,6 +48,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.comboZoom = new System.Windows.Forms.ToolStripComboBox(); this.printButton = new System.Windows.Forms.ToolStripButton(); this.pdfButton = new System.Windows.Forms.ToolStripButton(); + this.printToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.panel1.SuspendLayout(); this.contextMenuStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout(); @@ -62,36 +63,38 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.panel1.AutoScrollMargin = new System.Drawing.Size(5, 5); this.panel1.BackColor = System.Drawing.SystemColors.ControlDark; this.panel1.Controls.Add(this.drawingPanel); - this.panel1.Location = new System.Drawing.Point(5, 33); + this.panel1.Location = new System.Drawing.Point(5, 35); this.panel1.Margin = new System.Windows.Forms.Padding(0); this.panel1.Name = "panel1"; this.panel1.Padding = new System.Windows.Forms.Padding(5); - this.panel1.Size = new System.Drawing.Size(525, 373); + this.panel1.Size = new System.Drawing.Size(520, 373); this.panel1.TabIndex = 3; // // drawingPanel // this.drawingPanel.BackColor = System.Drawing.SystemColors.Window; + this.drawingPanel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; this.drawingPanel.ContextMenuStrip = this.contextMenuStrip1; - this.drawingPanel.Location = new System.Drawing.Point(5, 5); + this.drawingPanel.Location = new System.Drawing.Point(3, 5); this.drawingPanel.Name = "drawingPanel"; - this.drawingPanel.Size = new System.Drawing.Size(496, 500); + this.drawingPanel.Size = new System.Drawing.Size(498, 434); this.drawingPanel.TabIndex = 0; this.drawingPanel.Paint += new System.Windows.Forms.PaintEventHandler(this.DrawingPanelPaint); // // contextMenuStrip1 // this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.createPdfMenu}); + this.createPdfMenu, + this.printToolStripMenuItem}); this.contextMenuStrip1.Name = "contextMenuStrip1"; this.contextMenuStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional; - this.contextMenuStrip1.Size = new System.Drawing.Size(148, 26); + this.contextMenuStrip1.Size = new System.Drawing.Size(153, 70); this.contextMenuStrip1.Text = "Create PdfFile"; // // createPdfMenu // this.createPdfMenu.Name = "createPdfMenu"; - this.createPdfMenu.Size = new System.Drawing.Size(147, 22); + this.createPdfMenu.Size = new System.Drawing.Size(152, 22); this.createPdfMenu.Text = "Create PdfFile"; this.createPdfMenu.Click += new System.EventHandler(this.PdfButtonClick); // @@ -168,7 +171,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.lastPageButton.Size = new System.Drawing.Size(23, 22); this.lastPageButton.Text = "&&LastPage"; this.lastPageButton.Click += new System.EventHandler(this.LastPageButtonClick); - // // toolStripSeparator1 // @@ -201,6 +203,13 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.pdfButton.Text = "toolStripButton1"; this.pdfButton.Click += new System.EventHandler(this.PdfButtonClick); // + // printToolStripMenuItem + // + this.printToolStripMenuItem.Name = "printToolStripMenuItem"; + this.printToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.printToolStripMenuItem.Text = "Print"; + this.printToolStripMenuItem.Click += new System.EventHandler(this.PrintButton); + // // PreviewControl // this.BackColor = System.Drawing.SystemColors.GradientActiveCaption; @@ -216,6 +225,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.ResumeLayout(false); this.PerformLayout(); } + private System.Windows.Forms.ToolStripMenuItem printToolStripMenuItem; private NumericToolStripTextBox numericToolStripTextBox2; private System.Windows.Forms.ToolStripLabel pageInfoLabel; private System.Windows.Forms.ToolStripButton pdfButton; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs index 4a24b34d13..4db42596cf 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs @@ -137,18 +137,14 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void RunFormSheet(ReportModel reportModel) { -// runner.PageCreated += OnPageCreated; runner.RunReport(reportModel,(ReportParameters)null); -// runner.PageCreated -= OnPageCreated; ShowCompleted(); } private void RunDataReport(ReportModel reportModel, IDataManager data) { -// runner.PageCreated += OnPageCreated; runner.RunReport(reportModel,data); -// runner.PageCreated -= OnPageCreated; ShowCompleted(); } @@ -503,12 +499,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void PdfButtonClick(object sender, EventArgs e) - { - this.CreatePdf(); - } - - - private void CreatePdf() { using (SaveFileDialog saveDialog = new SaveFileDialog()) { saveDialog.FileName = this.reportSettings.ReportName; @@ -524,6 +514,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer } } + #endregion private void SetPages() diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.resx b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.resx index a42f6a5b33..90527653fc 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.resx +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.resx @@ -112,18 +112,18 @@ <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> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.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> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> - <metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>116, 17</value> </metadata> - <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>17, 17</value> </metadata> - <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <data name="firstPageButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -176,7 +176,7 @@ <data name="lastPageButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKMSURBVDhPfZNrSNNRGIfta30Ikj70ISsK1Ip0Yihq3i9Z + YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAKMSURBVDhPfZNrSNNRGIfta30Ikj70ISsK1Ip0Yihq3i9Z SliKitIFQxMhTSgSicD6IH3QCJdixiopL2laeVlq3vKKZSPN2GJWtjbnnNO2NC/19HfC5I/aDw68nPOe 5/zOed9jhyDflBr6h3TL4YZyjKtgU3g52+Jr2Rwss+XZLUf2oTJ2xFQyojZuCNh9uh67vHFcO//gmNEk BjjEVuHy3MTexCq63/1YF7IvqYEtt0bxqDPhlCYXA/bEVrNVqsWl2oBbupyKBtUaiHNKE9ulGkJbzLhm @@ -188,24 +188,6 @@ JSp61GZRGQNLRkkamqdQYEY8WHG1LKsDiXSU7M+L9P0Ev3tq+r/+WtNIIaUaLioXeDgluCtb7VYrIKZG h+I3+JeOMaIXgnUUWqklVbXEfQFwsnpc7CBYKJ9vhQ6teWndzcuT0Q2TdMzDhBAnyFc/ndXBGeH1FXph 9T+KbjRyrnWa5HYTh58abJn/ACAoUCkuveSxAAAAAElFTkSuQmCC -</value> - </data> - <data name="cancelButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALMSURBVDhPlZJbSFRRFIanJCkMk5JKo5LShGy8ZJiOheYl - nRobZ9TEvHTxknlDM7KMskG0tEwrTSGM6iHsJVTwkjbO6ENJ1kMQVDromfuZuyOOCGP8nXMG5vTqhg2b - tdb/rX/tvTnfvxFQKlfAWeeiNbSWQx+WZYMwt9XBKCkFWZcHfU0WdJXp0JWdhbZMAG1JCtSX46EuOAFV - 1lH8Tg3E/MtWtrH5yS3YP/TC9voxzB31MLXUwNBYDkNDCQx3C0HeLoD+RjYFFUJTmIC5jHCM8fxZ18am - CtjetMHSLYHpYTUW+7qxtmh1F6xZDLD2tjBidX4sFJkR+BS3nwWQ9RdhfnqH6bw09I5JLEsHYGymnVRg - WdrPxBb7uqCkxLQDaWIgC9BXZ8LYVAn7+24maHkugbY0DZoriVDnxVJzR8DUXMnkzK21UIhDMfE/gL4w - 8l4R/tptcEyNULOKoSnhuzuoMrhQCYPhkPXDqSOgEIVAlnCAdaAtPg3yZq6re5eEAogoByxAc54LjSgI - 5sZipmZeeAiy+H0sQHMpHvQYbkAVBbjGAnQ5XOgyAmF9UMLULKQFQH7SjwWocqIogQBrNhMcn8ehqxJC - V37GXUDmh4LMDsLql2E41XMg+H6YitnBApRiyiJ1YdZXj5igtaeR+kQp0F89BbIoGoYCLuydta6XaKuA - MskHk8e2soAF/kGoc2OgKUrC0uBbJrEyPQ5rey1s7dVY/Trmig30wMDfBmXcFkyGebKA+QR/KEVcqC9E - Q1ucDEtnA5ykyl3g1Chgf3YdBoEvyCQvELxNmDjiwQJ+xmzHn+QAzJ4Lwaw4HHPiMGpzqfc+jIX0IBCC - vSBSd4JI9AYR64lfkRsxFLzBBVASDiheNGEowgejx3dhlLcHI9Qe5/nhI283pNG+kEd5Qx7phYnwzZBz - PTBMiX903Aet5cxMK1yHdS5aMzM9h3/8fvEPYJVcPgAAAABJRU5ErkJggg== </value> </data> <data name="printButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> From 37de3d225173b7eeef72ffe35ab85a0a07fdc58d Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 19 Jun 2011 20:17:28 +0200 Subject: [PATCH 080/168] Calculate Gap's between sections --- .../ICSharpCode.Reports.Core.csproj | 1 + .../Project/Exporter/BasePager.cs | 121 ++---------------- .../Converters/GroupedRowConverter.cs | 1 + .../Project/Exporter/DataPageBuilder.cs | 5 +- .../Project/Exporter/GapList.cs | 62 +++++++++ 5 files changed, 77 insertions(+), 113 deletions(-) create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/GapList.cs diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index ecd1fe0cb9..c15b5502ca 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -175,6 +175,7 @@ <Compile Include="Project\Exporter\ExportRenderer\ExportRunner.cs" /> <Compile Include="Project\Exporter\ExportRenderer\FixedDocumentRenderer.cs" /> <Compile Include="Project\Exporter\ExportRenderer\IExportRunner.cs" /> + <Compile Include="Project\Exporter\GapList.cs" /> <Compile Include="Project\Expressions\EvaluationHelper.cs" /> <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\ReportingService\FieldReference.cs" /> <Compile Include="Project\Exporter\BasePager.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index b1cc4352d7..c04fca9dc7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -92,15 +92,16 @@ namespace ICSharpCode.Reports.Core.Exporter Rectangle desiredRectangle = LayoutHelper.CalculateSectionLayout(this.Graphics,section); LayoutHelper.FixSectionLayout(desiredRectangle,section); - BaseReportItem oldItem = section.Items[0]; + GapList gapCalculator = new GapList(); + gapCalculator.CalculateGapList(section); + int i = 0; - int gap = oldItem.Location.Y; foreach (BaseReportItem item in section.Items) { - ISimpleContainer simpleContainer = item as ISimpleContainer; - gap = CalculateGap (oldItem,item); - + + Offset = new Point(Offset.X,Offset.Y + gapCalculator.GapBetweenItems[i] ); + if (simpleContainer != null) { EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items); @@ -109,127 +110,26 @@ namespace ICSharpCode.Reports.Core.Exporter LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer); Offset = BaseConverter.ConvertContainer(convertedSection,simpleContainer,Offset.X,Offset); - Offset = new Point(Offset.X,Offset.Y + gap); - + Rectangle rsec = new Rectangle(section.Location,section.Size); Rectangle ro = new Rectangle(section.Location,simpleContainer.Size); if (!rsec.Contains(ro)) { - Console.WriteLine("recalculate sectionsize old {0} ",section.Size); - section.Size = new Size(section.Size.Width,Offset.Y - startOffset.Y + gap); - Console.WriteLine("\t new size {0} ",section.Size); + section.Size = new Size(section.Size.Width,Offset.Y - startOffset.Y ); } - } else { - Offset = new Point(Offset.X,Offset.Y + gap); var converteditem = ExportHelper.ConvertLineItem(item,Offset); convertedSection.Add(converteditem); } - oldItem = item; + i ++; } + Offset = new Point (Offset.X,Offset.Y + gapCalculator.LastGap); } - return convertedSection; - } - -/* - -// protected ExporterCollection ConvertSection (BaseSection section,int dataRow) - private ExporterCollection bbConvertSection (BaseSection section,int dataRow) - { - FireSectionRenderEvent (section ,dataRow); - PrintHelper.AdjustParent(section,section.Items); - var convertedSection = new ExporterCollection(); - Offset = new Point(section.Location.X,section.SectionOffset); - - if (section.Items.Count > 0) { - section.Items.SortByLocation(); - - IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); - var layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); - Console.WriteLine("start sec size {0}",section.Size); - Rectangle desiredRectangle = LayoutHelper.CalculateSectionLayout(this.Graphics,section); - LayoutHelper.FixSectionLayout(desiredRectangle,section); - Console.WriteLine("after sectionlayout sec size {0}",section.Size); - - Console.WriteLine(section.Name); - BaseReportItem oi = section.Items[0]; - var rr = oi.Location.Y; - -foreach (var element in section.Items) -{ - if (oi != element) { - rr = CalculateGap(oi,element); - } - Console.WriteLine(rr); - oi = element; -} - - - - BaseReportItem oldItem = section.Items[0]; - int gap = oldItem.Location.Y; - foreach (BaseReportItem item in section.Items) - { - ISimpleContainer simpleContainer = item as ISimpleContainer; - gap = CalculateGap (oldItem,item); - - if (simpleContainer != null) - { - EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items); - - Offset = new Point(Offset.X,Offset.Y + item.Size.Height + gap); -// var layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); - LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer); - -// Console.WriteLine("offset start {0}",Offset); - - http://stackoverflow.com/questions/4270541/how-can-i-determine-if-one-rectangle-is-completely-contained-within-another - - Rectangle r2 = new Rectangle(0,0,section.Size.Width,section.Size.Height); -// Rectangle r2 = new Rectangle(section.Location,section.Size); - Rectangle ro = new Rectangle(simpleContainer.Location,simpleContainer.Size); - Console.WriteLine (r2.Contains(ro)); - Rectangle r3 = Rectangle.Union(r2,ro); - Rectangle r4 = Rectangle.Union(ro,r2); - ro.Intersect(r2); - if (!r2.Contains(ro)) { - /*section.Size = new Size (section.Size.Width,r3.Size.Height); - } - - - ExportContainer exportContainer = ExportHelper.ConvertToContainer(simpleContainer,Offset); -// Offset = new Point(Offset.X,Offset.Y + item.Size.Height + gap); - ExporterCollection exporterCollection = ExportHelper.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location); - exportContainer.Items.AddRange(exporterCollection); - convertedSection.Add(exportContainer); - - } - else - { - Offset = new Point(Offset.X,Offset.Y + gap); - var converteditem = ExportHelper.ConvertLineItem(item,Offset); - convertedSection.Add(converteditem); - } - oldItem = item; - } - } - Console.WriteLine("bbbb sec size {0} new size {1}",section.Size, new Size(section.Size.Width,Offset.Y)); return convertedSection; } - */ - - static int CalculateGap(BaseReportItem oldItem, BaseReportItem item) - { - var gap = item.Location.Y - (oldItem.Location.Y + oldItem.Size.Height) ; - if (gap < 0) { - gap = 0; - } - return gap; - } - public static BaseRectangleItem CreateDebugItem (BaseReportItem item) { @@ -366,6 +266,7 @@ foreach (var element in section.Items) protected void DebugShowSections () { + Console.WriteLine("\toffset {0}",Offset); Console.WriteLine("\treportheader {0}",SectionBounds.ReportHeaderRectangle); Console.WriteLine("\tpageheader {0}",SectionBounds.PageHeaderRectangle); Console.WriteLine("\tdetail {0}",SectionBounds.DetailArea); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index 2e9b01514d..b4d586805e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -60,6 +60,7 @@ namespace ICSharpCode.Reports.Core.Exporter ExporterCollection exporterCollection = new ExporterCollection(); // base.CurrentPosition = new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.DetailStart.Y); base.CurrentPosition = base.SectionBounds.DetailArea.Location; +// base.CurrentPosition = new Point (base.CurrentPosition.X,base.CurrentPosition.Y + 20); BaseSection section = parent as BaseSection; DefaultLeftPosition = parent.Location.X; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index 968bf2db5e..e12d49d77d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -79,13 +79,12 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildPageHeader () { -// base.DebugShowSections(); + base.DebugShowSections(); base.SectionBounds.CalculatePageBounds(base.ReportModel); -// Console.WriteLine("----------------"); ConvertSectionInternal (base.ReportModel.PageHeader); base.ReportModel.PageHeader.Size = new Size(base.ReportModel.PageHeader.Size.Width,base.Offset.Y - base.ReportModel.PageHeader.SectionOffset); base.SectionBounds.CalculatePageBounds(base.ReportModel); -// base.DebugShowSections(); + base.DebugShowSections(); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/GapList.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/GapList.cs new file mode 100644 index 0000000000..c32ac5db39 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/GapList.cs @@ -0,0 +1,62 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 19.06.2011 + * Time: 19:34 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; + +namespace ICSharpCode.Reports.Core.Exporter +{ + /// <summary> + /// Description of GapList. + /// </summary> + internal class GapList + { + public GapList() + { + } + + + public void CalculateGapList (BaseSection section) + { + GapBetweenItems = new int[section.Items.Count +1]; + BaseReportItem oldItem = section.Items[0]; + for (int i = 0; i < section.Items.Count; i++) { + GapBetweenItems[i] = CalculateGap(oldItem,section.Items[i]); + } + GapBetweenItems[section.Items.Count] = CalculateLastGap(section); + } + + + static int CalculateGap(BaseReportItem oldItem, BaseReportItem item) + { + if (oldItem == item) { + return 0; + } else { + return item.Location.Y - (oldItem.Location.Y + oldItem.Size.Height) ; + } + } + + + static int CalculateLastGap(BaseSection section) + { + BaseReportItem last = section.Items[section.Items.Count -1]; + int sectionHeight = section.Size.Height; + int bottom = last.Location.Y + last.Size.Height; + return sectionHeight - bottom; + } + + public int[] GapBetweenItems {get;private set;} + + public int LastGap + { + get + { + return GapBetweenItems[GapBetweenItems.Length -1]; + } + } + } +} From 0db88b4c06f001e4b85761724303985a59b3ae8e Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Wed, 22 Jun 2011 20:41:14 +0200 Subject: [PATCH 081/168] after page break detailarea sips --- .../Project/BaseClasses/SectionBounds.cs | 4 ++++ .../Project/Exporter/BasePager.cs | 17 +++++++++++++---- .../Exporter/Converters/GroupedRowConverter.cs | 11 +++++++---- .../Project/Exporter/DataPageBuilder.cs | 13 ++++++++++--- .../Project/Globals/GlobalValues.cs | 1 - 5 files changed, 34 insertions(+), 12 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs index 91792c024d..d5dfaa7332 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs @@ -121,6 +121,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses section.SectionOffset, this.marginBounds.Width, s.Height); + Console.WriteLine("\tSectionBounds pageheader {0} - loca {1}",pageHeaderRectangle,pageHeaderRectangle.Location); } @@ -205,6 +206,9 @@ namespace ICSharpCode.Reports.Core.BaseClasses public Rectangle DetailArea { get { + Console.WriteLine("\tSectionBound Detailarea location {0}",new Rectangle (new Point (pageHeaderRectangle.X,pageHeaderRectangle.Bottom + GlobalValues.GapBetweenContainer), + new Size(pageFooterRectangle.Location.X,pageFooterRectangle.Top - GlobalValues.GapBetweenContainer)).Location); + return new Rectangle (new Point (pageHeaderRectangle.X,pageHeaderRectangle.Bottom + GlobalValues.GapBetweenContainer), new Size(pageFooterRectangle.Location.X,pageFooterRectangle.Top - GlobalValues.GapBetweenContainer)); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index c04fca9dc7..e84d1584cc 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -84,7 +84,12 @@ namespace ICSharpCode.Reports.Core.Exporter var convertedSection = new ExporterCollection(); Offset = new Point(section.Location.X,section.SectionOffset); Point startOffset = Offset; - if (section.Items.Count > 0) { + Console.WriteLine ("start ConvertSection {0}- {1}",section.Name,section.Size); + + if (section.Items.Count > 0) + { + Size sectionSize = section.Size; + section.Items.SortByLocation(); IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); @@ -101,7 +106,7 @@ namespace ICSharpCode.Reports.Core.Exporter ISimpleContainer simpleContainer = item as ISimpleContainer; Offset = new Point(Offset.X,Offset.Y + gapCalculator.GapBetweenItems[i] ); - + if (simpleContainer != null) { EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items); @@ -114,19 +119,23 @@ namespace ICSharpCode.Reports.Core.Exporter Rectangle rsec = new Rectangle(section.Location,section.Size); Rectangle ro = new Rectangle(section.Location,simpleContainer.Size); if (!rsec.Contains(ro)) { + Console.WriteLine ("Update Size"); section.Size = new Size(section.Size.Width,Offset.Y - startOffset.Y ); } } else { var converteditem = ExportHelper.ConvertLineItem(item,Offset); - convertedSection.Add(converteditem); +// Offset = new Point (Offset.X,Offset.Y + item.Size.Height); + convertedSection.Add(converteditem ); } i ++; } Offset = new Point (Offset.X,Offset.Y + gapCalculator.LastGap); +// section.Size = sectionSize; } - + Console.WriteLine ("leave ConvertSection {0}",section.Size); + Console.WriteLine(); return convertedSection; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index b4d586805e..8ba3bbfe28 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -56,11 +56,10 @@ namespace ICSharpCode.Reports.Core.Exporter private ExporterCollection ConvertDataRow (ISimpleContainer simpleContainer) { - ExporterCollection exporterCollection = new ExporterCollection(); -// base.CurrentPosition = new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.DetailStart.Y); base.CurrentPosition = base.SectionBounds.DetailArea.Location; // base.CurrentPosition = new Point (base.CurrentPosition.X,base.CurrentPosition.Y + 20); + Console.WriteLine("Convertdatarow start {0}",base.CurrentPosition); BaseSection section = parent as BaseSection; DefaultLeftPosition = parent.Location.X; @@ -165,10 +164,14 @@ namespace ICSharpCode.Reports.Core.Exporter { var r = base.ReportModel; base.SectionBounds.CalculatePageBounds(r); - return new Point(base.SectionBounds.DetailArea.X,base.SectionBounds.PageHeaderRectangle.Bottom + 1); + var rr = new Point(base.SectionBounds.DetailArea.X,base.SectionBounds.PageHeaderRectangle.Bottom + 1); + var p = base.SectionBounds.DetailArea.Location; + Console.WriteLine ("PageBreak {0} - detailareaa {1}",rr,p); + Console.WriteLine("-----------------"); + return base.SectionBounds.DetailArea.Location; } - + private Point ConvertGroupHeader(ExporterCollection exportList,BaseSection section,Point offset) { var retVal = Point.Empty; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index e12d49d77d..517279454d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -79,12 +79,19 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildPageHeader () { - base.DebugShowSections(); +// base.DebugShowSections(); + Console.WriteLine(); + Console.WriteLine ("start BuildPageHeader DetailArea.Location {0} - offset {1}",SectionBounds.DetailArea.Location,base.Offset); base.SectionBounds.CalculatePageBounds(base.ReportModel); ConvertSectionInternal (base.ReportModel.PageHeader); - base.ReportModel.PageHeader.Size = new Size(base.ReportModel.PageHeader.Size.Width,base.Offset.Y - base.ReportModel.PageHeader.SectionOffset); + Size s = base.ReportModel.PageHeader.Size; + +// base.ReportModel.PageHeader.Size = new Size(base.ReportModel.PageHeader.Size.Width,base.Offset.Y - base.ReportModel.PageHeader.SectionOffset); + s = base.ReportModel.PageHeader.Size; base.SectionBounds.CalculatePageBounds(base.ReportModel); - base.DebugShowSections(); + Console.WriteLine ("end BuildPageHeader DetailArea.Location {0} - offset {1}",SectionBounds.DetailArea.Location,base.Offset); +// base.DebugShowSections(); + Console.WriteLine(); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs index fce257ef2d..81ffb9788a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs @@ -29,7 +29,6 @@ namespace ICSharpCode.Reports.Core.Globals private static string reportFileName = "Report1"; private const string unbound = "unbound"; private const string tableName = "Table"; - private const int enlargeControl = 5; private const int defaultZoomfactor = 1; private const int gapBetweenRows = 1; From a59bb8ecea042a2ce456008fe2c5b883c9ab1f86 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sat, 25 Jun 2011 20:19:52 +0200 Subject: [PATCH 082/168] CanGrow in PageHeader --- .../Project/BaseClasses/SectionBounds.cs | 7 +++--- .../Project/Events/NewPageEventArgs.cs | 7 +++++- .../Project/Exporter/BasePager.cs | 24 +++++++----------- .../Exporter/Converters/BaseConverter.cs | 7 ++++-- .../Converters/GroupedRowConverter.cs | 25 +++++++++++-------- .../Project/Exporter/DataPageBuilder.cs | 22 +++++++--------- 6 files changed, 47 insertions(+), 45 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs index d5dfaa7332..7336232806 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs @@ -23,6 +23,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses Rectangle DetailArea {get;} Size PageSize {get;set;} bool Landscape{get;} + Point Offset {get;set;} } @@ -121,7 +122,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses section.SectionOffset, this.marginBounds.Width, s.Height); - Console.WriteLine("\tSectionBounds pageheader {0} - loca {1}",pageHeaderRectangle,pageHeaderRectangle.Location); } @@ -206,9 +206,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses public Rectangle DetailArea { get { - Console.WriteLine("\tSectionBound Detailarea location {0}",new Rectangle (new Point (pageHeaderRectangle.X,pageHeaderRectangle.Bottom + GlobalValues.GapBetweenContainer), - new Size(pageFooterRectangle.Location.X,pageFooterRectangle.Top - GlobalValues.GapBetweenContainer)).Location); - return new Rectangle (new Point (pageHeaderRectangle.X,pageHeaderRectangle.Bottom + GlobalValues.GapBetweenContainer), new Size(pageFooterRectangle.Location.X,pageFooterRectangle.Top - GlobalValues.GapBetweenContainer)); } @@ -223,6 +220,8 @@ namespace ICSharpCode.Reports.Core.BaseClasses public Size PageSize {get;set;} + public Point Offset {get;set;} + #endregion } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Events/NewPageEventArgs.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Events/NewPageEventArgs.cs index 2b9fc5faef..b7fc45a22c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Events/NewPageEventArgs.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Events/NewPageEventArgs.cs @@ -2,6 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using ICSharpCode.Reports.Core.BaseClasses; namespace ICSharpCode.Reports.Core.Events { @@ -10,13 +11,17 @@ namespace ICSharpCode.Reports.Core.Events private ExporterCollection itemsList; - public NewPageEventArgs(ExporterCollection itemsList) + public NewPageEventArgs(ExporterCollection itemsList,SectionBounds sectionBounds) { this.itemsList = itemsList; + SectionBounds = sectionBounds; } public ExporterCollection ItemsList { get { return itemsList; } } + + public SectionBounds SectionBounds {get;set;} + } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index e84d1584cc..46122b9916 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -81,10 +81,10 @@ namespace ICSharpCode.Reports.Core.Exporter FireSectionRenderEvent (section ,dataRow); PrintHelper.AdjustParent(section,section.Items); PrintHelper.AdjustSectionLocation(section); + var convertedSection = new ExporterCollection(); - Offset = new Point(section.Location.X,section.SectionOffset); + Offset = SectionBounds.Offset; Point startOffset = Offset; - Console.WriteLine ("start ConvertSection {0}- {1}",section.Name,section.Size); if (section.Items.Count > 0) { @@ -101,41 +101,35 @@ namespace ICSharpCode.Reports.Core.Exporter gapCalculator.CalculateGapList(section); int i = 0; + foreach (BaseReportItem item in section.Items) { + ISimpleContainer simpleContainer = item as ISimpleContainer; Offset = new Point(Offset.X,Offset.Y + gapCalculator.GapBetweenItems[i] ); - + if (simpleContainer != null) { + var containerSize = simpleContainer.Size; + EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items); var layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer); - Offset = BaseConverter.ConvertContainer(convertedSection,simpleContainer,Offset.X,Offset); - - Rectangle rsec = new Rectangle(section.Location,section.Size); - Rectangle ro = new Rectangle(section.Location,simpleContainer.Size); - if (!rsec.Contains(ro)) { - Console.WriteLine ("Update Size"); - section.Size = new Size(section.Size.Width,Offset.Y - startOffset.Y ); - } + simpleContainer.Size = containerSize; } else { var converteditem = ExportHelper.ConvertLineItem(item,Offset); -// Offset = new Point (Offset.X,Offset.Y + item.Size.Height); convertedSection.Add(converteditem ); } i ++; } Offset = new Point (Offset.X,Offset.Y + gapCalculator.LastGap); -// section.Size = sectionSize; } - Console.WriteLine ("leave ConvertSection {0}",section.Size); - Console.WriteLine(); + SectionBounds.Offset = Offset; return convertedSection; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index ab58e5deb7..6ebc7f0554 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -50,7 +50,7 @@ namespace ICSharpCode.Reports.Core.Exporter #region PageBreak protected void BuildNewPage(ExporterCollection myList,BaseSection section) - { + { FirePageFull(myList); section.SectionOffset = SinglePage.SectionBounds.PageHeaderRectangle.Location.Y; myList.Clear(); @@ -59,7 +59,10 @@ namespace ICSharpCode.Reports.Core.Exporter protected void FirePageFull (ExporterCollection items) { - EventHelper.Raise<NewPageEventArgs>(PageFull,this,new NewPageEventArgs(items)); + var newPage = new NewPageEventArgs (items,SinglePage.SectionBounds); +// EventHelper.Raise<NewPageEventArgs>(PageFull,this,new NewPageEventArgs(items,SinglePage.SectionBounds)); + EventHelper.Raise<NewPageEventArgs>(PageFull,this,newPage); + SinglePage.SectionBounds = newPage.SectionBounds; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index 8ba3bbfe28..8b642e7bbc 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -57,9 +57,10 @@ namespace ICSharpCode.Reports.Core.Exporter private ExporterCollection ConvertDataRow (ISimpleContainer simpleContainer) { ExporterCollection exporterCollection = new ExporterCollection(); - base.CurrentPosition = base.SectionBounds.DetailArea.Location; -// base.CurrentPosition = new Point (base.CurrentPosition.X,base.CurrentPosition.Y + 20); - Console.WriteLine("Convertdatarow start {0}",base.CurrentPosition); +// base.CurrentPosition = base.SectionBounds.DetailArea.Location; + + base.CurrentPosition = base.SectionBounds.Offset; +// Console.WriteLine("Convertdatarow start {0}",base.CurrentPosition); BaseSection section = parent as BaseSection; DefaultLeftPosition = parent.Location.X; @@ -162,13 +163,17 @@ namespace ICSharpCode.Reports.Core.Exporter private Point CalculateStartPosition(BaseSection section) { - var r = base.ReportModel; - base.SectionBounds.CalculatePageBounds(r); - var rr = new Point(base.SectionBounds.DetailArea.X,base.SectionBounds.PageHeaderRectangle.Bottom + 1); - var p = base.SectionBounds.DetailArea.Location; - Console.WriteLine ("PageBreak {0} - detailareaa {1}",rr,p); - Console.WriteLine("-----------------"); - return base.SectionBounds.DetailArea.Location; +// var r = base.ReportModel; +// base.SectionBounds.CalculatePageBounds(r); +// var rr = new Point(base.SectionBounds.DetailArea.X,base.SectionBounds.PageHeaderRectangle.Bottom + 1); +// var p = base.SectionBounds.DetailArea.Location; +// var pp = SectionBounds.Offset; +// Console.WriteLine ("PageBreak {0} - detailareaa {1}",rr,p); +// Console.WriteLine("-----------------"); +// Console.WriteLine(""); +//// return base.SectionBounds.DetailArea.Location; +// return pp; + return SectionBounds.Offset; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index 517279454d..ae67496701 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -57,6 +57,7 @@ namespace ICSharpCode.Reports.Core.Exporter { this.SinglePage.Items.AddRange(e.ItemsList); PageBreak(); + e.SectionBounds = SinglePage.SectionBounds; } @@ -64,6 +65,7 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildReportHeader () { + SectionBounds.Offset = new Point(base.SectionBounds.MarginBounds.Left,base.SectionBounds.MarginBounds.Top); if ((base.Pages.Count == 0) && (base.ReportModel.ReportHeader.Items.Count > 0)) { base.ReportModel.ReportHeader.SectionOffset = base.SinglePage.SectionBounds.ReportHeaderRectangle.Top; @@ -73,25 +75,18 @@ namespace ICSharpCode.Reports.Core.Exporter base.ReportModel.ReportHeader.Size = Size.Empty; } base.SectionBounds.CalculatePageBounds(base.ReportModel); - + var p = base.SectionBounds.Offset; } protected override void BuildPageHeader () { -// base.DebugShowSections(); - Console.WriteLine(); - Console.WriteLine ("start BuildPageHeader DetailArea.Location {0} - offset {1}",SectionBounds.DetailArea.Location,base.Offset); - base.SectionBounds.CalculatePageBounds(base.ReportModel); - ConvertSectionInternal (base.ReportModel.PageHeader); - Size s = base.ReportModel.PageHeader.Size; + if (SectionBounds.Offset.Y < base.ReportModel.PageHeader.SectionOffset) { + SectionBounds.Offset = new Point(SectionBounds.Offset.X,base.ReportModel.PageHeader.SectionOffset); + } -// base.ReportModel.PageHeader.Size = new Size(base.ReportModel.PageHeader.Size.Width,base.Offset.Y - base.ReportModel.PageHeader.SectionOffset); - s = base.ReportModel.PageHeader.Size; base.SectionBounds.CalculatePageBounds(base.ReportModel); - Console.WriteLine ("end BuildPageHeader DetailArea.Location {0} - offset {1}",SectionBounds.DetailArea.Location,base.Offset); -// base.DebugShowSections(); - Console.WriteLine(); + ConvertSectionInternal (base.ReportModel.PageHeader); } @@ -100,7 +95,7 @@ namespace ICSharpCode.Reports.Core.Exporter bool pageBreak = false; base.ReportModel.ReportFooter.SectionOffset = footerRectangle.Top + GlobalValues.GapBetweenContainer; - + SectionBounds.Offset = new Point(SectionBounds.Offset.X,footerRectangle.Top + GlobalValues.GapBetweenContainer ); if (!PrintHelper.IsRoomForFooter(base.SectionBounds,base.ReportModel.ReportFooter.Location)) { PageBreak(); base.ReportModel.ReportFooter.SectionOffset = SectionBounds.DetailArea.Top; @@ -128,6 +123,7 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildPageFooter () { base.ReportModel.PageFooter.SectionOffset = base.SinglePage.SectionBounds.PageFooterRectangle.Top; + SectionBounds.Offset = new Point(SectionBounds.Offset.X, base.SinglePage.SectionBounds.PageFooterRectangle.Top); ConvertSectionInternal(base.ReportModel.PageFooter); } From bdc54cbf1155daf069ecc4ba7b1dcb0b5797f0db Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Wed, 29 Jun 2011 20:41:10 +0200 Subject: [PATCH 083/168] RightToLeft --- .../Project/ReportItems/BaseTextItem.cs | 37 ++++++++--- .../TypeProviders/TextItemTypeProvider.cs | 3 + .../BaseClasses/Printing/TextDrawer.cs | 11 ++-- .../Project/BaseItems/BaseGraphicItem.cs | 5 +- .../Project/BaseItems/BaseTextItem.cs | 12 ++-- .../Project/Exporter/BasePager.cs | 2 - .../Exporter/Converters/BaseConverter.cs | 2 - .../Converters/GroupedRowConverter.cs | 19 ------ .../Project/Exporter/DataPageBuilder.cs | 2 - .../Decorators/GraphicStyleDecorator.cs | 24 +++---- .../Exporter/Decorators/Linedecorator.cs | 1 - .../Exporter/Decorators/TextStyleDecorator.cs | 63 ++++--------------- .../Exporter/ExportColumns/ExportText.cs | 5 ++ 13 files changed, 68 insertions(+), 118 deletions(-) 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 dccb269c64..684ff3632c 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 @@ -59,6 +59,15 @@ namespace ICSharpCode.Reports.Addin if (this.stringTrimming != StringTrimming.None) { designTrimmimg = stringTrimming; } + +// var o = StringFormatFlags.LineLimit; +// new StringFormat(StringFormatFlags.MeasureTrailingSpaces) +// http://msdn.microsoft.com/de-de/library/system.drawing.stringformatflags.aspx + http://www.tutorials.de/net-windows-forms/240717-c-mit-drawstring-senkrecht-drucken.html + + if (this.RightToLeft == System.Windows.Forms.RightToLeft.Yes) { + Console.WriteLine("RightToLeft"); + } TextDrawer.DrawString(graphics,this.Text,this.Font, new SolidBrush(this.ForeColor), this.ClientRectangle, @@ -70,8 +79,8 @@ namespace ICSharpCode.Reports.Addin - [EditorAttribute(typeof(DefaultTextEditor), - typeof(System.Drawing.Design.UITypeEditor) )] + [EditorAttribute(typeof(DefaultTextEditor), + typeof(System.Drawing.Design.UITypeEditor) )] public override string Text { get { return base.Text; } set { base.Text = value; @@ -116,9 +125,11 @@ namespace ICSharpCode.Reports.Addin } } + + [Category("Appearance")] - [EditorAttribute(typeof(System.Drawing.Design.ContentAlignmentEditor), - typeof(System.Drawing.Design.UITypeEditor) )] + [EditorAttribute(typeof(System.Drawing.Design.ContentAlignmentEditor), + typeof(System.Drawing.Design.UITypeEditor) )] public ContentAlignment ContentAlignment { get { return contentAlignment; } set { @@ -127,9 +138,17 @@ namespace ICSharpCode.Reports.Addin } } + + [Category("Appearance")] + public override System.Windows.Forms.RightToLeft RightToLeft { + get { return base.RightToLeft; } + set { base.RightToLeft = value; } + } + + #endregion - + [Browsable(true), Category("Databinding"), Description("Datatype of the underlying Column")] @@ -144,8 +163,8 @@ namespace ICSharpCode.Reports.Addin [Browsable(true), Category("Expression"), Description("Enter a valid Expression")] - [EditorAttribute(typeof(DefaultTextEditor), - typeof(System.Drawing.Design.UITypeEditor) )] + [EditorAttribute(typeof(DefaultTextEditor), + typeof(System.Drawing.Design.UITypeEditor) )] public string Expression {get;set;} #endregion @@ -153,9 +172,9 @@ namespace ICSharpCode.Reports.Addin #region CanGrow/CanShrink public bool CanGrow {get;set;} - + public bool CanShrink {get;set;} - + #endregion } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs index f75c462075..67053b0f1f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs @@ -73,6 +73,9 @@ namespace ICSharpCode.Reports.Addin.TypeProviders prop = props.Find("Expression",true); allProperties.Add(prop); + prop = props.Find("RightToLeft",true); + allProperties.Add(prop); + return new PropertyDescriptorCollection(allProperties.ToArray()); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/TextDrawer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/TextDrawer.cs index 4dd407fd49..7d5950e60b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/TextDrawer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/TextDrawer.cs @@ -49,14 +49,17 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing if (decorator == null) { throw new ArgumentNullException("decorator"); } + StringFormat stringFormat = BuildStringFormat(decorator.StringTrimming,decorator.ContentAlignment); - string formattedString = text; - - if (! String.IsNullOrEmpty(decorator.FormatString)) { - formattedString = StandardFormatter.FormatOutput(text,decorator.FormatString,decorator.DataType,"yyy"); + if (decorator.RightToLeft ==System.Windows.Forms.RightToLeft.Yes) { + stringFormat.FormatFlags = stringFormat.FormatFlags | StringFormatFlags.DirectionRightToLeft; } + var formattedString = text; + if (! String.IsNullOrEmpty(decorator.FormatString)) { + formattedString = StandardFormatter.FormatOutput(text,decorator.FormatString,decorator.DataType,String.Empty); + } graphics.TextRenderingHint = TextRenderingHint.AntiAlias; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGraphicItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGraphicItem.cs index 644e6f14df..7b405d1523 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGraphicItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGraphicItem.cs @@ -27,8 +27,9 @@ namespace ICSharpCode.Reports.Core { } - protected IGraphicStyleDecorator CreateItemStyle (BaseShape shape) { - GraphicStyleDecorator style = new GraphicStyleDecorator(shape); + protected IGraphicStyleDecorator CreateItemStyle (BaseShape shape) + { + IGraphicStyleDecorator style = new GraphicStyleDecorator(shape); style.Size = this.Size; style.Location = this.Location; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs index ce13240666..2fd088c36a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs @@ -66,6 +66,7 @@ namespace ICSharpCode.Reports.Core style.ContentAlignment = this.contentAlignment; style.FormatString = this.formatString; style.DataType = this.dataType; + style.RightToLeft = this.RightToLeft; return style; } @@ -120,9 +121,6 @@ namespace ICSharpCode.Reports.Core rectangle, this.stringTrimming,this.contentAlignment); - - - //TextDrawer.DrawString(rpea.PrintPageEventArgs.Graphics,toPrint,CreateItemStyle()); rpea.LocationAfterDraw = new Point (this.Location.X + this.Size.Width, this.Location.Y + this.Size.Height); @@ -152,11 +150,6 @@ namespace ICSharpCode.Reports.Core } - ///<summary> - /// Formatstring like in MSDN - /// </summary> - - public virtual string FormatString { get { @@ -194,6 +187,9 @@ namespace ICSharpCode.Reports.Core } } + + public System.Windows.Forms.RightToLeft RightToLeft {get;set;} + #region IExpression public string Expression {get;set;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 46122b9916..b0e8811265 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -101,10 +101,8 @@ namespace ICSharpCode.Reports.Core.Exporter gapCalculator.CalculateGapList(section); int i = 0; - foreach (BaseReportItem item in section.Items) { - ISimpleContainer simpleContainer = item as ISimpleContainer; Offset = new Point(Offset.X,Offset.Y + gapCalculator.GapBetweenItems[i] ); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index 6ebc7f0554..d486f648ac 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -60,12 +60,10 @@ namespace ICSharpCode.Reports.Core.Exporter protected void FirePageFull (ExporterCollection items) { var newPage = new NewPageEventArgs (items,SinglePage.SectionBounds); -// EventHelper.Raise<NewPageEventArgs>(PageFull,this,new NewPageEventArgs(items,SinglePage.SectionBounds)); EventHelper.Raise<NewPageEventArgs>(PageFull,this,newPage); SinglePage.SectionBounds = newPage.SectionBounds; } - #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index 8b642e7bbc..da038817a9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -57,10 +57,7 @@ namespace ICSharpCode.Reports.Core.Exporter private ExporterCollection ConvertDataRow (ISimpleContainer simpleContainer) { ExporterCollection exporterCollection = new ExporterCollection(); -// base.CurrentPosition = base.SectionBounds.DetailArea.Location; - base.CurrentPosition = base.SectionBounds.Offset; -// Console.WriteLine("Convertdatarow start {0}",base.CurrentPosition); BaseSection section = parent as BaseSection; DefaultLeftPosition = parent.Location.X; @@ -157,22 +154,6 @@ namespace ICSharpCode.Reports.Core.Exporter protected override Point ForcePageBreak(ExporterCollection exporterCollection, BaseSection section) { base.ForcePageBreak(exporterCollection,section); - return CalculateStartPosition(section); - } - - - private Point CalculateStartPosition(BaseSection section) - { -// var r = base.ReportModel; -// base.SectionBounds.CalculatePageBounds(r); -// var rr = new Point(base.SectionBounds.DetailArea.X,base.SectionBounds.PageHeaderRectangle.Bottom + 1); -// var p = base.SectionBounds.DetailArea.Location; -// var pp = SectionBounds.Offset; -// Console.WriteLine ("PageBreak {0} - detailareaa {1}",rr,p); -// Console.WriteLine("-----------------"); -// Console.WriteLine(""); -//// return base.SectionBounds.DetailArea.Location; -// return pp; return SectionBounds.Offset; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index ae67496701..3aa5a86774 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -75,7 +75,6 @@ namespace ICSharpCode.Reports.Core.Exporter base.ReportModel.ReportHeader.Size = Size.Empty; } base.SectionBounds.CalculatePageBounds(base.ReportModel); - var p = base.SectionBounds.Offset; } @@ -84,7 +83,6 @@ namespace ICSharpCode.Reports.Core.Exporter if (SectionBounds.Offset.Y < base.ReportModel.PageHeader.SectionOffset) { SectionBounds.Offset = new Point(SectionBounds.Offset.X,base.ReportModel.PageHeader.SectionOffset); } - base.SectionBounds.CalculatePageBounds(base.ReportModel); ConvertSectionInternal (base.ReportModel.PageHeader); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/GraphicStyleDecorator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/GraphicStyleDecorator.cs index 39faadd7f4..f2e77957de 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/GraphicStyleDecorator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/GraphicStyleDecorator.cs @@ -18,32 +18,22 @@ namespace ICSharpCode.Reports.Core.Exporter public class GraphicStyleDecorator:BaseStyleDecorator,IGraphicStyleDecorator { - private BaseShape shape; - private int thickness = 1; - private DashStyle dashStyle = DashStyle.Solid; public GraphicStyleDecorator(BaseShape shape):base() { if (shape == null) { throw new ArgumentNullException("shape"); } - this.shape = shape; + this.Shape = shape; + Thickness = 1; + DashStyle = DashStyle.Solid; } + public BaseShape Shape {get;set;} - public BaseShape Shape { - get { return shape; } - set { shape = value; } - } - - public int Thickness { - get { return thickness; } - set { thickness = value; } - } + public int Thickness {get;set;} - public DashStyle DashStyle { - get { return dashStyle; } - set { dashStyle = value; } - } + public DashStyle DashStyle {get;set;} + } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/Linedecorator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/Linedecorator.cs index 5ac094d4f8..d32a48a2b7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/Linedecorator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/Linedecorator.cs @@ -10,7 +10,6 @@ namespace ICSharpCode.Reports.Core.Exporter { public LineDecorator(BaseShape shape) : base(shape) { - } public Point From { get; set; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/TextStyleDecorator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/TextStyleDecorator.cs index c35692b557..f59fea782b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/TextStyleDecorator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Decorators/TextStyleDecorator.cs @@ -11,65 +11,24 @@ namespace ICSharpCode.Reports.Core.Exporter /// </summary> public class TextStyleDecorator:BaseStyleDecorator { - private Font font; - private StringFormat stringFormat; - private StringTrimming stringTrimming; - private ContentAlignment contentAlignment; - private string dataType; - private string formatString; - - + public TextStyleDecorator():base() { } + public Font Font {get;set;} - public Font Font { - get { - return font; - } - set { - font = value; - } - } + public StringFormat StringFormat {get;set;} + public StringTrimming StringTrimming {get;set;} + + public ContentAlignment ContentAlignment {get;set;} + - public StringFormat StringFormat { - get { - return stringFormat; - } - set { - stringFormat = value; - } - } - - public StringTrimming StringTrimming { - get { - return stringTrimming; - } - set { - stringTrimming = value; - } - } - - public ContentAlignment ContentAlignment { - get { - return contentAlignment; - } - set { - contentAlignment = value; - } - } - - public string DataType { - get { return dataType; } - set { dataType = value; } - } - - public string FormatString { - get { return formatString; } - set { formatString = value; } - } + public string DataType {get;set;} + + public string FormatString {get;set;} + public System.Windows.Forms.RightToLeft RightToLeft {get;set;} } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs index 4671d8ed16..ed155b4b9e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs @@ -45,6 +45,11 @@ namespace ICSharpCode.Reports.Core.Exporter { CalculatePdfFormat pdfFormat = new CalculatePdfFormat(this.StyleDecorator,font); ColumnText columnText = new ColumnText(contentByte); + + if (StyleDecorator.RightToLeft.ToString() == "Yes") { + columnText.RunDirection = PdfWriter.RUN_DIRECTION_RTL; + } + iTextSharp.text.Rectangle r = base.ConvertToPdfRectangle(); columnText.SetSimpleColumn(r.Left, r.Top , r.Left + r.Width,r.Top - r.Height,pdfFormat.Leading,pdfFormat.Alignment); From cb2c06b6fa83e589f096c17669157fb51ce2c36b Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Thu, 30 Jun 2011 20:55:45 +0200 Subject: [PATCH 084/168] RightToLeft for DataItem --- .../Project/Designer/DesignerHelper.cs | 3 +++ .../Project/ReportItems/BaseTextItem.cs | 16 ++++++++-------- .../Project/ReportItems/ErrorItem.cs | 11 +++++++---- .../TypeProviders/TextItemTypeProvider.cs | 3 --- .../Project/BaseClasses/Printing/TextDrawer.cs | 12 ++++++------ .../Project/BaseItems/BaseTextItem.cs | 10 +++++++--- .../Project/Exporter/FormPageBuilder.cs | 14 ++++++++++---- 7 files changed, 41 insertions(+), 28 deletions(-) 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 484337c23f..daaaf92fd3 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 @@ -104,6 +104,9 @@ namespace ICSharpCode.Reports.Addin.Designer prop = props.Find("DataType",true); allProperties.Add(prop); + + prop = props.Find("RightToLeft",true); + allProperties.Add(prop); } public static void AddGraphicProperties (List<PropertyDescriptor> allProperties, 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 684ff3632c..97a542fbea 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 @@ -47,7 +47,7 @@ namespace ICSharpCode.Reports.Addin public override void Draw(Graphics graphics) { - StringTrimming designTrimmimg = StringTrimming.EllipsisCharacter; + if (graphics == null) { throw new ArgumentNullException("graphics"); @@ -56,23 +56,23 @@ namespace ICSharpCode.Reports.Addin graphics.FillRectangle(b, base.DrawingRectangle); } + StringTrimming designTrimmimg = StringTrimming.EllipsisCharacter; + if (this.stringTrimming != StringTrimming.None) { designTrimmimg = stringTrimming; } -// var o = StringFormatFlags.LineLimit; -// new StringFormat(StringFormatFlags.MeasureTrailingSpaces) -// http://msdn.microsoft.com/de-de/library/system.drawing.stringformatflags.aspx - http://www.tutorials.de/net-windows-forms/240717-c-mit-drawstring-senkrecht-drucken.html + StringFormat stringFormat = TextDrawer.BuildStringFormat(designTrimmimg,contentAlignment); if (this.RightToLeft == System.Windows.Forms.RightToLeft.Yes) { - Console.WriteLine("RightToLeft"); + stringFormat.FormatFlags = stringFormat.FormatFlags | StringFormatFlags.DirectionRightToLeft; } + + TextDrawer.DrawString(graphics,this.Text,this.Font, new SolidBrush(this.ForeColor), this.ClientRectangle, - designTrimmimg, - this.contentAlignment); + stringFormat); base.DrawControl(graphics,base.DrawingRectangle); } 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 4603aa3572..7cb7a441a9 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 @@ -3,6 +3,7 @@ using System; using System.Drawing; +using ICSharpCode.Reports.Core.BaseClasses.Printing; namespace ICSharpCode.Reports.Addin.Designer { @@ -36,10 +37,12 @@ namespace ICSharpCode.Reports.Addin.Designer string s = String.Format(System.Globalization.CultureInfo.CurrentCulture, "Error : <{0}> is missing or obsolete",base.Text); - ICSharpCode.Reports.Core.BaseClasses.Printing.TextDrawer.DrawString(graphics,s,this.Font, - new SolidBrush(Color.Red), - this.ClientRectangle, - base.StringTrimming,base.ContentAlignment); + + StringFormat stringFormat = TextDrawer.BuildStringFormat(base.StringTrimming,base.ContentAlignment); + TextDrawer.DrawString(graphics,s,this.Font, + new SolidBrush(Color.Red), + this.ClientRectangle, + stringFormat); base.DrawControl(graphics,base.DrawingRectangle); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs index 67053b0f1f..f75c462075 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs @@ -73,9 +73,6 @@ namespace ICSharpCode.Reports.Addin.TypeProviders prop = props.Find("Expression",true); allProperties.Add(prop); - prop = props.Find("RightToLeft",true); - allProperties.Add(prop); - return new PropertyDescriptorCollection(allProperties.ToArray()); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/TextDrawer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/TextDrawer.cs index 7d5950e60b..e4164f1359 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/TextDrawer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/TextDrawer.cs @@ -22,21 +22,21 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing { } + public static void DrawString(Graphics graphics,string text, - Font font,Brush brush, - RectangleF rectangle, - StringTrimming stringTrimming, - ContentAlignment alignment) + Font font,Brush brush, + RectangleF rectangle, + StringFormat format) { if (graphics == null) { throw new ArgumentNullException("graphics"); } - StringFormat stringFormat = BuildStringFormat(stringTrimming,alignment); + graphics.DrawString(text, font, brush, rectangle, - stringFormat); + format); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs index 2fd088c36a..027f45ad78 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs @@ -114,12 +114,11 @@ namespace ICSharpCode.Reports.Core throw new ArgumentNullException("rpea"); } - TextDrawer.DrawString(rpea.PrintPageEventArgs.Graphics, toPrint,this.Font, new SolidBrush(this.ForeColor), rectangle, - this.stringTrimming,this.contentAlignment); + this.StringFormat); rpea.LocationAfterDraw = new Point (this.Location.X + this.Size.Width, @@ -183,13 +182,18 @@ namespace ICSharpCode.Reports.Core public virtual StringFormat StringFormat { get { - return TextDrawer.BuildStringFormat (this.StringTrimming,this.ContentAlignment); + var sf = TextDrawer.BuildStringFormat (this.StringTrimming,this.ContentAlignment); + if (this.RightToLeft == System.Windows.Forms.RightToLeft.Yes) { + sf.FormatFlags = sf.FormatFlags | StringFormatFlags.DirectionRightToLeft; + } + return sf; } } public System.Windows.Forms.RightToLeft RightToLeft {get;set;} + #region IExpression public string Expression {get;set;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs index 3fff2a91f4..2b617d6dbc 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs @@ -44,8 +44,10 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildReportHeader() { - if (base.Pages.Count == 0) { - this.ReportModel.ReportHeader.SectionOffset = base.SinglePage.SectionBounds.ReportHeaderRectangle.Top; + if (base.Pages.Count == 0) + { +// this.ReportModel.ReportHeader.SectionOffset = base.SinglePage.SectionBounds.ReportHeaderRectangle.Top; + SectionBounds.Offset = new Point(base.SectionBounds.MarginBounds.Left,base.SectionBounds.MarginBounds.Top); ExporterCollection convertedList = base.ConvertSection (base.ReportModel.ReportHeader,0); base.SinglePage.Items.AddRange(convertedList); } @@ -53,7 +55,10 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildPageHeader() { - this.ReportModel.PageHeader.SectionOffset = base.SinglePage.SectionBounds.PageHeaderRectangle.Top; +// this.ReportModel.PageHeader.SectionOffset = base.SinglePage.SectionBounds.PageHeaderRectangle.Top; + if (SectionBounds.Offset.Y < base.ReportModel.PageHeader.SectionOffset) { + SectionBounds.Offset = new Point(SectionBounds.Offset.X,base.ReportModel.PageHeader.SectionOffset); + } ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,0); base.SinglePage.Items.AddRange(convertedList); base.SectionBounds.CalculatePageBounds(base.ReportModel); @@ -63,7 +68,8 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildDetailInternal(BaseSection section) { base.BuildDetailInternal(section); - section.SectionOffset = base.SinglePage.SectionBounds.DetailArea.Top; +// section.SectionOffset = base.SinglePage.SectionBounds.DetailArea.Top; + SectionBounds.Offset = new Point(SectionBounds.Offset.X,base.ReportModel.DetailSection.Location.Y); ExporterCollection convertedList = convertedList = base.ConvertSection (base.ReportModel.DetailSection,0); base.SinglePage.Items.AddRange(convertedList); } From e16ac81c826d49c9efe6f7c4712ad4a68d736226 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 1 Jul 2011 20:03:19 +0200 Subject: [PATCH 085/168] RightToLeft --- .../Project/BaseItems/BaseSection.cs | 5 +++ .../Project/Collections/Collections.cs | 14 ++++---- .../Project/Exporter/BasePager.cs | 20 ++++++++++-- .../Project/Exporter/ExportHelper.cs | 32 ------------------- .../Project/Exporter/FormPageBuilder.cs | 2 +- 5 files changed, 30 insertions(+), 43 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs index 74ed96addb..01d7df1f4a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs @@ -133,6 +133,11 @@ namespace ICSharpCode.Reports.Core #endregion + public Size MeasureOverride (Size size) + { + return Size.Empty; + } + #region System.IDisposable interface implementation protected override void Dispose(bool disposing) 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 e0ab48fdb1..1a7a94eddc 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 @@ -33,21 +33,21 @@ namespace ICSharpCode.Reports.Core{ /// (Line by Line) /// </summary> internal class LocationSorter : IComparer<BaseReportItem> { - public int Compare(BaseReportItem x, BaseReportItem y){ - if (x == null){ - if (y == null){ + public int Compare(BaseReportItem lhs, BaseReportItem rhs){ + if (lhs == null){ + if (rhs == null){ return 0; } return -1; } - if (y == null){ + if (rhs == null){ return 1; } - if (x.Location.Y == y.Location.Y){ - return x.Location.X - y.Location.X; + if (lhs.Location.Y == rhs.Location.Y){ + return lhs.Location.X - rhs.Location.X; } - return x.Location.Y - y.Location.Y; + return lhs.Location.Y - rhs.Location.Y; } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index b0e8811265..77bf7c847c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -89,9 +89,22 @@ namespace ICSharpCode.Reports.Core.Exporter if (section.Items.Count > 0) { Size sectionSize = section.Size; - + foreach (var element in section.Items) { + Console.WriteLine(element.Location); + } section.Items.SortByLocation(); - + Console.WriteLine("--"); + foreach (var element in section.Items) { + Console.WriteLine(element.Location); + } + + section.Items.ForEach(delegate(BaseReportItem item) + { + Console.WriteLine(item.Location); + }); + var h = section.Items.FindHighestElement(); + + IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); Rectangle desiredRectangle = LayoutHelper.CalculateSectionLayout(this.Graphics,section); @@ -105,10 +118,11 @@ namespace ICSharpCode.Reports.Core.Exporter { ISimpleContainer simpleContainer = item as ISimpleContainer; - Offset = new Point(Offset.X,Offset.Y + gapCalculator.GapBetweenItems[i] ); +// Offset = new Point(Offset.X,Offset.Y + gapCalculator.GapBetweenItems[i] ); if (simpleContainer != null) { + Offset = new Point(Offset.X,Offset.Y + gapCalculator.GapBetweenItems[i] ); var containerSize = simpleContainer.Size; EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs index 592970b609..6462072312 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs @@ -58,38 +58,6 @@ namespace ICSharpCode.Reports.Core.Exporter return col; } - /* - public static Point ConvertPlainCollection_2 (ExportContainer container,ReportItemCollection items,Point offset) - { - if (items == null) { - throw new ArgumentNullException("items"); - } - - ExporterCollection col = new ExporterCollection(); - Point o = offset; - if (items.Count > 0) { - - foreach(BaseReportItem item in items) - { - container.Items.Add(ExportHelper.ConvertLineItem(item,offset)); - } - Size max = Size.Empty; - foreach (var element in items) { - if (element.Size.Height > max.Height) { - max = element.Size; - } - } - - if (container.StyleDecorator.Size.Height > max.Height) { - offset = new Point (o.X,o.Y + container.StyleDecorator.Size.Height + GlobalValues.GapBetweenContainer); - } - - } - return offset; - } - - */ - public static ExportContainer ConvertToContainer (ISimpleContainer container,Point offset) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs index 2b617d6dbc..d8e78663ce 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs @@ -70,7 +70,7 @@ namespace ICSharpCode.Reports.Core.Exporter base.BuildDetailInternal(section); // section.SectionOffset = base.SinglePage.SectionBounds.DetailArea.Top; SectionBounds.Offset = new Point(SectionBounds.Offset.X,base.ReportModel.DetailSection.Location.Y); - ExporterCollection convertedList = convertedList = base.ConvertSection (base.ReportModel.DetailSection,0); + ExporterCollection convertedList = base.ConvertSection (base.ReportModel.DetailSection,0); base.SinglePage.Items.AddRange(convertedList); } From b4495932aca4662ea7b9d13210785c0e76ce6106 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 3 Jul 2011 19:03:15 +0200 Subject: [PATCH 086/168] Rectangle and Circle can be used as Containers --- .../src/SharpReportSamples/MainForm.cs | 6 +++- .../Project/BaseItems/BaseSection.cs | 27 +++++++++++++++-- .../Project/Exporter/BasePager.cs | 27 ++++++++--------- .../Exporter/ExportColumns/ExportContainer.cs | 1 + .../ExportColumns/ExportGraphicContainer.cs | 29 +++++++------------ .../Project/Exporter/FormPageBuilder.cs | 5 ---- 6 files changed, 52 insertions(+), 43 deletions(-) diff --git a/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs b/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs index 4673dcc811..29d01db355 100644 --- a/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs +++ b/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs @@ -153,6 +153,9 @@ namespace SharpReportSamples private void RunContributors (string fileName) { ReportModel model = ReportEngine.LoadReportModel(fileName); + Console.WriteLine(model.ReportSettings.PageSize); + model.ReportSettings.PageSize = new Size(model.ReportSettings.PageSize.Width,400); + Console.WriteLine(model.ReportSettings.PageSize); // sorting is done here, but, be carefull, misspelled fieldnames will cause an exception @@ -302,7 +305,7 @@ namespace SharpReportSamples private void PushPrinting (object sender, SectionRenderEventArgs e ) { string sectionName = e.Section.Name; - + /* if (sectionName == ReportSectionNames.ReportHeader) { Console.WriteLine("PushPrinting :" + ReportSectionNames.ReportHeader); } @@ -372,6 +375,7 @@ namespace SharpReportSamples else{ throw new WrongSectionException(sectionName); } + */ } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs index 01d7df1f4a..7429b1bb0f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs @@ -132,10 +132,31 @@ namespace ICSharpCode.Reports.Core public virtual bool PageBreakAfter {get;set;} #endregion - - public Size MeasureOverride (Size size) + //http://www.switchonthecode.com/tutorials/wpf-tutorial-creating-a-custom-panel-control +// http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/607eba8c-6fa4-414c-82ae-23a527cdc5bf + public Size MeasureOverride (Size availableSize) { - return Size.Empty; + Size resultSize = new Size(0,0); + Console.WriteLine("MeasureOverride"); + foreach (var item in Items) { + Console.WriteLine("{0} - {1}",item.Location,item.Size); + resultSize.Width = Math.Max(resultSize.Width, item.Size.Width); + resultSize.Height = Math.Max(resultSize.Height, item.Size.Height); + } + +// resultSize.Width = double.IsPositiveInfinity(availableSize.Width) ? +// resultSize.Width : availableSize.Width; +// +// resultSize.Height = double.IsPositiveInfinity(availableSize.Height) ? +// resultSize.Height : availableSize.Height; + + resultSize.Width = double.IsPositiveInfinity(availableSize.Width) ? + resultSize.Width : availableSize.Width; + var b = double.IsPositiveInfinity(availableSize.Height); + resultSize.Height = double.IsPositiveInfinity(availableSize.Height) ? + resultSize.Height : availableSize.Height; + + return resultSize; } #region System.IDisposable interface implementation diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 77bf7c847c..15d1c48358 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -89,21 +89,6 @@ namespace ICSharpCode.Reports.Core.Exporter if (section.Items.Count > 0) { Size sectionSize = section.Size; - foreach (var element in section.Items) { - Console.WriteLine(element.Location); - } - section.Items.SortByLocation(); - Console.WriteLine("--"); - foreach (var element in section.Items) { - Console.WriteLine(element.Location); - } - - section.Items.ForEach(delegate(BaseReportItem item) - { - Console.WriteLine(item.Location); - }); - var h = section.Items.FindHighestElement(); - IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); @@ -129,6 +114,18 @@ namespace ICSharpCode.Reports.Core.Exporter var layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer); + /* + * */ + Console.WriteLine("--"); + section.Items.ForEach(delegate(BaseReportItem aitem) + { + Console.WriteLine(item.Location); + }); + var h = section.Items.FindHighestElement(); + section.MeasureOverride(section.Size); + /* + * */ + Offset = BaseConverter.ConvertContainer(convertedSection,simpleContainer,Offset.X,Offset); simpleContainer.Size = containerSize; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs index 808abfeeef..16f7e7e660 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs @@ -37,6 +37,7 @@ namespace ICSharpCode.Reports.Core.Exporter } base.DrawItem(graphics); base.Decorate(graphics); + foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in items) { baseExportColumn.DrawItem(graphics); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs index de0d6ca26a..ee3186c19c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs @@ -10,12 +10,13 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.Globals; using iTextSharp.text.pdf; +using System.Linq; namespace ICSharpCode.Reports.Core.Exporter { public class ExportGraphicContainer :ExportContainer { - +// public ExportGraphicContainer (IExportContainer itemStyle,bool isContainer):base(itemStyle as BaseStyleDecorator) public ExportGraphicContainer (IBaseStyleDecorator itemStyle,bool isContainer):base(itemStyle as BaseStyleDecorator) { @@ -25,8 +26,9 @@ namespace ICSharpCode.Reports.Core.Exporter { base.DrawItem(graphics); ILineDecorator lineDecorator = base.StyleDecorator as LineDecorator; - if (lineDecorator != null) { - GraphicsLineDrawer (graphics); + if (lineDecorator != null) + { + throw new ArgumentException("Line is not a valid Container"); } else { @@ -43,6 +45,10 @@ namespace ICSharpCode.Reports.Core.Exporter baseLine, style.DisplayRectangle); } + foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in Items) + { + baseExportColumn.DrawItem(graphics); + } } } @@ -58,6 +64,7 @@ namespace ICSharpCode.Reports.Core.Exporter new BaseLine (style.ForeColor,style.DashStyle,style.Thickness), style, ConvertToPdfRectangle()); + foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in this.Items) { baseExportColumn.DrawItem(pdfWriter,converter); @@ -65,21 +72,5 @@ namespace ICSharpCode.Reports.Core.Exporter } - private void GraphicsLineDrawer (Graphics graphics) - { - LineDecorator lineStyle = base.StyleDecorator as LineDecorator; - - BaseLine baseLine = null; - baseLine = new BaseLine (lineStyle.ForeColor,lineStyle.DashStyle,lineStyle.Thickness); - - Point from = new Point(lineStyle.DisplayRectangle.Left + lineStyle.From.X, - lineStyle.DisplayRectangle.Top + lineStyle.From.Y); - Point to = new Point(lineStyle.DisplayRectangle.Left + lineStyle.To.X, - lineStyle.DisplayRectangle.Top + lineStyle.To.Y); - lineStyle.Shape.DrawShape(graphics, - baseLine, - from, - to); - } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs index d8e78663ce..7e271194de 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs @@ -46,7 +46,6 @@ namespace ICSharpCode.Reports.Core.Exporter { if (base.Pages.Count == 0) { -// this.ReportModel.ReportHeader.SectionOffset = base.SinglePage.SectionBounds.ReportHeaderRectangle.Top; SectionBounds.Offset = new Point(base.SectionBounds.MarginBounds.Left,base.SectionBounds.MarginBounds.Top); ExporterCollection convertedList = base.ConvertSection (base.ReportModel.ReportHeader,0); base.SinglePage.Items.AddRange(convertedList); @@ -55,20 +54,17 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildPageHeader() { -// this.ReportModel.PageHeader.SectionOffset = base.SinglePage.SectionBounds.PageHeaderRectangle.Top; if (SectionBounds.Offset.Y < base.ReportModel.PageHeader.SectionOffset) { SectionBounds.Offset = new Point(SectionBounds.Offset.X,base.ReportModel.PageHeader.SectionOffset); } ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,0); base.SinglePage.Items.AddRange(convertedList); base.SectionBounds.CalculatePageBounds(base.ReportModel); -// base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); } protected override void BuildDetailInternal(BaseSection section) { base.BuildDetailInternal(section); -// section.SectionOffset = base.SinglePage.SectionBounds.DetailArea.Top; SectionBounds.Offset = new Point(SectionBounds.Offset.X,base.ReportModel.DetailSection.Location.Y); ExporterCollection convertedList = base.ConvertSection (base.ReportModel.DetailSection,0); base.SinglePage.Items.AddRange(convertedList); @@ -115,6 +111,5 @@ namespace ICSharpCode.Reports.Core.Exporter base.BuildExportList(); WritePages (); } - } } From 912f377b0cba3581077d3098071d90b579d73c0f Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 3 Jul 2011 20:14:46 +0200 Subject: [PATCH 087/168] Cleanup (FxCop) --- .../ICSharpCode.Reports.Core.csproj | 1 + .../Project/BaseItems/BaseDataItem.cs | 7 +- .../Project/BaseItems/BaseRowItem.cs | 5 +- .../Project/BaseItems/BaseTableItem.cs | 2 +- .../Project/BaseItems/BaseTextItem.cs | 4 +- .../Project/BaseItems/ErrorItem.cs | 4 +- .../BaseItems/Graphics/BaseCircleItem.cs | 4 +- .../BaseItems/Graphics/BaseImageItem.cs | 2 +- .../BaseItems/Graphics/BaseLineItem.cs | 10 +- .../BaseItems/Graphics/BaseRectangleItem.cs | 4 +- .../Project/Exporter/BasePager.cs | 2 +- .../Converters/GroupedRowConverter.cs | 4 +- .../ExportColumns/BaseExportColumn.cs | 140 ++++++++---------- .../Exporter/ExportColumns/ExportContainer.cs | 9 +- .../Exporter/ExportColumns/ExportGraphic.cs | 2 +- .../ExportColumns/ExportGraphicContainer.cs | 2 +- .../Exporter/ExportColumns/ExportImage.cs | 2 +- .../Exporter/ExportColumns/ExportText.cs | 2 +- .../ExportColumns/IBaseExportColumn.cs | 19 +++ .../ExportColumns/IExportColumnBuilder .cs | 2 +- .../ExportColumns/IExportContainer.cs | 4 +- .../Project/Exporter/ExportHelper.cs | 6 +- .../ExportRenderer/FixedDocumentRenderer.cs | 4 +- .../Project/WPF/FixedDocumentCreator.cs | 8 +- .../BaseItems/BaseDataItemFixture.cs | 4 +- .../BaseItems/BaseRowItemFixture.cs | 5 +- .../BaseItems/BaseTextItemFixture.cs | 8 +- 27 files changed, 125 insertions(+), 141 deletions(-) create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IBaseExportColumn.cs diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index c15b5502ca..542a842523 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -171,6 +171,7 @@ <Compile Include="Project\Exceptions\WrongSectionException.cs" /> <Compile Include="Project\Exporter\Converters\GroupedTableConverter.cs" /> <Compile Include="Project\Exporter\ExportColumns\ExportGraphicContainer.cs" /> + <Compile Include="Project\Exporter\ExportColumns\IBaseExportColumn.cs" /> <Compile Include="Project\Exporter\ExportHelper.cs" /> <Compile Include="Project\Exporter\ExportRenderer\ExportRunner.cs" /> <Compile Include="Project\Exporter\ExportRenderer\FixedDocumentRenderer.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs index 95dafd4e47..3090f8219f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs @@ -35,16 +35,13 @@ namespace ICSharpCode.Reports.Core #endregion - #region IExportColumnBuilder implementation - public new BaseExportColumn CreateExportColumn() + public new IBaseExportColumn CreateExportColumn() { -// string toPrint = CheckForNullValue(); TextStyleDecorator st = base.CreateItemStyle(); - ExportText item = new ExportText(st, false); + ExportText item = new ExportText(st); item.Text = StandardFormatter.FormatOutput(DBValue, this.FormatString, base.DataType, this.NullValue); - return item; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs index 63c3e0ed6e..6f63d61b4b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs @@ -29,11 +29,10 @@ namespace ICSharpCode.Reports.Core{ #region IExportColumnBuilder implementation - public BaseExportColumn CreateExportColumn() + public IBaseExportColumn CreateExportColumn() { BaseStyleDecorator st = this.CreateItemStyle(); - ExportContainer item = new ExportContainer(st); - return item; + return new ExportContainer(st); } protected BaseStyleDecorator CreateItemStyle () diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTableItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTableItem.cs index c807f1f27d..b4e054519f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTableItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTableItem.cs @@ -29,7 +29,7 @@ namespace ICSharpCode.Reports.Core { #region IExportColumnBuilder - public ICSharpCode.Reports.Core.Exporter.BaseExportColumn CreateExportColumn() + public IBaseExportColumn CreateExportColumn() { BaseStyleDecorator st = this.CreateItemStyle(); ExportContainer item = new ExportContainer(st); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs index 027f45ad78..c560b094c7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs @@ -37,9 +37,9 @@ namespace ICSharpCode.Reports.Core #region IExportColumnBuilder implementation - public virtual BaseExportColumn CreateExportColumn(){ + public virtual IBaseExportColumn CreateExportColumn(){ TextStyleDecorator st = this.CreateItemStyle(); - ExportText item = new ExportText(st,false); + ExportText item = new ExportText(st); item.Text = this.text; item.Expression = this.Expression; return item; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/ErrorItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/ErrorItem.cs index f1d93398d2..ed484890dd 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/ErrorItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/ErrorItem.cs @@ -41,10 +41,10 @@ namespace ICSharpCode.Reports.Core #region IExportColumnBuilder implementation - public override BaseExportColumn CreateExportColumn(){ + public override IBaseExportColumn CreateExportColumn(){ this.SetErrorLayout(); TextStyleDecorator st = base.CreateItemStyle(); - ExportText item = new ExportText(st,false); + ExportText item = new ExportText(st); item.Text = this.errMess; return item; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs index 2afe584806..fc6b179c0e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs @@ -30,9 +30,9 @@ namespace ICSharpCode.Reports.Core { #region IExportColumnBuilder - public BaseExportColumn CreateExportColumn(){ + public IBaseExportColumn CreateExportColumn(){ IGraphicStyleDecorator style = base.CreateItemStyle(this.shape); - return new ExportGraphicContainer(style,true); + return new ExportGraphicContainer(style); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs index 79f918f76e..dbfe522dbd 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs @@ -34,7 +34,7 @@ namespace ICSharpCode.Reports.Core { #region IExportColumnBuilder implementation - public BaseExportColumn CreateExportColumn() + public IBaseExportColumn CreateExportColumn() { BaseStyleDecorator st = this.CreateItemStyle(); ExportImage item = new ExportImage(st); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs index 0948cda060..85dc14a7e7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs @@ -20,11 +20,6 @@ namespace ICSharpCode.Reports.Core { public class BaseLineItem : BaseGraphicItem,IExportColumnBuilder { private LineShape shape = new LineShape(); -// private Point fromPoint; -// private Point toPoint; -// private LineCap startLineCap; -// private LineCap endLineCap; -// private DashCap dashLineCap; #region Constructor @@ -36,10 +31,10 @@ namespace ICSharpCode.Reports.Core { #region IExportColumnBuilder implementation - public BaseExportColumn CreateExportColumn() + public IBaseExportColumn CreateExportColumn() { LineDecorator style = this.CreateLineShape(); - ExportGraphic item = new ExportGraphic(style,false); + ExportGraphic item = new ExportGraphic(style); return item as ExportGraphic; } @@ -47,7 +42,6 @@ namespace ICSharpCode.Reports.Core { private LineDecorator CreateLineShape () { LineDecorator decorator = new LineDecorator(this.shape); -// decorator.Size = CalculateLineSize (); decorator.Size = this.Size; decorator.Location = this.Location; decorator.BackColor = this.BackColor; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs index ae571268c1..d8d3cb403a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs @@ -35,10 +35,10 @@ namespace ICSharpCode.Reports.Core #region IExportColumnBuilder - public BaseExportColumn CreateExportColumn(){ + public IBaseExportColumn CreateExportColumn(){ shape.CornerRadius = CornerRadius; IGraphicStyleDecorator style = base.CreateItemStyle(this.shape); - return new ExportGraphicContainer(style,true); + return new ExportGraphicContainer(style); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 15d1c48358..c36cc5355c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -132,7 +132,7 @@ namespace ICSharpCode.Reports.Core.Exporter else { var converteditem = ExportHelper.ConvertLineItem(item,Offset); - convertedSection.Add(converteditem ); + convertedSection.Add((BaseExportColumn)converteditem ); } i ++; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index da038817a9..c38825f200 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -191,9 +191,9 @@ namespace ICSharpCode.Reports.Core.Exporter { if (section.DrawBorder == true) { BaseRectangleItem br = BasePager.CreateDebugItem (section); - BaseExportColumn bec = br.CreateExportColumn(); + IBaseExportColumn bec = br.CreateExportColumn(); bec.StyleDecorator.Location = section.Location; - list.Insert(0,bec); + list.Insert(0,(BaseExportColumn)bec); } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs index 2cc0d25a2d..b28243f46f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs @@ -3,6 +3,8 @@ using System; using System.Drawing; +using System.Globalization; + using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Globals; using iTextSharp.text.pdf; @@ -12,35 +14,32 @@ namespace ICSharpCode.Reports.Core.Exporter /// <summary> /// Description of BaseLineItem. /// </summary> - public class BaseExportColumn + public class BaseExportColumn : IBaseExportColumn { - + #region Constructors - + public BaseExportColumn() { - this.StyleDecorator = new BaseStyleDecorator(System.Drawing.Color.White, - System.Drawing.Color.Black); + this.StyleDecorator = new BaseStyleDecorator(System.Drawing.Color.White, System.Drawing.Color.Black); } - - - public BaseExportColumn(IBaseStyleDecorator styleDecorator, bool isContainer) + + + public BaseExportColumn(IBaseStyleDecorator styleDecorator) { this.StyleDecorator = styleDecorator; - this.IsContainer = isContainer; } - + #endregion - + #region draw item - - public virtual void DrawItem (Graphics graphics) + + public virtual void DrawItem(Graphics graphics) { } - - - public virtual void DrawItem (PdfWriter pdfWriter, - ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter) + + + public virtual void DrawItem(PdfWriter pdfWriter, ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter) { if (pdfWriter == null) { throw new ArgumentNullException("pdfWriter"); @@ -52,50 +51,47 @@ namespace ICSharpCode.Reports.Core.Exporter this.PdfUnitConverter = converter; } #endregion - - + + #region Decorate - + /// <summary> /// Fill the Background and draw a (Rectangle)Frame around the Control /// </summary> /// <param name="graphics"></param> - - protected virtual void Decorate (Graphics graphics) + + protected virtual void Decorate(Graphics graphics) { if (graphics == null) { throw new ArgumentNullException("graphics"); } RectangleShape shape = new RectangleShape(); - this.FillShape(graphics,shape); - StandardPrinter.DrawBorder(graphics,this.StyleDecorator as BaseStyleDecorator); + this.FillShape(graphics, shape); + StandardPrinter.DrawBorder(graphics, this.StyleDecorator as BaseStyleDecorator); } - - - protected virtual void Decorate () + + + protected virtual void Decorate() { RectangleShape shape = new RectangleShape(); - - shape.DrawShape(this.PdfWriter.DirectContent, - null, - this.StyleDecorator, - ConvertToPdfRectangle()); + + shape.DrawShape(this.PdfWriter.DirectContent, null, this.StyleDecorator, ConvertToPdfRectangle()); this.DrawFrame(); - + } - + #endregion - - + + #region FillShape - + /// <summary> /// Draw the Backround <see cref="BaseStyleDecorator"></see> /// </summary> /// <param name="graphics">a valid graphics object</param> /// <param name="shape">the shape to fill</param> /// - protected virtual void FillShape (Graphics graphics,BaseShape shape) + protected virtual void FillShape(Graphics graphics, BaseShape shape) { if (graphics == null) { throw new ArgumentNullException("graphics"); @@ -103,63 +99,49 @@ namespace ICSharpCode.Reports.Core.Exporter if (shape == null) { throw new ArgumentNullException("shape"); } - - shape.FillShape(graphics, - new SolidFillPattern(this.StyleDecorator.BackColor), - this.StyleDecorator.DisplayRectangle); - + shape.FillShape(graphics, new SolidFillPattern(this.StyleDecorator.BackColor), this.StyleDecorator.DisplayRectangle); } - + #endregion - - - protected iTextSharp.text.Rectangle ConvertToPdfRectangle () + + + protected iTextSharp.text.Rectangle ConvertToPdfRectangle() { ScreenRectToPdfRectConverter rectangleConverter = new ScreenRectToPdfRectConverter(this.PdfUnitConverter); - - iTextSharp.text.Rectangle r = (iTextSharp.text.Rectangle)rectangleConverter.ConvertTo(null,System.Globalization.CultureInfo.InvariantCulture, - this.StyleDecorator.DisplayRectangle, - typeof(iTextSharp.text.Rectangle)); - - - iTextSharp.text.Rectangle rr = new iTextSharp.text.Rectangle(r.Left,r.Bottom -2, - r.Left + r.Width,r.Bottom + r.Height); - + iTextSharp.text.Rectangle r = (iTextSharp.text.Rectangle)rectangleConverter. + ConvertTo(null, CultureInfo.InvariantCulture, + this.StyleDecorator.DisplayRectangle, typeof(iTextSharp.text.Rectangle)); + + iTextSharp.text.Rectangle rr = new iTextSharp.text.Rectangle(r.Left, r.Bottom - 2, r.Left + r.Width, r.Bottom + r.Height); return rr; } - - + + #region DrawFrame - - + + private Border CreateDefaultBorder() { - return new Border(new BaseLine (this.StyleDecorator.FrameColor, - System.Drawing.Drawing2D.DashStyle.Solid,1)); + return new Border(new BaseLine(this.StyleDecorator.FrameColor, System.Drawing.Drawing2D.DashStyle.Solid, 1)); } - - - private void DrawFrame () + + + private void DrawFrame() { if (this.StyleDecorator.DrawBorder) { Border b = this.CreateDefaultBorder(); - b.DrawBorder(this.PdfWriter.DirectContent, - ConvertToPdfRectangle(), - this.StyleDecorator); + b.DrawBorder(this.PdfWriter.DirectContent, ConvertToPdfRectangle(), this.StyleDecorator); } } - + #endregion - - - public virtual IBaseStyleDecorator StyleDecorator {get;set;} - - public bool IsContainer {get; protected set;} - - public ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter PdfUnitConverter {get;protected set;} - - public PdfWriter PdfWriter {get;protected set;} - + + public virtual IBaseStyleDecorator StyleDecorator { get; set; } + + protected ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter PdfUnitConverter { get; set; } + + protected PdfWriter PdfWriter { get; set; } + } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs index 16f7e7e660..6c761685d7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs @@ -16,13 +16,8 @@ namespace ICSharpCode.Reports.Core.Exporter ExporterCollection items; #region Constructor - - public ExportContainer() : base() - { - base.IsContainer = true; - } - - public ExportContainer(BaseStyleDecorator itemStyle) : base(itemStyle, true) + + public ExportContainer(BaseStyleDecorator itemStyle) : base(itemStyle) { } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphic.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphic.cs index dd1dc73b5f..3ccc4ea63b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphic.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphic.cs @@ -21,7 +21,7 @@ namespace ICSharpCode.Reports.Core.Exporter { } - public ExportGraphic (IBaseStyleDecorator itemStyle,bool isContainer):base(itemStyle,isContainer) + public ExportGraphic (IBaseStyleDecorator itemStyle):base(itemStyle) { } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs index ee3186c19c..048cf7a39c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs @@ -17,7 +17,7 @@ namespace ICSharpCode.Reports.Core.Exporter public class ExportGraphicContainer :ExportContainer { // public ExportGraphicContainer (IExportContainer itemStyle,bool isContainer):base(itemStyle as BaseStyleDecorator) - public ExportGraphicContainer (IBaseStyleDecorator itemStyle,bool isContainer):base(itemStyle as BaseStyleDecorator) + public ExportGraphicContainer (IBaseStyleDecorator itemStyle):base(itemStyle as BaseStyleDecorator) { } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportImage.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportImage.cs index 98256dfdc0..83d324bbd8 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportImage.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportImage.cs @@ -25,7 +25,7 @@ namespace ICSharpCode.Reports.Core.Exporter } - public ExportImage (BaseStyleDecorator itemStyle):base(itemStyle,false) + public ExportImage (BaseStyleDecorator itemStyle):base(itemStyle) { } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs index ed155b4b9e..3fe7e80bf9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs @@ -17,7 +17,7 @@ namespace ICSharpCode.Reports.Core.Exporter { #region Constructors - public ExportText (BaseStyleDecorator itemStyle,bool isContainer):base(itemStyle,isContainer) + public ExportText (BaseStyleDecorator itemStyle):base(itemStyle) { } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IBaseExportColumn.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IBaseExportColumn.cs new file mode 100644 index 0000000000..5b3f0920be --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IBaseExportColumn.cs @@ -0,0 +1,19 @@ +// 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.Drawing; +using ICSharpCode.Reports.Core.BaseClasses.Printing; +using ICSharpCode.Reports.Core.Exporter.ExportRenderer; +using ICSharpCode.Reports.Core.Globals; +using iTextSharp.text.pdf; + +namespace ICSharpCode.Reports.Core.Exporter +{ + public interface IBaseExportColumn + { + void DrawItem(Graphics graphics); + void DrawItem(PdfWriter pdfWriter,PdfUnitConverter converter); + IBaseStyleDecorator StyleDecorator { get; set; } + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportColumnBuilder .cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportColumnBuilder .cs index f7ef5c60d4..10e224125f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportColumnBuilder .cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportColumnBuilder .cs @@ -11,7 +11,7 @@ namespace ICSharpCode.Reports.Core /// Description of Interface1. /// </summary> public interface IExportColumnBuilder{ - BaseExportColumn CreateExportColumn (); + IBaseExportColumn CreateExportColumn (); } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportContainer.cs index 3d5a4d4d55..0b108fb705 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportContainer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportContainer.cs @@ -6,10 +6,8 @@ using iTextSharp.text.pdf; namespace ICSharpCode.Reports.Core.Exporter { - public interface IExportContainer + public interface IExportContainer:IBaseExportColumn { - void DrawItem(System.Drawing.Graphics graphics); - void DrawItem(PdfWriter pdfWriter, ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter); ExporterCollection Items { get; } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs index 6462072312..0a02c75405 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs @@ -19,14 +19,14 @@ namespace ICSharpCode.Reports.Core.Exporter internal static class ExportHelper { - public static BaseExportColumn ConvertLineItem (BaseReportItem item,Point offset) + public static IBaseExportColumn ConvertLineItem (BaseReportItem item,Point offset) { if (item == null) { throw new ArgumentNullException("item"); } IExportColumnBuilder columnBuilder = item as IExportColumnBuilder; - BaseExportColumn lineItem = null; + IBaseExportColumn lineItem = null; if (columnBuilder != null) { @@ -52,7 +52,7 @@ namespace ICSharpCode.Reports.Core.Exporter foreach(BaseReportItem item in items) { - col.Add(ExportHelper.ConvertLineItem(item,offset)); + col.Add((BaseExportColumn)ExportHelper.ConvertLineItem(item,offset)); } } return col; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs index 7410363094..47ffe44f24 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs @@ -89,14 +89,14 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer foreach (var page in pages) { FixedPage fixedPage = docCreator.CreatePage (page); - docCreator.ArrangePage(document.DocumentPaginator.PageSize,fixedPage); + FixedDocumentCreator.ArrangePage(document.DocumentPaginator.PageSize,fixedPage); AddPageToDocument(document,fixedPage); } Document = document; } - void AddPageToDocument(FixedDocument fixedDocument,FixedPage page) + static void AddPageToDocument(FixedDocument fixedDocument,FixedPage page) { PageContent pageContent = new PageContent(); ((IAddChild)pageContent).AddChild(page); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index bdd406d993..f0299db1a4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -212,7 +212,7 @@ namespace ICSharpCode.Reports.Core.WPF } - System.Windows.Media.Imaging.BitmapImage BitmapFromImage(ExportImage image) + static System.Windows.Media.Imaging.BitmapImage BitmapFromImage(ExportImage image) { var bitmap = new System.Windows.Media.Imaging.BitmapImage(); bitmap.BeginInit(); @@ -304,7 +304,7 @@ namespace ICSharpCode.Reports.Core.WPF } - void SetDimension (FrameworkElement element,IBaseStyleDecorator decorator) + static void SetDimension (FrameworkElement element,IBaseStyleDecorator decorator) { element.Width = decorator.DisplayRectangle.Width; element.Height = decorator.DisplayRectangle.Height; @@ -313,12 +313,12 @@ namespace ICSharpCode.Reports.Core.WPF } - public void ArrangePage(Size pageSize, FixedPage page) + public static void ArrangePage(Size pageSize, FixedPage page) { page.Measure(pageSize); page.Arrange(new Rect(new System.Windows.Point(), pageSize)); page.UpdateLayout(); - } + } public System.Windows.Size PageSize {get;set;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseDataItemFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseDataItemFixture.cs index 3b533fd953..0cc619b312 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseDataItemFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseDataItemFixture.cs @@ -103,7 +103,7 @@ namespace ICSharpCode.Reports.Core.Test.BaseItems public void ExportColumnIsNotNull () { BaseDataItem bt = new BaseDataItem(); - BaseExportColumn bec = bt.CreateExportColumn(); + var bec = bt.CreateExportColumn(); Assert.IsNotNull(bec); } @@ -112,7 +112,7 @@ namespace ICSharpCode.Reports.Core.Test.BaseItems public void TypeofExportShouldBeExportText () { BaseTextItem bt = new BaseDataItem(); - BaseExportColumn bec = bt.CreateExportColumn(); + var bec = bt.CreateExportColumn(); Type t = typeof(ExportText); Assert.AreEqual(t,bec.GetType(),"Type should be 'ExportText"); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseRowItemFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseRowItemFixture.cs index c75efe1945..2dd5316842 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseRowItemFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseRowItemFixture.cs @@ -38,7 +38,7 @@ namespace ICSharpCode.Reports.Core.Test.BaseItems public void ExportColumnIsNotNull () { BaseRowItem bri = new BaseRowItem(); - BaseExportColumn bec = bri.CreateExportColumn(); + var bec = bri.CreateExportColumn(); Assert.IsNotNull(bec); } @@ -46,7 +46,7 @@ namespace ICSharpCode.Reports.Core.Test.BaseItems public void TypeofExportShouldBeExportContainer () { BaseRowItem bri = new BaseRowItem(); - BaseExportColumn bec = bri.CreateExportColumn(); + var bec = bri.CreateExportColumn(); Type t = typeof(ExportContainer); Assert.AreEqual(t,bec.GetType(),"Type should be 'ExportContainer"); } @@ -57,7 +57,6 @@ namespace ICSharpCode.Reports.Core.Test.BaseItems BaseRowItem bri = new BaseRowItem(); ExportContainer ec = (ExportContainer)bri.CreateExportColumn(); Assert.AreEqual (0,ec.Items.Count,"Items.Count should BeforePrintEventArgs '0'"); - Assert.IsTrue(ec.IsContainer); Assert.AreEqual(bri.Size,ec.StyleDecorator.Size); } #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseTextItemFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseTextItemFixture.cs index 5976ec3d68..1d241dd36a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseTextItemFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseItems/BaseTextItemFixture.cs @@ -91,8 +91,8 @@ namespace ICSharpCode.Reports.Core.Test.BaseItems [Test] public void ExportColumnIsNotNull () { - BaseTextItem bt = new BaseTextItem(); - BaseExportColumn bec = bt.CreateExportColumn(); + var bt = new BaseTextItem(); + var bec = bt.CreateExportColumn(); Assert.IsNotNull(bec); } @@ -100,8 +100,8 @@ namespace ICSharpCode.Reports.Core.Test.BaseItems [Test] public void TypeofExportShouldBeExportText () { - BaseTextItem bt = new BaseTextItem(); - BaseExportColumn bec = bt.CreateExportColumn(); + var bt = new BaseTextItem(); + var bec = bt.CreateExportColumn(); Type t = typeof(ExportText); Assert.AreEqual(t,bec.GetType(),"Type should be 'ExportText"); } From b54d83c712a016a6bd9a4cad0619cf09b5f4f02f Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Tue, 5 Jul 2011 20:47:39 +0200 Subject: [PATCH 088/168] Reduce time for creating of (WPF)FixedDocument(4 Pages Report) form 11 to 1 sec by removing PrintDialog --- .../Project/WPF/WPFReportPreview.cs | 34 +++++---- .../Project/BaseItems/BaseSection.cs | 4 +- .../Project/Collections/Collections.cs | 2 +- .../Project/Exporter/BasePager.cs | 6 +- .../ExportRenderer/FixedDocumentRenderer.cs | 24 +++---- .../Project/WPF/FixedDocumentCreator.cs | 69 +++++++++++++------ .../WpfReportViewer/PreviewViewModel.cs | 18 +++-- 7 files changed, 97 insertions(+), 60 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs index 521d004ef9..3fc12c299f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs @@ -41,10 +41,10 @@ namespace ICSharpCode.Reports.Addin.Project.WPF protected override void LoadFromPrimary() { - Stopwatch sw = new Stopwatch(); - sw.Start(); - Console.WriteLine("-----------------"); - Console.WriteLine("Stop start"); +// Stopwatch sw = new Stopwatch(); +// sw.Start(); +// Console.WriteLine("--------Stopwatch start---------"); +// Console.WriteLine(""); Pages.Clear(); ReportModel model = designerLoader.CreateRenderableModel(); @@ -52,15 +52,19 @@ namespace ICSharpCode.Reports.Addin.Project.WPF collectCmd.Run(); switch (model.DataModel) { - case GlobalEnums.PushPullModel.FormSheet : { + case GlobalEnums.PushPullModel.FormSheet : + { exportRunner.RunReport(model,(ReportParameters)null); break; } - case GlobalEnums.PushPullModel.PullData:{ + case GlobalEnums.PushPullModel.PullData: + { +// Console.WriteLine("call runreport {0}",sw.Elapsed); exportRunner.RunReport(model,(ReportParameters)null); +// Console.WriteLine("back from runreport {0}",sw.Elapsed); break; } - case GlobalEnums.PushPullModel.PushData: + case GlobalEnums.PushPullModel.PushData: { var cmd = new DataSetFromXsdCommand(); cmd.Run(); @@ -71,14 +75,18 @@ namespace ICSharpCode.Reports.Addin.Project.WPF default: throw new InvalidReportModelException(); } - Console.WriteLine (" after create {0}",sw.Elapsed); - +// Console.WriteLine ("finsh create {0}",sw.Elapsed); +// Console.WriteLine ("strat viewmodel"); PreviewViewModel previewViewModel = new PreviewViewModel (model.ReportSettings,exportRunner.Pages); - Console.WriteLine (" after init model {0}",sw.Elapsed); +// Console.WriteLine ("back from viewmodel"); +// Console.WriteLine ("after init model {0}",sw.Elapsed); + viewer.SetBinding(previewViewModel); - Console.WriteLine ("after setbinding {0}",sw.Elapsed); - sw.Stop(); - Console.WriteLine("---------------"); + +// Console.WriteLine ("after setbinding {0}",sw.Elapsed); + +// sw.Stop(); +// Console.WriteLine("-----end ----------"); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs index 7429b1bb0f..63056c51a4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs @@ -137,9 +137,9 @@ namespace ICSharpCode.Reports.Core public Size MeasureOverride (Size availableSize) { Size resultSize = new Size(0,0); - Console.WriteLine("MeasureOverride"); +// Console.WriteLine("MeasureOverride"); foreach (var item in Items) { - Console.WriteLine("{0} - {1}",item.Location,item.Size); +// Console.WriteLine("{0} - {1}",item.Location,item.Size); resultSize.Width = Math.Max(resultSize.Width, item.Size.Width); resultSize.Height = Math.Max(resultSize.Height, item.Size.Height); } 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 1a7a94eddc..63661cd755 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 @@ -65,7 +65,7 @@ namespace ICSharpCode.Reports.Core{ get { return (List<BaseReportItem>)base.Items; } } - public void Sort(IComparer<BaseReportItem> comparer) + private void Sort(IComparer<BaseReportItem> comparer) { InnerList.Sort(comparer); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index c36cc5355c..a70a899f1b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -94,7 +94,7 @@ namespace ICSharpCode.Reports.Core.Exporter Rectangle desiredRectangle = LayoutHelper.CalculateSectionLayout(this.Graphics,section); LayoutHelper.FixSectionLayout(desiredRectangle,section); - + section.Items.SortByLocation(); GapList gapCalculator = new GapList(); gapCalculator.CalculateGapList(section); int i = 0; @@ -116,10 +116,10 @@ namespace ICSharpCode.Reports.Core.Exporter LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer); /* * */ - Console.WriteLine("--"); +// Console.WriteLine("--"); section.Items.ForEach(delegate(BaseReportItem aitem) { - Console.WriteLine(item.Location); +// Console.WriteLine(item.Location); }); var h = section.Items.FindHighestElement(); section.MeasureOverride(section.Size); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs index 47ffe44f24..0afb8ceff9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/FixedDocumentRenderer.cs @@ -57,26 +57,21 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer // 827/1169 -// A4 paper is 210mm x 297mm -//8.2 inch x 11.6 inch -//1240 px x 1754 px -/* - iTextSharp uses a default of 72 pixels per inch. +// A4 paper is 210mm x 297mm + //8.2 inch x 11.6 inch + //1240 px x 1754 px + /* + iTextSharp uses a default of 72 pixels per inch. 792 would be 11", or the height of a standard Letter size paper." + 595 would be 8.264", which is the standard width of A4 size paper. - Using 595 x 792 as the page size would be a cheap and dirty way - to ensure that you could print on either A4 or Letter + Using 595 x 792 as the page size would be a cheap and dirty way + to ensure that you could print on either A4 or Letter without anything getting cut off. – -*/ - PrintDialog printDialog = new PrintDialog(); - var w = printDialog.PrintableAreaHeight; - var h = printDialog.PrintableAreaWidth; - Console.WriteLine(new System.Windows.Size(w,h)); - + */ + docCreator.PageSize = new System.Windows.Size(reportSettings.PageSize.Width,reportSettings.PageSize.Height); document.DocumentPaginator.PageSize = docCreator.PageSize; - } @@ -84,7 +79,6 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer public override void RenderOutput() { base.RenderOutput(); - Console.WriteLine("FixedDocumentRenderer - RenderOutput"); foreach (var page in pages) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index f0299db1a4..a4663bca17 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -83,7 +83,7 @@ namespace ICSharpCode.Reports.Core.WPF border = CreateBorder(column.StyleDecorator as BaseStyleDecorator); border.Child = t; element = border; - } + } else { element = t; @@ -101,7 +101,7 @@ namespace ICSharpCode.Reports.Core.WPF return element; } - + #region GraphicsElement (Line etc) System.Windows.Controls.Border CreateBorder( BaseStyleDecorator column) @@ -139,13 +139,15 @@ namespace ICSharpCode.Reports.Core.WPF #endregion - #region Container - UIElement CreateGraphicsContainer(ExportGraphicContainer graphicContainer) + #region Container + UIElement CreateGraphicsContainer(ExportGraphicContainer container) { - IGraphicStyleDecorator decorator = graphicContainer.StyleDecorator as IGraphicStyleDecorator; - UIElement shape = null; - var ss = decorator.Shape as EllipseShape; + + IGraphicStyleDecorator decorator = container.StyleDecorator as IGraphicStyleDecorator; + + UIElement shape = null; + var ss = decorator.Shape as EllipseShape; if (ss != null) { var circle = new System.Windows.Shapes.Ellipse(); @@ -155,16 +157,29 @@ namespace ICSharpCode.Reports.Core.WPF circle.Stroke = ConvertBrush(decorator.ForeColor); shape = circle; } - else + else { var border = CreateBorder(decorator as BaseStyleDecorator); - SetDimension(border,decorator); +// SetDimension(border,decorator); + border.Width = decorator.DisplayRectangle.Width + 2; + border.Height = decorator.DisplayRectangle.Height + 2; RectangleShape rs = decorator.Shape as RectangleShape; border.CornerRadius = new CornerRadius(rs.CornerRadius); border.BorderThickness = new Thickness(decorator.Thickness); border.BorderBrush = ConvertBrush(decorator.ForeColor); shape = border; + + var canvas = CreateCanvas(container); + canvas.Width = decorator.DisplayRectangle.Width -1; + canvas.Height = decorator.DisplayRectangle.Height -1; + + AddItemsToCanvas(ref canvas, container); + border.Child = canvas; +// border.Measure(container.StyleDecorator.Size); +// border.Arrange(new Rect(new System.Windows.Point(), container.StyleDecorator.Size)); + border.UpdateLayout(); } + return shape; } @@ -172,22 +187,34 @@ namespace ICSharpCode.Reports.Core.WPF private UIElement CreateContainer(ExportContainer container) { - var canvas = new Canvas(); - SetDimension(canvas,container.StyleDecorator); - canvas.Background = ConvertBrush(container.StyleDecorator.BackColor); + Canvas canvas = CreateCanvas(container); - foreach (var exportElement in container.Items) { - var uiElement = ItemFactory (exportElement); - Canvas.SetLeft(uiElement,exportElement.StyleDecorator.Location.X - container.StyleDecorator.Location.X); - Canvas.SetTop(uiElement,exportElement.StyleDecorator.Location.Y - container.StyleDecorator.Location.Y); - canvas.Children.Add(uiElement); - } + AddItemsToCanvas(ref canvas, container); canvas.Measure(PageSize); canvas.Arrange(new Rect(new System.Windows.Point(), PageSize)); canvas.UpdateLayout(); return canvas; } + + + void AddItemsToCanvas(ref Canvas canvas, ExportContainer container) + { + foreach (var exportElement in container.Items) { + var uiElement = ItemFactory(exportElement); + Canvas.SetLeft(uiElement, exportElement.StyleDecorator.Location.X - container.StyleDecorator.Location.X); + Canvas.SetTop(uiElement, exportElement.StyleDecorator.Location.Y - container.StyleDecorator.Location.Y); + canvas.Children.Add(uiElement); + } + } + + Canvas CreateCanvas(ExportContainer container) + { + var canvas = new Canvas(); + SetDimension(canvas, container.StyleDecorator); + canvas.Background = ConvertBrush(container.StyleDecorator.BackColor); + return canvas; + } #endregion @@ -263,7 +290,7 @@ namespace ICSharpCode.Reports.Core.WPF { if (brushConverter.IsValid(color.Name)) { return brushConverter.ConvertFromString(color.Name) as SolidColorBrush; - } else + } else { Console.WriteLine("FixedDocumentCreator"); Console.WriteLine("\tcan't convert {0} to valid Color",color.Name); @@ -308,8 +335,6 @@ namespace ICSharpCode.Reports.Core.WPF { element.Width = decorator.DisplayRectangle.Width; element.Height = decorator.DisplayRectangle.Height; -// element.MaxHeight = decorator.DisplayRectangle.Height; -// element.MaxWidth = decorator.DisplayRectangle.Width; } @@ -318,7 +343,7 @@ namespace ICSharpCode.Reports.Core.WPF page.Measure(pageSize); page.Arrange(new Rect(new System.Windows.Point(), pageSize)); page.UpdateLayout(); - } + } public System.Windows.Size PageSize {get;set;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs index c8a43c1b59..92bda7dca1 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs @@ -8,6 +8,7 @@ */ using System; using System.ComponentModel; +using System.Diagnostics; using System.Windows.Documents; using ICSharpCode.Reports.Core.Exporter.ExportRenderer; @@ -25,13 +26,24 @@ namespace ICSharpCode.Reports.Core.WpfReportViewer public PreviewViewModel(ReportSettings reportSettings, PagesCollection pages) { this.Pages = pages; +// Stopwatch s = new Stopwatch(); +// s.Start(); +// Console.WriteLine("-------------"); FixedDocumentRenderer renderer = FixedDocumentRenderer.CreateInstance(reportSettings,Pages); +// Console.WriteLine("\tfinish render {0}",s.Elapsed); +// Console.WriteLine("-------------"); +// renderer.Start(); +// Console.WriteLine("\tfinsih start {0}",s.Elapsed); + renderer.RenderOutput(); +// Console.WriteLine("\tfinish renderoutput {0}",s.Elapsed); renderer.End(); +// Console.WriteLine("\tfinish end {0}",s.Elapsed); this.Document = renderer.Document; - +// Console.WriteLine("\tfinish document {0}",s.Elapsed); +// s.Stop(); } public PagesCollection Pages {get;private set;} @@ -42,9 +54,7 @@ namespace ICSharpCode.Reports.Core.WpfReportViewer set { this.document = value; OnNotifyPropertyChanged ("Document"); - } - - + } } From 6a073502645192670077be456161eb45400c9fcc Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Thu, 7 Jul 2011 21:00:39 +0200 Subject: [PATCH 089/168] Rectangle as Container in FixedDocument, same extension methods from ICSharpCode.SharpDevelop --- SharpDevelop.Tests.sln | 540 +++++++++--------- .../ICSharpCode.Reports.Core.csproj | 2 +- .../{WPF => BaseClasses}/ExtensionMethodes.cs | 16 +- .../Exporter/ExportColumns/ExportContainer.cs | 19 +- .../ExportColumns/ExportGraphicContainer.cs | 19 +- .../Project/WPF/FixedDocumentCreator.cs | 28 +- 6 files changed, 318 insertions(+), 306 deletions(-) rename src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/{WPF => BaseClasses}/ExtensionMethodes.cs (90%) diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln index 80d7dd1236..f78a648719 100644 --- a/SharpDevelop.Tests.sln +++ b/SharpDevelop.Tests.sln @@ -1,69 +1,69 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -# SharpDevelop 4.1.0.7595-alpha +# SharpDevelop 4.1.0.7646-alpha Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -72,45 +72,45 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{ ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" - ProjectSection(SolutionItems) = postProject - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -119,237 +119,239 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{393278 ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -359,235 +361,233 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\Add {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -1203,125 +1203,125 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} {870115DD-960A-4406-A6B9-600BCDC36A03} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} - {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} - {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} - {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} - {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} - {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} - {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} - {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} + {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} + {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} + {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} + {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} + {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} - {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} - {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} - {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} - {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} - {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} - {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} + {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} + {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} + {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} + {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} + {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} + {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} + {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} EndGlobalSection EndGlobal diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index 542a842523..5e1a205a7f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -104,6 +104,7 @@ <Compile Include="..\..\..\..\Main\GlobalAssemblyInfo.cs"> <Link>Project\Configuration\GlobalAssemblyInfo.cs</Link> </Compile> + <Compile Include="Project\BaseClasses\ExtensionMethodes.cs" /> <Compile Include="Project\BaseClasses\Printing\LayoutHelper.cs" /> <Compile Include="Project\BaseClasses\TypeHelpers.cs" /> <Compile Include="Project\BaseClasses\CurrentItem.cs" /> @@ -375,7 +376,6 @@ <DependentUpon>WpfReportViewer.xaml</DependentUpon> <SubType>Code</SubType> </Compile> - <Compile Include="Project\WPF\ExtensionMethodes.cs" /> <Compile Include="Project\WPF\FixedDocumentCreator.cs" /> <Compile Include="Project\Xml\BaseItemLoader.cs" /> <Compile Include="Project\Xml\MycroParser.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/ExtensionMethodes.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs similarity index 90% rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/ExtensionMethodes.cs rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs index bb949953c1..076a6fd394 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/ExtensionMethodes.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs @@ -21,17 +21,27 @@ using System.Windows.Forms; using WinForms = System.Windows.Forms; -namespace ICSharpCode.Reports.Core.WPF +namespace ICSharpCode.Reports.Core { /// <summary> /// Description of ExtensionMethodes. /// Copy from D:\git_Sharpdevelop_Reporting\src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Project\WPF\ExtensionMethodes.cs /// </summary> /// <see cref="D:\git_Sharpdevelop_Reporting\src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Project\WPF\ExtensionMethodes.cs" - public static class ExtensionMethodes + internal static class ExtensionMethodes { + public static void ForEach<T>(this IEnumerable<T> input, Action<T> action) + { + if (input == null) + throw new ArgumentNullException("input"); + foreach (T element in input) { + action(element); + } + } + + public static Point ToWpf(this System.Drawing.Point p) { return new Point(p.X, p.Y); @@ -91,5 +101,7 @@ namespace ICSharpCode.Reports.Core.WPF return new Point(point.X * matrix.M11, point.Y * matrix.M22); } #endregion + + } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs index 6c761685d7..e7c6f11a92 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs @@ -33,10 +33,11 @@ namespace ICSharpCode.Reports.Core.Exporter base.DrawItem(graphics); base.Decorate(graphics); - foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in items) - { - baseExportColumn.DrawItem(graphics); - } + items.ForEach(item =>item.DrawItem(graphics)); +// foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in items) +// { +// baseExportColumn.DrawItem(graphics); +// } } @@ -45,10 +46,12 @@ namespace ICSharpCode.Reports.Core.Exporter { base.DrawItem(pdfWriter, converter); base.Decorate(); - foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in this.Items) - { - baseExportColumn.DrawItem(pdfWriter,converter); - } + items.ForEach(item =>item.DrawItem(pdfWriter,converter)); + +// foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in this.Items) +// { +// baseExportColumn.DrawItem(pdfWriter,converter); +// } } #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs index 048cf7a39c..b9ab9f0e9c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs @@ -45,10 +45,11 @@ namespace ICSharpCode.Reports.Core.Exporter baseLine, style.DisplayRectangle); } - foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in Items) - { - baseExportColumn.DrawItem(graphics); - } + Items.ForEach(item =>item.DrawItem(graphics)); +// foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in Items) +// { +// baseExportColumn.DrawItem(graphics); +// } } } @@ -64,11 +65,11 @@ namespace ICSharpCode.Reports.Core.Exporter new BaseLine (style.ForeColor,style.DashStyle,style.Thickness), style, ConvertToPdfRectangle()); - - foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in this.Items) - { - baseExportColumn.DrawItem(pdfWriter,converter); - } + Items.ForEach(item =>item.DrawItem(pdfWriter,converter)); +// foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in this.Items) +// { +// baseExportColumn.DrawItem(pdfWriter,converter); +// } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index a4663bca17..07217ec07e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -142,8 +142,6 @@ namespace ICSharpCode.Reports.Core.WPF #region Container UIElement CreateGraphicsContainer(ExportGraphicContainer container) { - - IGraphicStyleDecorator decorator = container.StyleDecorator as IGraphicStyleDecorator; UIElement shape = null; @@ -159,36 +157,34 @@ namespace ICSharpCode.Reports.Core.WPF } else { + var border = CreateBorder(decorator as BaseStyleDecorator); -// SetDimension(border,decorator); - border.Width = decorator.DisplayRectangle.Width + 2; - border.Height = decorator.DisplayRectangle.Height + 2; + RectangleShape rs = decorator.Shape as RectangleShape; border.CornerRadius = new CornerRadius(rs.CornerRadius); + border.BorderThickness = new Thickness(decorator.Thickness); border.BorderBrush = ConvertBrush(decorator.ForeColor); + border.Background = ConvertBrush(decorator.BackColor); + shape = border; var canvas = CreateCanvas(container); canvas.Width = decorator.DisplayRectangle.Width -1; - canvas.Height = decorator.DisplayRectangle.Height -1; - + canvas.Height = decorator.DisplayRectangle.Height -1 ; + canvas.Background = border.Background; AddItemsToCanvas(ref canvas, container); border.Child = canvas; -// border.Measure(container.StyleDecorator.Size); -// border.Arrange(new Rect(new System.Windows.Point(), container.StyleDecorator.Size)); - border.UpdateLayout(); } return shape; } - + private UIElement CreateContainer(ExportContainer container) { - Canvas canvas = CreateCanvas(container); - + var canvas = CreateCanvas(container); AddItemsToCanvas(ref canvas, container); canvas.Measure(PageSize); @@ -286,14 +282,14 @@ namespace ICSharpCode.Reports.Core.WPF } } + Brush ConvertBrush(System.Drawing.Color color) { - if (brushConverter.IsValid(color.Name)) { + if (brushConverter.IsValid(color.Name)) + { return brushConverter.ConvertFromString(color.Name) as SolidColorBrush; } else { - Console.WriteLine("FixedDocumentCreator"); - Console.WriteLine("\tcan't convert {0} to valid Color",color.Name); return brushConverter.ConvertFromString("Black") as SolidColorBrush; } } From 41e29a31a5c60c2665c97f1032230fe81f84126c Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 8 Jul 2011 21:31:10 +0200 Subject: [PATCH 090/168] Use Inlines in TextBlock to handle <CR> in Text --- .../Project/BaseClasses/ExtensionMethodes.cs | 17 +++++------------ .../Project/BaseClasses/Printing/PrintHelper.cs | 4 ++-- .../Project/BaseItems/BaseSection.cs | 4 ++-- .../AggregateFunctions/AggregateFunction.cs | 2 +- .../Project/WPF/FixedDocumentCreator.cs | 14 +++++++++++++- 5 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs index 076a6fd394..3f68af3436 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs @@ -7,19 +7,9 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; -using System.Collections; using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading; using System.Windows; -using System.Windows.Controls; using System.Windows.Media; -using System.Windows.Documents; -using System.Windows.Forms; - -using WinForms = System.Windows.Forms; namespace ICSharpCode.Reports.Core { @@ -30,7 +20,7 @@ namespace ICSharpCode.Reports.Core /// <see cref="D:\git_Sharpdevelop_Reporting\src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Project\WPF\ExtensionMethodes.cs" internal static class ExtensionMethodes { - + #region Collections public static void ForEach<T>(this IEnumerable<T> input, Action<T> action) { @@ -41,6 +31,9 @@ namespace ICSharpCode.Reports.Core } } + #endregion + + #region system.drawing -> Wpf public static Point ToWpf(this System.Drawing.Point p) { @@ -62,7 +55,7 @@ namespace ICSharpCode.Reports.Core return System.Windows.Media.Color.FromArgb(c.A, c.R, c.G, c.B); } - + #endregion #region DPI independence public static Rect TransformToDevice(this Rect rect, Visual visual) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs index 1d731a9e26..36df8ec8b5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs @@ -193,7 +193,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing f.Dispose(); } - + /* public static void Displaychain (ReportItemCollection items) { foreach(BaseReportItem i in items) @@ -207,7 +207,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing } } } - + */ public static void ShowLocations (ExporterCollection items) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs index 63056c51a4..aa273ee193 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs @@ -132,8 +132,8 @@ namespace ICSharpCode.Reports.Core public virtual bool PageBreakAfter {get;set;} #endregion - //http://www.switchonthecode.com/tutorials/wpf-tutorial-creating-a-custom-panel-control -// http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/607eba8c-6fa4-414c-82ae-23a527cdc5bf + + public Size MeasureOverride (Size availableSize) { Size resultSize = new Size(0,0); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs index 124a1edfa9..6394f958d5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs @@ -118,7 +118,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.AggregateFunctions if (currentItem != null) { object s1 = Convert.ToString(currentItem.Value.ToString(),CultureInfo.CurrentCulture); - Console.WriteLine("\tSetup DataSource value = {0}", s1.ToString()); +// Console.WriteLine("\tSetup DataSource value = {0}", s1.ToString()); if (IsNumeric(s1)) { list.Add(Convert.ToDouble(s1,System.Globalization.CultureInfo.CurrentCulture)); } else { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index 07217ec07e..9ababfd4fb 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -254,8 +254,20 @@ namespace ICSharpCode.Reports.Core.WPF TextBlock CreateTextBlock(ExportText exportText) { TextBlock textBlock = new TextBlock(); - textBlock.Text = exportText.Text; SetFont(textBlock, exportText.StyleDecorator); + textBlock.TextWrapping = TextWrapping.Wrap; + + string [] inlines = exportText.Text.Split(System.Environment.NewLine.ToCharArray()); + for (int i = 0; i < inlines.Length; i++) { + if (inlines[i].Length > 0) { + textBlock.Inlines.Add(new Run(inlines[i])); + textBlock.Inlines.Add(new LineBreak()); + } + } + var li = textBlock.Inlines.LastInline; + + textBlock.Inlines.Remove(li); + SetDimension(textBlock,exportText.StyleDecorator); return textBlock; } From 1b995690d65640af02c0898cfce516c71e4ab1e7 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier <peter.forstmeier@t-online.de> Date: Mon, 11 Jul 2011 09:02:47 +0200 Subject: [PATCH 091/168] Adjust NameSpaces, remove DebugCode --- SharpDevelop.Tests.sln | 540 +++++++++--------- .../ICSharpCode.Reports.Addin.csproj | 3 +- .../Project/ReportDesignerView.cs | 3 +- .../Project/SecondaryViews/ReportPreview.cs | 3 +- .../SecondaryViews/ReportViewerMessages.cs | 2 +- .../ReportViewerSecondaryView.cs | 4 +- .../WPFReportPreview.cs | 23 +- .../Project/SecondaryViews/XmlView.cs | 3 +- .../WpfReportViewer/PreviewViewModel.cs | 14 +- 9 files changed, 280 insertions(+), 315 deletions(-) rename src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/{WPF => SecondaryViews}/WPFReportPreview.cs (74%) diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln index 80d7dd1236..f78a648719 100644 --- a/SharpDevelop.Tests.sln +++ b/SharpDevelop.Tests.sln @@ -1,69 +1,69 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -# SharpDevelop 4.1.0.7595-alpha +# SharpDevelop 4.1.0.7646-alpha Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -72,45 +72,45 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{ ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" - ProjectSection(SolutionItems) = postProject - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -119,237 +119,239 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{393278 ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -359,235 +361,233 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\Add {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -1203,125 +1203,125 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} {870115DD-960A-4406-A6B9-600BCDC36A03} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} - {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} - {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} - {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} - {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} - {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} - {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} - {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} + {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} + {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} + {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} + {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} + {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} - {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} - {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} - {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} - {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} - {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} - {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} + {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} + {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} + {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} + {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} + {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} + {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} + {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} EndGlobalSection EndGlobal 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 12d046757b..87eaa93637 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 @@ -251,6 +251,7 @@ <Compile Include="Project\SecondaryViews\ReportPreview.cs" /> <Compile Include="Project\SecondaryViews\ReportViewerMessages.cs" /> <Compile Include="Project\SecondaryViews\ReportViewerSecondaryView.cs" /> + <Compile Include="Project\SecondaryViews\WPFReportPreview.cs" /> <Compile Include="Project\SecondaryViews\XmlView.cs" /> <Compile Include="Project\Services\DefaultMemberRelationshipService.cs" /> <Compile Include="Project\Services\DefaultServiceContainer.cs" /> @@ -265,7 +266,6 @@ <Compile Include="Project\Toolbox\SideTabItemDesigner.cs" /> <Compile Include="Project\Toolbox\ToolboxProvider.cs" /> <Compile Include="Project\UndoRedo\UndoEngine.cs" /> - <Compile Include="Project\WPF\WPFReportPreview.cs" /> <Compile Include="Project\Xml\MycroWriter.cs" /> <Compile Include="Project\Xml\ReportDefinitionParser.cs" /> <Compile Include="Project\Xml\ReportDesignerWriter.cs" /> @@ -359,7 +359,6 @@ </BootstrapperPackage> </ItemGroup> <ItemGroup> - <Folder Include="Project\WPF" /> <Folder Include="Project\ReportItems\TypeProviders" /> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> 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 83b5600617..9668a21d91 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs @@ -15,9 +15,8 @@ using System.Windows.Forms; using ICSharpCode.Core; using ICSharpCode.Reports.Addin.Commands; using ICSharpCode.Reports.Addin.Designer; -using ICSharpCode.Reports.Addin.Project.WPF; +using ICSharpCode.Reports.Addin.SecondaryViews; using ICSharpCode.Reports.Core; -using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Exporter.ExportRenderer; using ICSharpCode.Reports.Core.Globals; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportPreview.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportPreview.cs index 87415a6105..5b1cfe1f78 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportPreview.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportPreview.cs @@ -2,13 +2,12 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Windows.Forms; using ICSharpCode.Core; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.SharpDevelop.Gui; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.SecondaryViews { /// <summary> /// Description of the view content diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerMessages.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerMessages.cs index 3c9e56aadc..194cd3b109 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerMessages.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerMessages.cs @@ -5,7 +5,7 @@ using System; using ICSharpCode.Core; using ICSharpCode.Reports.Core.ReportViewer; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.SecondaryViews { /// <summary> /// Description of ReportViewerMessages. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs index cd3c768059..b0cb83ca03 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs @@ -2,15 +2,13 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Windows.Forms; using ICSharpCode.Core; using ICSharpCode.Reports.Addin.Commands; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.Globals; -using ICSharpCode.Reports.Core.ReportViewer; using ICSharpCode.SharpDevelop.Gui; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.SecondaryViews { /// <summary> /// Description of ReportViewerSecondaryView. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/WPFReportPreview.cs similarity index 74% rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/WPFReportPreview.cs index 3fc12c299f..a901fdaf87 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/WPFReportPreview.cs @@ -7,16 +7,14 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; -using System.Diagnostics; using ICSharpCode.Reports.Addin.Commands; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.Exporter.ExportRenderer; using ICSharpCode.Reports.Core.Globals; -using ICSharpCode.Reports.Core.ReportViewer; using ICSharpCode.Reports.Core.WpfReportViewer; using ICSharpCode.SharpDevelop.Gui; -namespace ICSharpCode.Reports.Addin.Project.WPF +namespace ICSharpCode.Reports.Addin.SecondaryViews { /// <summary> /// Description of WPFReportPreview. @@ -37,15 +35,10 @@ namespace ICSharpCode.Reports.Addin.Project.WPF public PagesCollection Pages{get;private set;} - + protected override void LoadFromPrimary() { -// Stopwatch sw = new Stopwatch(); -// sw.Start(); -// Console.WriteLine("--------Stopwatch start---------"); -// Console.WriteLine(""); - Pages.Clear(); ReportModel model = designerLoader.CreateRenderableModel(); var collectCmd = new CollectParametersCommand(model); @@ -59,9 +52,7 @@ namespace ICSharpCode.Reports.Addin.Project.WPF } case GlobalEnums.PushPullModel.PullData: { -// Console.WriteLine("call runreport {0}",sw.Elapsed); exportRunner.RunReport(model,(ReportParameters)null); -// Console.WriteLine("back from runreport {0}",sw.Elapsed); break; } case GlobalEnums.PushPullModel.PushData: @@ -75,18 +66,8 @@ namespace ICSharpCode.Reports.Addin.Project.WPF default: throw new InvalidReportModelException(); } -// Console.WriteLine ("finsh create {0}",sw.Elapsed); -// Console.WriteLine ("strat viewmodel"); PreviewViewModel previewViewModel = new PreviewViewModel (model.ReportSettings,exportRunner.Pages); -// Console.WriteLine ("back from viewmodel"); -// Console.WriteLine ("after init model {0}",sw.Elapsed); - viewer.SetBinding(previewViewModel); - -// Console.WriteLine ("after setbinding {0}",sw.Elapsed); - -// sw.Stop(); -// Console.WriteLine("-----end ----------"); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/XmlView.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/XmlView.cs index 97a662b829..b9c177af5d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/XmlView.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/XmlView.cs @@ -5,7 +5,8 @@ using System; using System.Windows.Forms; using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.Core; -namespace ICSharpCode.Reports.Addin + +namespace ICSharpCode.Reports.Addin.SecondaryViews { /// <summary> /// Description of the view content diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs index 92bda7dca1..5ad9ceeae0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs @@ -26,26 +26,14 @@ namespace ICSharpCode.Reports.Core.WpfReportViewer public PreviewViewModel(ReportSettings reportSettings, PagesCollection pages) { this.Pages = pages; -// Stopwatch s = new Stopwatch(); -// s.Start(); -// Console.WriteLine("-------------"); FixedDocumentRenderer renderer = FixedDocumentRenderer.CreateInstance(reportSettings,Pages); - -// Console.WriteLine("\tfinish render {0}",s.Elapsed); -// Console.WriteLine("-------------"); -// renderer.Start(); -// Console.WriteLine("\tfinsih start {0}",s.Elapsed); - renderer.RenderOutput(); -// Console.WriteLine("\tfinish renderoutput {0}",s.Elapsed); renderer.End(); -// Console.WriteLine("\tfinish end {0}",s.Elapsed); this.Document = renderer.Document; -// Console.WriteLine("\tfinish document {0}",s.Elapsed); -// s.Stop(); } + public PagesCollection Pages {get;private set;} public IDocumentPaginatorSource Document From dca5f3553c8f1a10cf8c1121495c3ea77aa5310a Mon Sep 17 00:00:00 2001 From: Peter Forstmeier <peter.forstmeier@t-online.de> Date: Mon, 11 Jul 2011 16:00:27 +0200 Subject: [PATCH 092/168] TextAlignment for TextBlock in FixedDocumentCreator.cs --- .../Project/WPF/FixedDocumentCreator.cs | 66 ++++++++++++++++++- .../WpfReportViewer/WpfReportViewer.xaml | 8 ++- 2 files changed, 69 insertions(+), 5 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index 9ababfd4fb..6923ae4968 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -7,6 +7,7 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; +using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Windows; @@ -16,6 +17,11 @@ using System.Windows.Media; using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Globals; +using Brush = System.Windows.Media.Brush; +using FontFamily = System.Windows.Media.FontFamily; +using Image = System.Windows.Controls.Image; +using Pen = System.Windows.Media.Pen; +using Size = System.Windows.Size; namespace ICSharpCode.Reports.Core.WPF { @@ -254,10 +260,12 @@ namespace ICSharpCode.Reports.Core.WPF TextBlock CreateTextBlock(ExportText exportText) { TextBlock textBlock = new TextBlock(); + SetFont(textBlock, exportText.StyleDecorator); textBlock.TextWrapping = TextWrapping.Wrap; string [] inlines = exportText.Text.Split(System.Environment.NewLine.ToCharArray()); + for (int i = 0; i < inlines.Length; i++) { if (inlines[i].Length > 0) { textBlock.Inlines.Add(new Run(inlines[i])); @@ -265,13 +273,65 @@ namespace ICSharpCode.Reports.Core.WPF } } var li = textBlock.Inlines.LastInline; - textBlock.Inlines.Remove(li); - SetDimension(textBlock,exportText.StyleDecorator); + textBlock.Background = ConvertBrush(exportText.StyleDecorator.BackColor); + SetContendAlignment(textBlock,exportText.StyleDecorator); return textBlock; } - + + + private void SetContendAlignment(TextBlock textBlock,TextStyleDecorator decorator) + { + + switch (decorator.ContentAlignment) + { + case ContentAlignment.TopLeft: + textBlock.VerticalAlignment = VerticalAlignment.Top; + textBlock.TextAlignment = TextAlignment.Left; + + break; + case ContentAlignment.TopCenter: + textBlock.VerticalAlignment = VerticalAlignment.Top; + textBlock.TextAlignment = TextAlignment.Center; + + break; + case ContentAlignment.TopRight: + textBlock.VerticalAlignment = VerticalAlignment.Top; + textBlock.TextAlignment = TextAlignment.Right; + + break; + // Middle + case ContentAlignment.MiddleLeft: + textBlock.VerticalAlignment = VerticalAlignment.Center; + textBlock.TextAlignment = TextAlignment.Left; + + break; + case ContentAlignment.MiddleCenter: + textBlock.VerticalAlignment = VerticalAlignment.Center; + textBlock.TextAlignment = TextAlignment.Center; + + break; + case ContentAlignment.MiddleRight: + textBlock.VerticalAlignment = VerticalAlignment.Center; + textBlock.TextAlignment = TextAlignment.Right; + + break; + //Bottom + case ContentAlignment.BottomLeft: + textBlock.VerticalAlignment = VerticalAlignment.Bottom; + textBlock.TextAlignment = TextAlignment.Left; + break; + case ContentAlignment.BottomCenter: + textBlock.VerticalAlignment = VerticalAlignment.Bottom; + textBlock.TextAlignment = TextAlignment.Center; + break; + case ContentAlignment.BottomRight: + textBlock.VerticalAlignment = VerticalAlignment.Bottom; + textBlock.TextAlignment = TextAlignment.Right; + break; + } + } void SetFont(TextBlock textBlock, TextStyleDecorator styleDecorator) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml index 49f3eaaea2..cd514f9ce2 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml @@ -1,10 +1,14 @@ <?xml version="1.0" encoding="utf-8"?> <UserControl - x:Class="ICSharpCode.Reports.Core.WpfReportViewer.WpfReportViewer" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + x:Class="ICSharpCode.Reports.Core.WpfReportViewer.WpfReportViewer" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid> <DocumentViewer x:Name="DocumentViewer" - Document="{Binding Path=DataContext.Document,
			PresentationTraceSources.TraceLevel=High,
			RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" + Document="{Binding Path=DataContext.Document, + PresentationTraceSources.TraceLevel=High, + RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" SnapsToDevicePixels="True"></DocumentViewer> From 5a414db60692b9ddaa81e7e7772888067ebab34d Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Tue, 12 Jul 2011 20:30:09 +0200 Subject: [PATCH 093/168] work on GapList.cs --- .../SampleReports/Ilist/ContributorsList.srd | 305 +++++++++--------- .../SharpReportSamples/ContributorsList.cs | 1 + .../src/SharpReportSamples/MainForm.cs | 6 +- .../Project/Exporter/BasePager.cs | 30 +- .../Converters/GroupedRowConverter.cs | 1 + .../Project/Exporter/FormPageBuilder.cs | 6 + .../Project/Exporter/GapList.cs | 14 +- .../Project/Globals/GlobalValues.cs | 80 +---- .../Project/WPF/FixedDocumentCreator.cs | 20 +- 9 files changed, 224 insertions(+), 239 deletions(-) diff --git a/samples/SharpDevelopReports/SampleReports/Ilist/ContributorsList.srd b/samples/SharpDevelopReports/SampleReports/Ilist/ContributorsList.srd index 1b7b660a2c..0426263d32 100644 --- a/samples/SharpDevelopReports/SampleReports/Ilist/ContributorsList.srd +++ b/samples/SharpDevelopReports/SampleReports/Ilist/ContributorsList.srd @@ -2,282 +2,279 @@ <ReportModel> <ReportSettings> <ReportSettings> - <DefaultFont>Microsoft Sans Serif, 10pt</DefaultFont> - <DataModel>PushData</DataModel> - <RightMargin>50</RightMargin> - <UseStandardPrinter>True</UseStandardPrinter> - <SortColumnCollection /> - <AvailableFieldsCollection /> - <NoDataMessage>No Data for this Report</NoDataMessage> + <ReportName>Report1</ReportName> + <ReportType>DataReport</ReportType> + <BottomMargin>50</BottomMargin> + <TopMargin>50</TopMargin> <LeftMargin>50</LeftMargin> + <RightMargin>50</RightMargin> <PageSize>827, 1169</PageSize> - <Padding>5, 5, 5, 5</Padding> - <BottomMargin>50</BottomMargin> - <CommandType>Text</CommandType> - <ParameterCollection /> <Landscape>False</Landscape> - <ReportName>Report1</ReportName> - <TopMargin>50</TopMargin> - <GroupColumnsCollection /> <GraphicsUnit>Millimeter</GraphicsUnit> - <CommandText /> - <ReportType>DataReport</ReportType> + <Padding>5, 5, 5, 5</Padding> + <AvailableFieldsCollection /> + <SortColumnsCollection /> + <GroupColumnsCollection /> + <ParameterCollection /> <ConnectionString /> + <CommandText /> + <CommandType>Text</CommandType> + <DataModel>PushData</DataModel> + <NoDataMessage>No Data for this Report</NoDataMessage> + <DefaultFont>Microsoft Sans Serif, 10pt</DefaultFont> + <UseStandardPrinter>True</UseStandardPrinter> </ReportSettings> </ReportSettings> <SectionCollection> <BaseSection> + <Location>50, 50</Location> <Size>786, 35</Size> - <Name>ReportHeader</Name> - <PageBreakAfter>False</PageBreakAfter> - <SectionMargin>50</SectionMargin> - <SectionOffset>0</SectionOffset> <BackColor>Window</BackColor> - <Items /> - <Location>50, 50</Location> + <SectionOffset>0</SectionOffset> + <SectionMargin>50</SectionMargin> <DrawBorder>False</DrawBorder> + <PageBreakAfter>False</PageBreakAfter> + <Items /> + <FrameColor>Black</FrameColor> + <Name>ReportHeader</Name> </BaseSection> <BaseSection> + <Location>50, 100</Location> <Size>786, 108</Size> - <Name>ReportPageHeader</Name> - <PageBreakAfter>False</PageBreakAfter> - <SectionMargin>50</SectionMargin> - <SectionOffset>0</SectionOffset> <BackColor>Window</BackColor> + <SectionOffset>0</SectionOffset> + <SectionMargin>50</SectionMargin> + <DrawBorder>False</DrawBorder> + <PageBreakAfter>False</PageBreakAfter> <Items> <BaseTextItem> + <Location>429, 63</Location> + <Size>100, 20</Size> <BackColor>White</BackColor> - <CanShrink>False</CanShrink> + <Font>Microsoft Sans Serif, 12pt, style=Bold</Font> <StringTrimming>None</StringTrimming> - <Text>Job</Text> - <Location>429, 63</Location> <ContentAlignment>TopLeft</ContentAlignment> - <Visible>True</Visible> - <DrawBorder>False</DrawBorder> - <Font>Microsoft Sans Serif, 12pt, style=Bold</Font> <CanGrow>False</CanGrow> - <FormatString /> - <Name>Job</Name> + <CanShrink>False</CanShrink> + <Text>Job</Text> + <DrawBorder>False</DrawBorder> <FrameColor>WindowFrame</FrameColor> - <Size>100, 20</Size> <ForeColor>ControlText</ForeColor> + <Visible>True</Visible> + <Name>Job</Name> </BaseTextItem> <BaseTextItem> + <Location>234, 63</Location> + <Size>100, 20</Size> <BackColor>White</BackColor> - <CanShrink>False</CanShrink> + <Font>Microsoft Sans Serif, 12pt, style=Bold</Font> <StringTrimming>None</StringTrimming> - <Text>Lastname</Text> - <Location>234, 63</Location> <ContentAlignment>TopLeft</ContentAlignment> - <Visible>True</Visible> - <DrawBorder>False</DrawBorder> - <Font>Microsoft Sans Serif, 12pt, style=Bold</Font> <CanGrow>False</CanGrow> - <FormatString /> - <Name>Lastname</Name> + <CanShrink>False</CanShrink> + <Text>Lastname</Text> + <DrawBorder>False</DrawBorder> <FrameColor>WindowFrame</FrameColor> - <Size>100, 20</Size> <ForeColor>ControlText</ForeColor> + <Visible>True</Visible> + <Name>Lastname</Name> </BaseTextItem> <BaseImageItem> - <ImageSource>File</ImageSource> <Location>47, 6</Location> - <Name>ReportImageControl</Name> <Size>661, 42</Size> - <ScaleImageToSize>False</ScaleImageToSize> <BackColor>Window</BackColor> - <RelativeFileName>..\..\..\..\..\..\SharpDevelop3.0_CHECKOUT\SharpDevelop\samples\SharpDevelopReports\SampleReports\Logos\Bannerbeige2.gif</RelativeFileName> - <ImageFileName>D:\SharpDevelop3.0_CHECKOUT\SharpDevelop\samples\SharpDevelopReports\SampleReports\Logos\Bannerbeige2.gif</ImageFileName> + <ImageFileName>D:\git_Sharpdevelop_Reporting\samples\SharpDevelopReports\SampleReports\Logos\Bannerbeige2.gif</ImageFileName> + <ScaleImageToSize>False</ScaleImageToSize> + <ImageSource>File</ImageSource> + <RelativeFileName>..\..\Logos\Bannerbeige2.gif</RelativeFileName> + <Name>ReportImageControl</Name> </BaseImageItem> <BaseLineItem> - <StartLineCap>Flat</StartLineCap> - <FromPoint>0, 3</FromPoint> <Location>47, 87</Location> - <Name /> <Size>661, 18</Size> - <EndLineCap>Flat</EndLineCap> - <DashStyle>Solid</DashStyle> <BackColor>White</BackColor> - <DashLineCap>Flat</DashLineCap> <ForeColor>ControlText</ForeColor> + <FromPoint>0, 3</FromPoint> <ToPoint>614, 3</ToPoint> + <StartLineCap>Flat</StartLineCap> + <EndLineCap>Flat</EndLineCap> + <DashLineCap>Flat</DashLineCap> + <DashStyle>Solid</DashStyle> <Thickness>2</Thickness> + <Name /> </BaseLineItem> <BaseTextItem> + <Location>46, 63</Location> + <Size>109, 20</Size> <BackColor>White</BackColor> - <CanShrink>False</CanShrink> + <Font>Microsoft Sans Serif, 12pt, style=Bold</Font> <StringTrimming>EllipsisCharacter</StringTrimming> - <Text>Firstname</Text> - <Location>46, 63</Location> <ContentAlignment>TopLeft</ContentAlignment> - <Visible>True</Visible> - <DrawBorder>False</DrawBorder> - <Font>Microsoft Sans Serif, 12pt, style=Bold</Font> <CanGrow>False</CanGrow> - <FormatString /> - <Name>reportTextItem1</Name> + <CanShrink>False</CanShrink> + <Text>Firstname</Text> + <DrawBorder>False</DrawBorder> <FrameColor>WindowFrame</FrameColor> - <Size>109, 20</Size> <ForeColor>ControlText</ForeColor> + <Visible>True</Visible> + <Name>reportTextItem1</Name> </BaseTextItem> </Items> - <Location>50, 100</Location> - <DrawBorder>False</DrawBorder> + <FrameColor>Black</FrameColor> + <Name>ReportPageHeader</Name> </BaseSection> <BaseSection> - <Size>750, 51</Size> - <Name>ReportDetail</Name> - <PageBreakAfter>False</PageBreakAfter> - <SectionMargin>50</SectionMargin> - <SectionOffset>0</SectionOffset> + <Location>50, 223</Location> + <Size>750, 60</Size> <BackColor>Window</BackColor> + <SectionOffset>0</SectionOffset> + <SectionMargin>50</SectionMargin> + <DrawBorder>False</DrawBorder> + <PageBreakAfter>False</PageBreakAfter> <Items> <BaseRowItem> <Location>3, 10</Location> - <AlternateBackColor /> - <Name>Row</Name> + <Size>699, 47</Size> + <BackColor>White</BackColor> + <DrawBorder>False</DrawBorder> + <ForeColor>ControlText</ForeColor> + <Visible>True</Visible> + <FrameColor>WindowFrame</FrameColor> <Items> <BaseDataItem> - <DataType>System.String</DataType> - <Text>First</Text> - <Font>Microsoft Sans Serif, 10pt</Font> <Location>43, 12</Location> + <Size>147, 25</Size> + <BackColor>White</BackColor> + <Font>Microsoft Sans Serif, 10pt</Font> + <StringTrimming>EllipsisCharacter</StringTrimming> + <ContentAlignment>MiddleLeft</ContentAlignment> <CanGrow>False</CanGrow> + <CanShrink>False</CanShrink> + <DataType>System.String</DataType> + <Text>First</Text> + <DrawBorder>False</DrawBorder> + <FrameColor>WindowFrame</FrameColor> <ForeColor>ControlText</ForeColor> - <StringTrimming>EllipsisCharacter</StringTrimming> + <Visible>True</Visible> <ColumnName>First</ColumnName> - <DrawBorder>False</DrawBorder> - <CanShrink>False</CanShrink> - <ContentAlignment>MiddleLeft</ContentAlignment> - <BackColor>White</BackColor> - <FormatString /> <Name>unbound1</Name> - <Visible>True</Visible> - <Size>147, 25</Size> - <FrameColor>WindowFrame</FrameColor> </BaseDataItem> <BaseDataItem> - <DataType>System.String</DataType> - <Text>last</Text> - <Font>Microsoft Sans Serif, 10pt</Font> <Location>231, 12</Location> - <CanGrow>False</CanGrow> - <ForeColor>ControlText</ForeColor> + <Size>139, 25</Size> + <BackColor>White</BackColor> + <Font>Microsoft Sans Serif, 10pt</Font> <StringTrimming>EllipsisCharacter</StringTrimming> - <ColumnName>last</ColumnName> - <DrawBorder>False</DrawBorder> - <CanShrink>False</CanShrink> <ContentAlignment>MiddleLeft</ContentAlignment> - <BackColor>White</BackColor> - <FormatString /> - <Name>unbound2</Name> - <Visible>True</Visible> - <Size>139, 25</Size> + <CanGrow>False</CanGrow> + <CanShrink>False</CanShrink> + <DataType>System.String</DataType> + <Text>Last</Text> + <DrawBorder>False</DrawBorder> <FrameColor>WindowFrame</FrameColor> + <ForeColor>ControlText</ForeColor> + <Visible>True</Visible> + <ColumnName>Last</ColumnName> + <Name>unbound2</Name> </BaseDataItem> <BaseDataItem> - <DataType>System.String</DataType> - <Text>Job</Text> - <Font>Microsoft Sans Serif, 10pt</Font> <Location>426, 10</Location> + <Size>216, 25</Size> + <BackColor>White</BackColor> + <Font>Microsoft Sans Serif, 10pt</Font> + <StringTrimming>EllipsisCharacter</StringTrimming> + <ContentAlignment>MiddleLeft</ContentAlignment> <CanGrow>False</CanGrow> + <CanShrink>False</CanShrink> + <DataType>System.String</DataType> + <Text>Job</Text> + <DrawBorder>False</DrawBorder> + <FrameColor>WindowFrame</FrameColor> <ForeColor>ControlText</ForeColor> - <StringTrimming>EllipsisCharacter</StringTrimming> + <Visible>True</Visible> <ColumnName>Job</ColumnName> - <DrawBorder>False</DrawBorder> <NullValue>--------------</NullValue> - <CanShrink>False</CanShrink> - <ContentAlignment>MiddleLeft</ContentAlignment> - <BackColor>White</BackColor> - <FormatString /> <Name>unbound3</Name> - <Visible>True</Visible> - <Size>216, 25</Size> - <FrameColor>WindowFrame</FrameColor> </BaseDataItem> </Items> - <DrawBorder>False</DrawBorder> + <AlternateBackColor /> <ChangeBackColorEveryNRow>0</ChangeBackColorEveryNRow> - <FrameColor>WindowFrame</FrameColor> - <Size>699, 40</Size> - <BackColor>White</BackColor> - <Visible>True</Visible> - <ForeColor>ControlText</ForeColor> + <Name>Row</Name> </BaseRowItem> </Items> - <Location>50, 223</Location> - <DrawBorder>False</DrawBorder> + <FrameColor>Black</FrameColor> + <Name>ReportDetail</Name> </BaseSection> <BaseSection> + <Location>50, 298</Location> <Size>750, 49</Size> - <Name>ReportPageFooter</Name> - <PageBreakAfter>False</PageBreakAfter> - <SectionMargin>50</SectionMargin> - <SectionOffset>0</SectionOffset> <BackColor>Window</BackColor> + <SectionOffset>0</SectionOffset> + <SectionMargin>50</SectionMargin> + <DrawBorder>False</DrawBorder> + <PageBreakAfter>False</PageBreakAfter> <Items> <BaseTextItem> + <Location>45, 24</Location> + <Size>483, 20</Size> <BackColor>White</BackColor> - <CanShrink>False</CanShrink> + <Font>Microsoft Sans Serif, 8.25pt</Font> <StringTrimming>None</StringTrimming> - <Text>=Globals!ReportFolder</Text> - <Location>45, 24</Location> <ContentAlignment>TopLeft</ContentAlignment> - <Visible>True</Visible> - <DrawBorder>False</DrawBorder> - <Font>Microsoft Sans Serif, 8.25pt</Font> <CanGrow>False</CanGrow> - <FormatString /> - <Name>=Globals!ReportFolder</Name> + <CanShrink>False</CanShrink> + <Text>=Globals!ReportFolder</Text> + <DrawBorder>False</DrawBorder> <FrameColor>WindowFrame</FrameColor> - <Size>483, 20</Size> <ForeColor>ControlText</ForeColor> + <Visible>True</Visible> + <Name>=Globals!ReportFolder</Name> </BaseTextItem> <BaseLineItem> - <StartLineCap>Flat</StartLineCap> - <FromPoint>0, 0</FromPoint> <Location>45, 3</Location> - <Name>object_177a5444_b8e0_4202_87d2_05cdc7cd1194</Name> <Size>663, 15</Size> - <EndLineCap>Flat</EndLineCap> - <DashStyle>Solid</DashStyle> <BackColor>White</BackColor> - <DashLineCap>Flat</DashLineCap> <ForeColor>ControlText</ForeColor> + <FromPoint>0, 0</FromPoint> <ToPoint>656, 0</ToPoint> + <StartLineCap>Flat</StartLineCap> + <EndLineCap>Flat</EndLineCap> + <DashLineCap>Flat</DashLineCap> + <DashStyle>Solid</DashStyle> <Thickness>2</Thickness> + <Name>object_177a5444_b8e0_4202_87d2_05cdc7cd1194</Name> </BaseLineItem> <BaseTextItem> + <Location>602, 24</Location> + <Size>100, 20</Size> <BackColor>White</BackColor> - <CanShrink>False</CanShrink> + <Font>Microsoft Sans Serif, 8.25pt</Font> <StringTrimming>None</StringTrimming> - <Text>='Page ' + Globals!PageNumber</Text> - <Location>602, 24</Location> <ContentAlignment>TopLeft</ContentAlignment> - <Visible>True</Visible> - <DrawBorder>False</DrawBorder> - <Font>Microsoft Sans Serif, 8.25pt</Font> <CanGrow>False</CanGrow> - <FormatString /> - <Name>='Page ' + Globals!PageNumber</Name> + <CanShrink>False</CanShrink> + <Text>='Page ' + Globals!PageNumber</Text> + <DrawBorder>False</DrawBorder> <FrameColor>WindowFrame</FrameColor> - <Size>100, 20</Size> <ForeColor>ControlText</ForeColor> + <Visible>True</Visible> + <Name>='Page ' + Globals!PageNumber</Name> </BaseTextItem> </Items> - <Location>50, 289</Location> - <DrawBorder>False</DrawBorder> + <FrameColor>Black</FrameColor> + <Name>ReportPageFooter</Name> </BaseSection> <BaseSection> + <Location>50, 362</Location> <Size>750, 55</Size> - <Name>ReportFooter</Name> - <PageBreakAfter>False</PageBreakAfter> - <SectionMargin>50</SectionMargin> - <SectionOffset>0</SectionOffset> <BackColor>Window</BackColor> - <Items /> - <Location>50, 353</Location> + <SectionOffset>0</SectionOffset> + <SectionMargin>50</SectionMargin> <DrawBorder>False</DrawBorder> + <PageBreakAfter>False</PageBreakAfter> + <Items /> + <FrameColor>Black</FrameColor> + <Name>ReportFooter</Name> </BaseSection> </SectionCollection> </ReportModel> \ No newline at end of file diff --git a/samples/SharpDevelopReports/src/SharpReportSamples/ContributorsList.cs b/samples/SharpDevelopReports/src/SharpReportSamples/ContributorsList.cs index e3f44d5bb9..a21a80ae0e 100644 --- a/samples/SharpDevelopReports/src/SharpReportSamples/ContributorsList.cs +++ b/samples/SharpDevelopReports/src/SharpReportSamples/ContributorsList.cs @@ -41,6 +41,7 @@ namespace SharpReportSamples list.Add(new Contributor("Nathan","Allen","")); list.Add(new Contributor("Troy","Simpson","Prg.")); list.Add(new Contributor("David","Alpert","Prg.")); + list.Add(new Contributor("Fred","Flintstone",null)); return list; } } diff --git a/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs b/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs index 29d01db355..1e021521b9 100644 --- a/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs +++ b/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs @@ -153,9 +153,9 @@ namespace SharpReportSamples private void RunContributors (string fileName) { ReportModel model = ReportEngine.LoadReportModel(fileName); - Console.WriteLine(model.ReportSettings.PageSize); - model.ReportSettings.PageSize = new Size(model.ReportSettings.PageSize.Width,400); - Console.WriteLine(model.ReportSettings.PageSize); +// Console.WriteLine(model.ReportSettings.PageSize); +// model.ReportSettings.PageSize = new Size(model.ReportSettings.PageSize.Width,400); +// Console.WriteLine(model.ReportSettings.PageSize); // sorting is done here, but, be carefull, misspelled fieldnames will cause an exception diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index a70a899f1b..85efff506a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -18,6 +18,8 @@ namespace ICSharpCode.Reports.Core.Exporter { private PagesCollection pages; private readonly object pageLock = new object(); + +// private Point currentBottom; public event EventHandler<PageCreatedEventArgs> PageCreated; public event EventHandler<SectionRenderEventArgs> SectionRendering; @@ -75,9 +77,11 @@ namespace ICSharpCode.Reports.Core.Exporter #region Converters + protected ExporterCollection ConvertSection (BaseSection section,int dataRow) { + Point currentBottom = Point.Empty; FireSectionRenderEvent (section ,dataRow); PrintHelper.AdjustParent(section,section.Items); PrintHelper.AdjustSectionLocation(section); @@ -103,11 +107,10 @@ namespace ICSharpCode.Reports.Core.Exporter { ISimpleContainer simpleContainer = item as ISimpleContainer; -// Offset = new Point(Offset.X,Offset.Y + gapCalculator.GapBetweenItems[i] ); - 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); @@ -116,27 +119,40 @@ namespace ICSharpCode.Reports.Core.Exporter LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer); /* * */ -// Console.WriteLine("--"); + + + /* section.Items.ForEach(delegate(BaseReportItem aitem) { // Console.WriteLine(item.Location); }); var h = section.Items.FindHighestElement(); - section.MeasureOverride(section.Size); - /* - * */ - + */ + section.MeasureOverride(section.Size); + /** */ Offset = BaseConverter.ConvertContainer(convertedSection,simpleContainer,Offset.X,Offset); simpleContainer.Size = containerSize; } else { var converteditem = ExportHelper.ConvertLineItem(item,Offset); + + if (converteditem.StyleDecorator.DisplayRectangle.Bottom > currentBottom.Y) { + currentBottom = new Point(converteditem.StyleDecorator.Location.X,converteditem.StyleDecorator.DisplayRectangle.Bottom); + } + convertedSection.Add((BaseExportColumn)converteditem ); + } i ++; } Offset = new Point (Offset.X,Offset.Y + gapCalculator.LastGap); +// Offset = new Point (Offset.X,Offset.Y + 5); + + if (currentBottom.Y > Offset.Y) { + Offset = new Point (Offset.X,currentBottom.Y); + } +// Offset = new Point (Offset.X,Offset.Y + gapCalculator.LastGap); } SectionBounds.Offset = Offset; return convertedSection; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index c38825f200..d037f96c60 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -58,6 +58,7 @@ namespace ICSharpCode.Reports.Core.Exporter { ExporterCollection exporterCollection = new ExporterCollection(); base.CurrentPosition = base.SectionBounds.Offset; + var p = base.CurrentPosition; BaseSection section = parent as BaseSection; DefaultLeftPosition = parent.Location.X; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs index 7e271194de..55c642b6cd 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs @@ -46,9 +46,12 @@ namespace ICSharpCode.Reports.Core.Exporter { 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); } } @@ -57,13 +60,16 @@ namespace ICSharpCode.Reports.Core.Exporter 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); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/GapList.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/GapList.cs index c32ac5db39..c3c2c4d43c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/GapList.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/GapList.cs @@ -27,6 +27,9 @@ namespace ICSharpCode.Reports.Core.Exporter for (int i = 0; i < section.Items.Count; i++) { GapBetweenItems[i] = CalculateGap(oldItem,section.Items[i]); } + for (int i = 0; i < section.Items.Count; i++) { + Console.WriteLine(GapBetweenItems[i]); + } GapBetweenItems[section.Items.Count] = CalculateLastGap(section); } @@ -35,8 +38,15 @@ namespace ICSharpCode.Reports.Core.Exporter { if (oldItem == item) { return 0; - } else { - return item.Location.Y - (oldItem.Location.Y + oldItem.Size.Height) ; + } + else + { + if (oldItem.Location.Y + oldItem.Size.Height < item.Location.Y ) { + return item.Location.Y - (oldItem.Location.Y + oldItem.Size.Height) ; + } else + { + return 0; + } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs index 81ffb9788a..a75a35c943 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs @@ -31,6 +31,9 @@ namespace ICSharpCode.Reports.Core.Globals private const string tableName = "Table"; private const int defaultZoomfactor = 1; private const int gapBetweenRows = 1; + //WPF + private const double defaultCornerRadius = 2; + private static double defaulThickness = 2; private GlobalValues() { @@ -39,7 +42,6 @@ namespace ICSharpCode.Reports.Core.Globals #region some usefull functions and methodes - private static bool IsSpoolerRunning() { ServiceController[] services; @@ -74,22 +76,6 @@ namespace ICSharpCode.Reports.Core.Globals #endregion - #region Formatting - /// <summary> - /// Build a StringFormat witch is used allover the code to - /// Format all String's the same way. - /// </summary> - /// <returns>a StringFormat object</returns> - /* - public static StringFormat StandardStringFormat() - { - StringFormat sFormat = StringFormat.GenericTypographic; - sFormat.FormatFlags |= StringFormatFlags.LineLimit; - return sFormat; - } - */ - #endregion - #region numeric Constant /// <summary> @@ -107,12 +93,8 @@ namespace ICSharpCode.Reports.Core.Globals /// The default Size of a Section /// used in <see cref="ReportGenerator" /// </summary> - public static int DefaultSectionHeight - { - get { - return 60; - } - } + public static int DefaultSectionHeight {get {return 60;}} + /// <summary> /// Default zoom Factor for all typ's of preview @@ -125,12 +107,7 @@ namespace ICSharpCode.Reports.Core.Globals - public static Size PreferedSize - { - get { - return new Size(100,20); - } - } + public static Size PreferedSize {get {return new Size(100,20);}} public static Size DefaultPageSize {get {return new Size(827,1169);}} @@ -142,15 +119,6 @@ namespace ICSharpCode.Reports.Core.Globals #region String Constant's - /* - public static string ReportString - { - get { - return reportString; - } - } - */ - public static string ReportExtension { get { @@ -172,10 +140,7 @@ namespace ICSharpCode.Reports.Core.Globals } } -// public static string UnboundName -// { -// get {return unbound;} -// } + public static string TableName { @@ -184,29 +149,9 @@ namespace ICSharpCode.Reports.Core.Globals } } - /* - public static string FunctionStartTag - { - get {return "{=";} - } - - - public static string FunctionEndTag - { - get {return "}";} - } - */ - - /* - public static string StringParserStartTag - { - get {return "${";} - - } - */ - #endregion + #region Printing public static int GapBetweenContainer { @@ -291,6 +236,15 @@ namespace ICSharpCode.Reports.Core.Globals #endregion + + #region Wpf + + public static double DefaultCornerRadius {get {return defaultCornerRadius;}} + public static double DefaultBorderThickness {get {return defaulThickness;}} + + #endregion + + #region Icons /// <summary> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index 9ababfd4fb..5da5cb6e68 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -79,8 +79,12 @@ namespace ICSharpCode.Reports.Core.WPF var text = column as ExportText; if (text != null) { var t = CreateTextBlock(text); + if (column.StyleDecorator.DrawBorder) { - border = CreateBorder(column.StyleDecorator as BaseStyleDecorator); + border = CreateBorder(column.StyleDecorator as BaseStyleDecorator, + GlobalValues.DefaultBorderThickness, + GlobalValues.DefaultCornerRadius ); + border.Child = t; element = border; } @@ -104,12 +108,12 @@ namespace ICSharpCode.Reports.Core.WPF #region GraphicsElement (Line etc) - System.Windows.Controls.Border CreateBorder( BaseStyleDecorator column) + System.Windows.Controls.Border CreateBorder( BaseStyleDecorator column,double thickness,double cornerRadius) { var border = new System.Windows.Controls.Border(); border.Padding = new Thickness(1); - border.BorderThickness = new Thickness(2); - border.CornerRadius = new CornerRadius(2); + border.BorderThickness = new Thickness(thickness); + border.CornerRadius = new CornerRadius(cornerRadius); border.BorderBrush = ConvertBrush(column.ForeColor); return border; } @@ -157,13 +161,9 @@ namespace ICSharpCode.Reports.Core.WPF } else { - - var border = CreateBorder(decorator as BaseStyleDecorator); - RectangleShape rs = decorator.Shape as RectangleShape; - border.CornerRadius = new CornerRadius(rs.CornerRadius); - - border.BorderThickness = new Thickness(decorator.Thickness); + var border = CreateBorder(decorator as BaseStyleDecorator,decorator.Thickness,rs.CornerRadius); + border.BorderBrush = ConvertBrush(decorator.ForeColor); border.Background = ConvertBrush(decorator.BackColor); From 49058b5423e72e0c55d76a5e405c890a6a04950a Mon Sep 17 00:00:00 2001 From: Peter Forstmeier <peter.forstmeier@t-online.de> Date: Wed, 13 Jul 2011 07:45:49 +0200 Subject: [PATCH 094/168] Typos --- .../Project/WPF/FixedDocumentCreator.cs | 95 +++++++++---------- 1 file changed, 44 insertions(+), 51 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs index 38658c385f..c0285e6d4e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs @@ -281,57 +281,50 @@ namespace ICSharpCode.Reports.Core.WPF } - private void SetContendAlignment(TextBlock textBlock,TextStyleDecorator decorator) - { - - switch (decorator.ContentAlignment) - { - case ContentAlignment.TopLeft: - textBlock.VerticalAlignment = VerticalAlignment.Top; - textBlock.TextAlignment = TextAlignment.Left; - - break; - case ContentAlignment.TopCenter: - textBlock.VerticalAlignment = VerticalAlignment.Top; - textBlock.TextAlignment = TextAlignment.Center; - - break; - case ContentAlignment.TopRight: - textBlock.VerticalAlignment = VerticalAlignment.Top; - textBlock.TextAlignment = TextAlignment.Right; - - break; - // Middle - case ContentAlignment.MiddleLeft: - textBlock.VerticalAlignment = VerticalAlignment.Center; - textBlock.TextAlignment = TextAlignment.Left; - - break; - case ContentAlignment.MiddleCenter: - textBlock.VerticalAlignment = VerticalAlignment.Center; - textBlock.TextAlignment = TextAlignment.Center; - - break; - case ContentAlignment.MiddleRight: - textBlock.VerticalAlignment = VerticalAlignment.Center; - textBlock.TextAlignment = TextAlignment.Right; - - break; - //Bottom - case ContentAlignment.BottomLeft: - textBlock.VerticalAlignment = VerticalAlignment.Bottom; - textBlock.TextAlignment = TextAlignment.Left; - break; - case ContentAlignment.BottomCenter: - textBlock.VerticalAlignment = VerticalAlignment.Bottom; - textBlock.TextAlignment = TextAlignment.Center; - break; - case ContentAlignment.BottomRight: - textBlock.VerticalAlignment = VerticalAlignment.Bottom; - textBlock.TextAlignment = TextAlignment.Right; - break; - } - } + private void SetContendAlignment(TextBlock textBlock,TextStyleDecorator decorator) + { + switch (decorator.ContentAlignment) + { + case ContentAlignment.TopLeft: + textBlock.VerticalAlignment = VerticalAlignment.Top; + textBlock.TextAlignment = TextAlignment.Left; + break; + case ContentAlignment.TopCenter: + textBlock.VerticalAlignment = VerticalAlignment.Top; + textBlock.TextAlignment = TextAlignment.Center; + break; + case ContentAlignment.TopRight: + textBlock.VerticalAlignment = VerticalAlignment.Top; + textBlock.TextAlignment = TextAlignment.Right; + break; + // Middle + case ContentAlignment.MiddleLeft: + textBlock.VerticalAlignment = VerticalAlignment.Center; + textBlock.TextAlignment = TextAlignment.Left; + break; + case ContentAlignment.MiddleCenter: + textBlock.VerticalAlignment = VerticalAlignment.Center; + textBlock.TextAlignment = TextAlignment.Center; + break; + case ContentAlignment.MiddleRight: + textBlock.VerticalAlignment = VerticalAlignment.Center; + textBlock.TextAlignment = TextAlignment.Right; + break; + //Bottom + case ContentAlignment.BottomLeft: + textBlock.VerticalAlignment = VerticalAlignment.Bottom; + textBlock.TextAlignment = TextAlignment.Left; + break; + case ContentAlignment.BottomCenter: + textBlock.VerticalAlignment = VerticalAlignment.Bottom; + textBlock.TextAlignment = TextAlignment.Center; + break; + case ContentAlignment.BottomRight: + textBlock.VerticalAlignment = VerticalAlignment.Bottom; + textBlock.TextAlignment = TextAlignment.Right; + break; + } + } void SetFont(TextBlock textBlock, TextStyleDecorator styleDecorator) From 0e34617bb6f17d73330e457d3f794926dfeec114 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier <peter.forstmeier@t-online.de> Date: Wed, 13 Jul 2011 12:00:55 +0200 Subject: [PATCH 095/168] More FormatStrings --- .../Project/Globals/GlobalLists.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs index 917c24f334..c4f164beaf 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs @@ -138,9 +138,19 @@ namespace ICSharpCode.Reports.Core.Globals } private static readonly string[] FormatList = new string[] { "", - "#,##0", "#,##0.00", "0", "0.00", "", "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", + "#,##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", From 0ba960753106e54f2e2cc3382d65a5558cb7728a Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Thu, 14 Jul 2011 20:24:25 +0200 Subject: [PATCH 096/168] DropPost for SDR from caverna https://github.com/icsharpcode/SharpDevelop/pull/15/files --- .../Project/Commands/ExplorerCommands.cs | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ExplorerCommands.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ExplorerCommands.cs index 614dc35f4b..a4fa821065 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ExplorerCommands.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ExplorerCommands.cs @@ -66,17 +66,26 @@ namespace ICSharpCode.Reports.Addin.Commands { public override void Run() { - ReportExplorerPad r = this.Owner as ReportExplorerPad; - if (r != null) { - ParameterCollection par = r.ReportModel.ReportSettings.ParameterCollection; + ReportExplorerPad pad = this.Owner as ReportExplorerPad; + if (pad != null) { + ParameterCollection par = pad.ReportModel.ReportSettings.ParameterCollection; - using (ParameterDialog e = new ParameterDialog(par)) { - e.ShowDialog(); - if (e.DialogResult == System.Windows.Forms.DialogResult.OK) { + using (ParameterDialog paramDialog = new ParameterDialog(par)) { + paramDialog.ShowDialog(); + if (paramDialog.DialogResult == System.Windows.Forms.DialogResult.OK) { + /* foreach (BasicParameter bp in e.Collection as ParameterCollection){ r.ReportModel.ReportSettings.ParameterCollection.Add (bp); } - r.RefreshParameters(); + */ + foreach (BasicParameter bp in new System.Collections.ArrayList(paramDialog.Collection)) + { + if (bp.ParameterName != null) + { + pad.ReportModel.ReportSettings.ParameterCollection.Add (bp); + } + } + pad.RefreshParameters(); } } } From 4c9c7a0b8345d75c954ae299c39e3f3fd253ad73 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 15 Jul 2011 21:43:36 +0200 Subject: [PATCH 097/168] VisibleInReport can switch visibility of ReportItems --- .../Project/Designer/DesignerHelper.cs | 6 ++- .../Project/ReportItems/AbstractItem.cs | 7 ++- .../Project/ReportItems/BaseCircleItem.cs | 1 - .../Project/ReportItems/BaseSection.cs | 45 +++++-------------- .../TypeProviders/DataItemTypeProvider.cs | 2 +- .../TypeProviders/TextItemTypeProvider.cs | 2 +- .../ReportLayout/AbstractLayout.cs | 3 +- .../BaseClasses/Printing/PrintHelper.cs | 2 - .../Project/BaseItems/BaseDataItem.cs | 2 +- .../Project/BaseItems/BaseReportItem.cs | 4 +- .../Project/BaseItems/BaseRowItem.cs | 2 +- .../Project/BaseItems/BaseSection.cs | 2 + .../Project/BaseItems/BaseTextItem.cs | 1 + .../BaseItems/Graphics/BaseImageItem.cs | 2 +- .../Project/Exporter/BasePager.cs | 12 +++-- .../Exporter/Converters/BaseConverter.cs | 2 - .../ExportColumns/BaseExportColumn.cs | 6 +-- .../Project/Exporter/ExportHelper.cs | 35 +++++++++------ .../Project/Exporter/FormPageBuilder.cs | 10 ++--- .../Project/Interfaces/IReportItem.cs | 21 ++------- .../Project/Printing/AbstractDataRenderer.cs | 3 +- .../Project/ReportSettings.cs | 1 - 22 files changed, 74 insertions(+), 97 deletions(-) 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 daaaf92fd3..9901d53931 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 @@ -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); 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 77adcf5271..ef79ecd92e 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 @@ -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 { InitializeComponent(); TypeDescriptor.AddProvider(new AbstractItemTypeProvider(), typeof(AbstractItem)); + VisibleInReport = true; } @@ -69,6 +68,10 @@ namespace ICSharpCode.Reports.Addin protected new Size DefaultSize {get;set;} + + + public bool VisibleInReport {get;set;} + #endregion [System.ComponentModel.EditorBrowsableAttribute()] 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 c0627f722b..c7620b39eb 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 @@ -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 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 ba62dfb6f8..59154c6c54 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 @@ -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 [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 #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 } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/DataItemTypeProvider.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/DataItemTypeProvider.cs index 26e447a63a..1616992a35 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/DataItemTypeProvider.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/DataItemTypeProvider.cs @@ -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); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs index f75c462075..42bb3412f0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs @@ -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); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs index fddd1d53ca..c7484a215d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs @@ -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); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs index 36df8ec8b5..a7eba8b2cb 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs @@ -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 { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs index 3090f8219f..de73827cad 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs @@ -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 diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs index 361bd0e70f..b92537a0b4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs @@ -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 { #region Properties +// public bool Visible {get;set;} - public virtual bool Visible {get;set;} + public bool VisibleInReport {get;set;} public bool CanGrow {get;set;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs index 6f63d61b4b..5c976ed1ad 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs @@ -24,7 +24,7 @@ namespace ICSharpCode.Reports.Core{ public BaseRowItem():base() { - base.Visible = true; +// base.Visible = true; } #region IExportColumnBuilder implementation diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs index aa273ee193..3e6c1c1956 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs @@ -117,6 +117,8 @@ namespace ICSharpCode.Reports.Core public int SectionMargin {get;set;} + public virtual int SectionOffset {get;set;} + public ReportItemCollection Items { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs index c560b094c7..f10d5a9741 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs @@ -31,6 +31,7 @@ namespace ICSharpCode.Reports.Core this.stringFormat = StringFormat.GenericTypographic; this.contentAlignment = ContentAlignment.TopLeft; this.stringTrimming = StringTrimming.None; + VisibleInReport = true; } #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs index dbfe522dbd..bf9ca80668 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs @@ -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 diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 85efff506a..3658e467d6 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -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 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 ++; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index d486f648ac..ce0a1b4073 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -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; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs index b28243f46f..7b09982c31 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs @@ -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 protected virtual void Decorate() { - RectangleShape shape = new RectangleShape(); - + var shape = new RectangleShape(); shape.DrawShape(this.PdfWriter.DirectContent, null, this.StyleDecorator, ConvertToPdfRectangle()); this.DrawFrame(); - } #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs index 0a02c75405..acba4e9620 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs @@ -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 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; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs index 55c642b6cd..4c6e93191f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs @@ -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); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IReportItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IReportItem.cs index 26a0e961cf..6edd0e6f2f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IReportItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IReportItem.cs @@ -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; - } - - } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs index 2c90153ded..9346b31775 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs @@ -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 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 1b428ec726..066659fb17 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs @@ -125,7 +125,6 @@ namespace ICSharpCode.Reports.Core{ } - #region BaseSettings [Category("Base Settings")] From 1324b33b00a1db2211dc1b5ee771fea934515d07 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Sun, 17 Jul 2011 19:15:10 +0200 Subject: [PATCH 098/168] Handle expressions like 'a = x + y', adjust UnitTest's --- .../ICSharpCode.Reports.Core.csproj | 1 + .../Project/Exporter/BasePager.cs | 2 +- .../Project/Expressions/EvaluationHelper.cs | 44 +++--- .../Expressions/ExpressionEvaluatorFacade.cs | 49 +++++- .../Expressions/IExpressionEvaluatorFacade.cs | 1 + .../ReportingLanguageCompiler.cs | 18 ++- .../Project/Globals/StringHelpers.cs | 142 ++++++++++++++++++ .../Project/Xml/MycroParser.cs | 135 ----------------- .../ICSharpCode.Reports.Core.Test.csproj | 1 - .../ExpressionEvaluatorFixture.cs | 24 +++ .../AggregateFunctionsFixture.cs | 13 +- .../IntegrationTests/ConcatFieldsFixture.cs | 22 +-- .../IntegrationTests/FieldReferenceFixture.cs | 46 ------ .../IntegrationTests/SimpleCompilerFixture.cs | 9 +- .../IntegrationTests/UserFunctionsFixture.cs | 4 +- .../AggregateFunctionsFixture.cs | 10 +- 16 files changed, 268 insertions(+), 253 deletions(-) create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/StringHelpers.cs delete mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/FieldReferenceFixture.cs diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index 5e1a205a7f..8edb7490e2 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -292,6 +292,7 @@ <Compile Include="Project\Globals\GraphicsUnit.cs" /> <Compile Include="Project\Globals\PdfHelper.cs" /> <Compile Include="Project\Globals\ReportSectionNames.cs" /> + <Compile Include="Project\Globals\StringHelpers.cs" /> <Compile Include="Project\Globals\UnitConverter.cs" /> <Compile Include="Project\Interfaces\IDataAccessStrategy.cs" /> <Compile Include="Project\Interfaces\IDataViewStrategy.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 3658e467d6..4ab3b034ac 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -247,7 +247,7 @@ namespace ICSharpCode.Reports.Core.Exporter IReportExpression expressionItem = exportColumn as IReportExpression; if (expressionItem != null) { - EvaluationHelper.EvaluateItem(evaluatorFassade,expressionItem); + evaluatorFassade.Evaluate(expressionItem); } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs index b6541bb9a7..92da9d795e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs @@ -9,6 +9,7 @@ using System; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.Exporter; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; using SimpleExpressionEvaluator; @@ -17,7 +18,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage /// <summary> /// Description of EvaluationHelper. /// </summary> - public class EvaluationHelper + internal class EvaluationHelper { public static IExpressionEvaluatorFacade SetupEvaluator () @@ -32,11 +33,6 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage throw new ArgumentNullException("singlePage"); } - /* - if (dataNavigator == null) { - throw new ArgumentNullException("dataNavigator"); - } - * */ singlePage.IDataNavigator = dataNavigator; IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(singlePage); return evaluatorFacade; @@ -45,7 +41,8 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage public static void EvaluateReportItems (IExpressionEvaluatorFacade evaluator,ReportItemCollection items) { - foreach(BaseReportItem column in items) { + foreach(BaseReportItem column in items) + { var container = column as ISimpleContainer ; if (container != null) { EvaluateReportItems(evaluator,container.Items); @@ -53,26 +50,11 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage IReportExpression expressionItem = column as IReportExpression; if (expressionItem != null) { - EvaluateItem(evaluator,expressionItem); + evaluator.Evaluate(expressionItem); } } } - public static void EvaluateItem( IExpressionEvaluatorFacade evaluator,IReportExpression expressionItem) - { - string expr = String.Empty; - if (expressionItem != null) - { - if (!String.IsNullOrEmpty(expressionItem.Expression)) { - expr = expressionItem.Expression; - } else { - expr = expressionItem.Text; - } - } - - expressionItem.Text = evaluator.Evaluate(expr); - } - public static void EvaluateRow(IExpressionEvaluatorFacade evaluator,ExporterCollection row) { @@ -81,9 +63,10 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage if (container != null) { EvaluateRow(evaluator,container.Items); } + IReportExpression expressionItem = column as IReportExpression; if (expressionItem != null) { - EvaluateItem(evaluator,expressionItem); + evaluator.Evaluate(expressionItem); } } } @@ -96,5 +79,18 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage } return false; } + + + public static string ExtractExpressionPart (string src) + { + char v = Convert.ToChar("="); + return StringHelpers.RightOf(src,v).Trim(); + } + + public static string ExtractResultPart (string src) + { + char v = Convert.ToChar("="); + return StringHelpers.LeftOf(src,v).Trim(); + } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs index 209affd732..9d22cbe1ab 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs @@ -2,6 +2,8 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; using SimpleExpressionEvaluator; using SimpleExpressionEvaluator.Evaluation; @@ -33,10 +35,18 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage public string Evaluate (string expression) { try { - if (EvaluationHelper.CanEvaluate(expression)) { - this.context.ContextObject = this.SinglePage; - return EvaluateExpression(expression); + + string s = EvaluationHelper.ExtractExpressionPart(expression); + if (s.Length > 0) { + this.context.ContextObject =this.SinglePage ; + return EvaluateExpression (s); } + +// if (EvaluationHelper.CanEvaluate(expression)) { +// this.context.ContextObject = this.SinglePage; +// return EvaluateExpression(expression); +// } + } catch (Exception e) { expression = e.Message; WriteLogMessage(e); @@ -45,7 +55,23 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage return expression; } + public string Evaluate (string expression, object row) + { + try { + string s = EvaluationHelper.ExtractExpressionPart(expression); + if (s.Length > 0) { + this.context.ContextObject = row; + return EvaluateExpression (s); + } + } catch (Exception e) { + expression = e.Message; + WriteLogMessage(e); + } + + return expression; + } + /* public string Evaluate (string expression, object row) { try { @@ -60,6 +86,23 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage return expression; } + */ + + public void Evaluate (IReportExpression expressionItem) + { + if (expressionItem == null) { + throw new ArgumentException("expressionItem"); + } + string expr = String.Empty; + if (!String.IsNullOrEmpty(expressionItem.Expression)) { + expr = expressionItem.Expression; + } else { + expr = expressionItem.Text; + } + + expressionItem.Text = Evaluate(expr); + } + string EvaluateExpression(string expression) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/IExpressionEvaluatorFacade.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/IExpressionEvaluatorFacade.cs index 43ef8adc63..468c95d3a7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/IExpressionEvaluatorFacade.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/IExpressionEvaluatorFacade.cs @@ -14,6 +14,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage { string Evaluate (string expression); string Evaluate (string expression, object row); + void Evaluate (IReportExpression expressionItem); IPageInfo SinglePage {get;set;} } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguageCompiler.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguageCompiler.cs index 1b78ecbadf..e468845d58 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguageCompiler.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguageCompiler.cs @@ -30,12 +30,28 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage //Don't call base public override IExpression<T> CompileExpression<T>(string expression) + { + if (String.IsNullOrEmpty(expression)) { + return null; + } + ParseTree node = this.compiler.Parse(expression); + if (node.Root == null) { + return null; + } + return CompileExpression<T>(node.Root); + } + + + /* + public override IExpression<T> CompileExpression<T>(string expression) { if (String.IsNullOrEmpty(expression)) { return null; } string cleaned = CleanupExpressionString(expression); + + if (!String.IsNullOrEmpty(cleaned)) { ParseTree node = this.compiler.Parse(cleaned); if (node.Root == null) { @@ -56,7 +72,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage } return str.TrimStart (delim.ToCharArray()); } - + */ // Dron't call base protected override IExpression<T> CompileExpression<T>(ParseTreeNode root) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/StringHelpers.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/StringHelpers.cs new file mode 100644 index 0000000000..1dfd76fd83 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/StringHelpers.cs @@ -0,0 +1,142 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 16.07.2011 + * Time: 19:46 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; + +namespace ICSharpCode.Reports.Core.Globals +{ + public class StringHelpers + { + /// <summary> + /// Left of the first occurance of c + /// </summary> + /// <param name="src"></param> + /// <param name="c"></param> + /// <returns></returns> + public static string LeftOf(string src, char c) + { + int idx=src.IndexOf(c); + if (idx==-1) + { + return src; + } + + return src.Substring(0, idx); + } + + /// <summary> + /// Left of the n'th occurance of c + /// </summary> + /// <param name="src"></param> + /// <param name="c"></param> + /// <param name="n"></param> + /// <returns></returns> + public static string LeftOf(string src, char c, int n) + { + int idx=-1; + while (n != 0) + { + idx=src.IndexOf(c, idx+1); + if (idx==-1) + { + return src; + } + --n; + } + return src.Substring(0, idx); + } + + /// <summary> + /// Right of the first occurance of c + /// </summary> + /// <param name="src"></param> + /// <param name="c"></param> + /// <returns></returns> + public static string RightOf(string src, char c) + { + int idx=src.IndexOf(c); + if (idx==-1) + { + return ""; + } + + return src.Substring(idx+1); + } + + /// <summary> + /// Right of the n'th occurance of c + /// </summary> + /// <param name="src"></param> + /// <param name="c"></param> + /// <returns></returns> + public static string RightOf(string src, char c, int n) + { + int idx=-1; + while (n != 0) + { + idx=src.IndexOf(c, idx+1); + if (idx==-1) + { + return ""; + } + --n; + } + + return src.Substring(idx+1); + } + + public static string LeftOfRightmostOf(string src, char c) + { + int idx=src.LastIndexOf(c); + if (idx==-1) + { + return src; + } + return src.Substring(0, idx); + } + + public static string RightOfRightmostOf(string src, char c) + { + int idx=src.LastIndexOf(c); + if (idx==-1) + { + return src; + } + return src.Substring(idx+1); + } + + public static string Between(string src, char start, char end) + { + string res=String.Empty; + int idxStart=src.IndexOf(start); + if (idxStart != -1) + { + ++idxStart; + int idxEnd=src.IndexOf(end, idxStart); + if (idxEnd != -1) + { + res=src.Substring(idxStart, idxEnd-idxStart); + } + } + return res; + } + + public static int Count(string src, char find) + { + int ret=0; + foreach(char s in src) + { + if (s==find) + { + ++ret; + } + } + return ret; + } + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Xml/MycroParser.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Xml/MycroParser.cs index 86b15db844..6047a6717e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Xml/MycroParser.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Xml/MycroParser.cs @@ -220,140 +220,5 @@ namespace ICSharpCode.Reports.Core } } - - #region StringHelpers - /// <summary> - /// Helpers for string manipulation. - /// </summary> - public class StringHelpers - { - /// <summary> - /// Left of the first occurance of c - /// </summary> - /// <param name="src"></param> - /// <param name="c"></param> - /// <returns></returns> - public static string LeftOf(string src, char c) - { - int idx=src.IndexOf(c); - if (idx==-1) - { - return src; - } - - return src.Substring(0, idx); - } - - /// <summary> - /// Left of the n'th occurance of c - /// </summary> - /// <param name="src"></param> - /// <param name="c"></param> - /// <param name="n"></param> - /// <returns></returns> - public static string LeftOf(string src, char c, int n) - { - int idx=-1; - while (n != 0) - { - idx=src.IndexOf(c, idx+1); - if (idx==-1) - { - return src; - } - --n; - } - return src.Substring(0, idx); - } - - /// <summary> - /// Right of the first occurance of c - /// </summary> - /// <param name="src"></param> - /// <param name="c"></param> - /// <returns></returns> - public static string RightOf(string src, char c) - { - int idx=src.IndexOf(c); - if (idx==-1) - { - return ""; - } - - return src.Substring(idx+1); - } - - /// <summary> - /// Right of the n'th occurance of c - /// </summary> - /// <param name="src"></param> - /// <param name="c"></param> - /// <returns></returns> - public static string RightOf(string src, char c, int n) - { - int idx=-1; - while (n != 0) - { - idx=src.IndexOf(c, idx+1); - if (idx==-1) - { - return ""; - } - --n; - } - - return src.Substring(idx+1); - } - - public static string LeftOfRightmostOf(string src, char c) - { - int idx=src.LastIndexOf(c); - if (idx==-1) - { - return src; - } - return src.Substring(0, idx); - } - - public static string RightOfRightmostOf(string src, char c) - { - int idx=src.LastIndexOf(c); - if (idx==-1) - { - return src; - } - return src.Substring(idx+1); - } - - public static string Between(string src, char start, char end) - { - string res=String.Empty; - int idxStart=src.IndexOf(start); - if (idxStart != -1) - { - ++idxStart; - int idxEnd=src.IndexOf(end, idxStart); - if (idxEnd != -1) - { - res=src.Substring(idxStart, idxEnd-idxStart); - } - } - return res; - } - - public static int Count(string src, char find) - { - int ret=0; - foreach(char s in src) - { - if (s==find) - { - ++ret; - } - } - return ret; - } - } - #endregion } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj index c7af51019c..ce12c82bdd 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj @@ -93,7 +93,6 @@ <Compile Include="ReportingLanguage\IntegrationTests\AggregateFunctionsFixture.cs" /> <Compile Include="ReportingLanguage\IntegrationTests\AggregateFunctionsFromIListFixture.cs" /> <Compile Include="ReportingLanguage\IntegrationTests\ConcatFieldsFixture.cs" /> - <Compile Include="ReportingLanguage\IntegrationTests\FieldReferenceFixture.cs" /> <Compile Include="ReportingLanguage\IntegrationTests\GlobalFunctions.cs" /> <Compile Include="ReportingLanguage\IntegrationTests\SimpleCompilerFixture.cs" /> <Compile Include="ReportingLanguage\IntegrationTests\SubstringFixture.cs" /> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/ExpressionEvaluatorFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/ExpressionEvaluatorFixture.cs index 0f38f88265..d3d91f9c08 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/ExpressionEvaluatorFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/ExpressionEvaluatorFixture.cs @@ -28,6 +28,30 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage } + [Test] + public void ExtractExpressionPartFromString() + { + const string expression = "c = 5 + 3"; + Assert.That(EvaluationHelper.ExtractExpressionPart(expression),Is.EqualTo("5 + 3")); + } + + + [Test] + public void MissingEqualSignReturnsEmptyString () + { + const string expression = "5 + 3"; + Assert.That(EvaluationHelper.ExtractExpressionPart(expression),Is.EqualTo(String.Empty)); + } + + + [Test] + public void ExtractResultPartFromString() + { + const string expression = "c = 5 + 3"; + Assert.That(EvaluationHelper.ExtractResultPart(expression),Is.EqualTo("c")); + } + + [Test] public void SimpleEvaluation () { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/AggregateFunctionsFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/AggregateFunctionsFixture.cs index a279e64ebe..13020791f5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/AggregateFunctionsFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/AggregateFunctionsFixture.cs @@ -71,8 +71,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests { const string expression = "=count(intvalue,current > 2)"; - Assert.That(this.evaluator.Evaluate(expression), - Is.EqualTo("2")); + Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo("2")); } // [Test] @@ -139,16 +138,6 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests #endregion - - #region test - private void settest () - { - - } - - #endregion - - [TestFixtureSetUp] public void Init() { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/ConcatFieldsFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/ConcatFieldsFixture.cs index 237cf319d1..54db4e75a9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/ConcatFieldsFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/ConcatFieldsFixture.cs @@ -19,15 +19,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests private SinglePage singlePage; private IDataManager dataManager; - - [Test] - public void CheckTable () - { - Assert.AreEqual(4,this.testTable.Rows.Count); - } - [Test] - public void Return_FieldName_If_DataNavigator_Invalid() { const string expression = "=Fields!Name"; @@ -37,7 +29,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests [Test] - public void Can_Compile_Misspelled_Simple_FieldReference() + public void Misspelled_Simple_FieldReference() { const string expression = "=fields!Name"; Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo("Name")); @@ -54,10 +46,8 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo(testVal)); } - - + [Test] - [Ignore] public void Unkown_ColumnName () { const string expression = "=Fields!Unknown"; @@ -66,14 +56,16 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests [Test] - [IgnoreAttribute] - public void ExtractFieldbyName () + public void Extract_Field_ByName () { const string expression = "=Fields!Name"; + DataRow r = testTable.Rows[0]; + string result = r["Name"].ToString(); Assert.That(this.evaluator.Evaluate(expression), - Is.EqualTo(this.testTable.Rows.Count.ToString())); + Is.EqualTo(result)); } + [TestFixtureSetUp] public void Init() { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/FieldReferenceFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/FieldReferenceFixture.cs deleted file mode 100644 index 9c7ad93cde..0000000000 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/FieldReferenceFixture.cs +++ /dev/null @@ -1,46 +0,0 @@ -// 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 ICSharpCode.Reports.Expressions.ReportingLanguage; -using NUnit.Framework; -using SimpleExpressionEvaluator; -using SimpleExpressionEvaluator.Evaluation; -using SimpleExpressionEvaluator.Utilities; - - -namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests -{ - [TestFixture] - public class FieldReferenceFixture - { - - private IExpressionEvaluatorFacade evaluator; - - [Test] - [IgnoreAttribute] - public void Can_Compile_Simple_FieldReference() - { - const string expression = "=Fields!Field1"; - Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo("Field1")); - } - - - [Test] - [IgnoreAttribute] - public void Can_Concat_Simple_FieldReference() - { - const string expression = "=Fields!Field1 + 'SharpDevelopReporting'"; - Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo("Field1SharpDevelopReporting")); - } - - - - [TestFixtureSetUp] - public void Init() - { - this.evaluator = new ExpressionEvaluatorFacade(TestHelper.CreateSinglePage()); -// this.evaluator.SinglePage = TestHelper.CreateSinglePage(); - } - } -} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SimpleCompilerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SimpleCompilerFixture.cs index 5a3c7617fd..1d00f0e841 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SimpleCompilerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SimpleCompilerFixture.cs @@ -33,13 +33,6 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage } - [Test] - public void Can_Handle_Null_Expression() - { - const string expression = null; - Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo(null)); - } - #endregion #region SyntaxError @@ -60,7 +53,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage public void Can_Compile_Simple_Number() { const string expression = " =1.1"; - Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo(expression)); + Assert.That(this.evaluator.Evaluate(expression),Is.StringStarting("1")); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/UserFunctionsFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/UserFunctionsFixture.cs index f850e8b031..f736a8066d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/UserFunctionsFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/UserFunctionsFixture.cs @@ -18,7 +18,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests public void UserNameFunction () { BaseTextItem bti = new BaseTextItem(); - bti.Text = "=User!UserID"; + bti.Text = "User!UserID"; IExpression compiled = this.compiler.CompileExpression<object>(bti.Text); Assert.That(compiled.Evaluate(null), Is.EqualTo(Environment.UserName)); } @@ -28,7 +28,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests public void UserLanguageFunction () { BaseTextItem bti = new BaseTextItem(); - bti.Text = "=User!Language"; + bti.Text = "User!Language"; IExpression compiled = this.compiler.CompileExpression<object>(bti.Text); Assert.That(compiled.Evaluate(null), Is.EqualTo(System.Globalization.CultureInfo.CurrentCulture.ThreeLetterISOLanguageName)); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/LanguageTests/AggregateFunctionsFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/LanguageTests/AggregateFunctionsFixture.cs index d4a66267a3..00179393b7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/LanguageTests/AggregateFunctionsFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/LanguageTests/AggregateFunctionsFixture.cs @@ -15,7 +15,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.LanguageTests { [Test] - public void Test_Sum() + public void Array_Sum() { var data = new[] {1, 2, 4, 8, 16, 32, 64, 128}; var eStr = "sum()"; @@ -25,7 +25,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.LanguageTests } [Test] - public void Average_Test() + public void Array_Average() { var data = new[] {2, 4, 6}; var eStr = "avg()"; @@ -36,7 +36,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.LanguageTests [Test] - public void Average_Handles_Divide_By_Zero() + public void Array_Handles_Divide_By_Zero() { var data = new int[]{}; var eStr = "average()"; @@ -119,7 +119,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.LanguageTests [Test] - public void Min_Test() + public void Array_Min() { var data = new[] { 10, 7, 3, 9 }; var eStr = "min()"; @@ -129,7 +129,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.LanguageTests } [Test] - public void Max_Test() + public void Array_Max() { var data = new[] { 10, 7, 3, 9 }; var eStr = "max(current,current * 2)"; From a63e8b1de28ecf05a8e76f97d045a8513297b524 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Tue, 19 Jul 2011 20:31:17 +0200 Subject: [PATCH 099/168] Use ExpressionEvaluator to follow Properties in CollectionStrategy, Split Expressions in Result / Expression part --- .../ListStrategy/CollectionStrategy.cs | 72 +++++++++++++++++-- .../Expressions/ExpressionEvaluatorFacade.cs | 2 +- .../ReportingLanguageCompiler.cs | 1 + .../ListStrategy/GroupListFixture.cs | 2 - .../ExpressionEvaluatorFixture.cs | 2 + .../IntegrationTests/ConcatFieldsFixture.cs | 7 -- .../IntegrationTests/SimpleCompilerFixture.cs | 1 + .../LanguageTests/ConditionalFixture.cs | 7 +- 8 files changed, 77 insertions(+), 17 deletions(-) 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 481deb0ae2..a8e5385180 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 @@ -7,6 +7,8 @@ using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using System.Reflection; +using SimpleExpressionEvaluator.Utilities; + /// <summary> /// This Class handles all List's with IList @@ -209,6 +211,43 @@ namespace ICSharpCode.Reports.Core { } + private void FillInternal(object fillFrom,IDataItem item) + { + if (item is BaseDataItem) + { + string result = String.Empty; + PropertyPath path = fillFrom.ParsePropertyPath(item.ColumnName); + if (path != null) + { + var pp = path.Evaluate(fillFrom); + if (pp != null) + { + result = pp.ToString(); + } + } else + { + result = WrongColumnName(item.ColumnName); + } + + item.DBValue = result; + } + else + { + //image processing from IList + BaseImageItem baseImageItem = item as BaseImageItem; + + if (baseImageItem != null) { + PropertyDescriptor p = this.listProperties.Find(baseImageItem.ColumnName, true); + if (p != null) { + baseImageItem.Image = p.GetValue(this.Current) as System.Drawing.Image; + } + return; + } + + } + } + + /* private void FillInternal(object fillFrom,IDataItem item) { if (item is BaseDataItem) @@ -236,7 +275,7 @@ namespace ICSharpCode.Reports.Core { } } - + */ public override void Fill(IDataItem item) { @@ -247,7 +286,7 @@ namespace ICSharpCode.Reports.Core { //http://stackoverflow.com/questions/366332/best-way-to-get-sub-properties-using-getproperty - + /* private static object FollowPropertyPath(object value, string path) { Type currentType = value.GetType(); @@ -267,7 +306,7 @@ namespace ICSharpCode.Reports.Core { } return value; } - + */ #endregion @@ -283,7 +322,32 @@ namespace ICSharpCode.Reports.Core { return this.baseList[pos]; } + public override CurrentItemsCollection FillDataRow(int pos) + { + CurrentItemsCollection ci = new CurrentItemsCollection(); + var obj = CurrentFromPosition(pos); + if (obj != null) + { + CurrentItem currentItem = null; + foreach (PropertyDescriptor pd in this.listProperties) + { + currentItem = new CurrentItem(); + currentItem.ColumnName = pd.Name; + currentItem.DataType = pd.PropertyType; + + PropertyPath prop = obj.ParsePropertyPath(pd.Name); + if (prop != null) + { + var pp = prop.Evaluate(obj); + currentItem.Value = pp.ToString(); + } + ci.Add(currentItem); + } + } + return ci; + } + /* public override CurrentItemsCollection FillDataRow(int pos) { CurrentItemsCollection ci = new CurrentItemsCollection(); @@ -311,7 +375,7 @@ namespace ICSharpCode.Reports.Core { } return ci; } - +*/ public override CurrentItemsCollection FillDataRow() diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs index 9d22cbe1ab..f7e2de8d9d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs @@ -38,7 +38,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage string s = EvaluationHelper.ExtractExpressionPart(expression); if (s.Length > 0) { - this.context.ContextObject =this.SinglePage ; + this.context.ContextObject = this.SinglePage ; return EvaluateExpression (s); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguageCompiler.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguageCompiler.cs index e468845d58..1eeb774fb8 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguageCompiler.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguageCompiler.cs @@ -175,6 +175,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage case "IfThen": IExpression condition = CompileExpressionNode(factory,astNode.ChildNodes[1].ChildNodes[0]); IExpression trueExpr = CompileExpressionNode(factory, astNode.ChildNodes[3]); +// IExpression falseExpr = CompileExpressionNode(factory, astNode.ChildNodes[3]); IExpression falseExpr = null; if (astNode.ChildNodes.Count == 6) falseExpr = CompileExpressionNode(factory, astNode.ChildNodes[5]); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs index 84b8b43637..985f153f81 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs @@ -174,8 +174,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(modifyedCollection,rs); IDataNavigator dataNavigator = dm.GetNavigator; -// IExpressionEvaluatorFacade evaluator = new ExpressionEvaluatorFacade(); - ReportItemCollection searchCol = new ReportItemCollection(); searchCol.Add(new BaseDataItem () diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/ExpressionEvaluatorFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/ExpressionEvaluatorFixture.cs index d3d91f9c08..15a51acb23 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/ExpressionEvaluatorFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/ExpressionEvaluatorFixture.cs @@ -51,6 +51,8 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage Assert.That(EvaluationHelper.ExtractResultPart(expression),Is.EqualTo("c")); } + + [Test] public void SimpleEvaluation () diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/ConcatFieldsFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/ConcatFieldsFixture.cs index 54db4e75a9..47243a6e74 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/ConcatFieldsFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/ConcatFieldsFixture.cs @@ -28,13 +28,6 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests } - [Test] - public void Misspelled_Simple_FieldReference() - { - const string expression = "=fields!Name"; - Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo("Name")); - } - [Test] public void Evaluate_If_DataNavigator_Is_Invalid() diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SimpleCompilerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SimpleCompilerFixture.cs index 1d00f0e841..d3950a6870 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SimpleCompilerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/SimpleCompilerFixture.cs @@ -66,6 +66,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage #endregion + #region Setup [SetUp] diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/LanguageTests/ConditionalFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/LanguageTests/ConditionalFixture.cs index 4c0c5b384c..c782866aa0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/LanguageTests/ConditionalFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/LanguageTests/ConditionalFixture.cs @@ -21,7 +21,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.LanguageTests Assert.That(expr.Evaluate(null), Is.EqualTo(1)); } - + [Test] public void Can_Parse_Basic_Conditional_False_Result() { @@ -30,8 +30,9 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.LanguageTests IExpression expr = compiler.CompileExpression<int>(expression); Assert.That(expr.Evaluate(null), Is.EqualTo(0)); } - - [Test] + + + [Test] public void Can_Parse_If_Then_Else() { const string expression = "if (false) then 1 else 2"; From fa3fe08d23d927378b360f092122e006aa1c64ac Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Fri, 22 Jul 2011 21:21:39 +0200 Subject: [PATCH 100/168] Fix some test's --- .../Project/Exporter/BasePager.cs | 146 ++++++++++++++++-- .../Project/Expressions/EvaluationHelper.cs | 1 + .../Expressions/ExpressionEvaluatorFacade.cs | 5 +- .../ListStrategy/IListDataManagerFixture.cs | 58 ------- .../AggregateFunctionsFixture.cs | 9 +- .../IntegrationTests/ConcatFieldsFixture.cs | 20 ++- 6 files changed, 151 insertions(+), 88 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 4ab3b034ac..046ac28c57 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -18,8 +18,6 @@ namespace ICSharpCode.Reports.Core.Exporter { private PagesCollection pages; private readonly object pageLock = new object(); - -// private Point currentBottom; public event EventHandler<PageCreatedEventArgs> PageCreated; public event EventHandler<SectionRenderEventArgs> SectionRendering; @@ -49,26 +47,35 @@ namespace ICSharpCode.Reports.Core.Exporter #region Create and Init new page - - protected ExporterPage InitNewPage () + protected void InitNewPage () { bool firstPage; - this.ReportModel.ReportSettings.LeftMargin = this.ReportModel.ReportSettings.LeftMargin; + if (this.Pages.Count == 0) { firstPage = true; } else { firstPage = false; } - SectionBounds sectionBounds = new SectionBounds (this.ReportModel.ReportSettings,firstPage); - ExporterPage sp = ExporterPage.CreateInstance(sectionBounds,this.pages.Count + 1); - return sp; + this.ReportModel.ReportSettings.LeftMargin = this.ReportModel.ReportSettings.LeftMargin; + var sectionBounds = new SectionBounds (this.ReportModel.ReportSettings,firstPage); + + this.SinglePage = ExporterPage.CreateInstance(sectionBounds,this.pages.Count + 1); + + if (this.EvaluatorFacade == null) + { + Console.WriteLine (""); + Console.WriteLine ("InitNewPage create evaluator"); + EvaluatorFacade = EvaluationHelper.CreateEvaluator(SinglePage,SinglePage.IDataNavigator); + } + EvaluatorFacade.SinglePage = this.SinglePage; } + protected virtual void BuildNewPage () { - this.SinglePage = this.InitNewPage(); + InitNewPage(); PrintHelper.InitPage(this.SinglePage,this.ReportModel.ReportSettings); this.SinglePage.CalculatePageBounds(this.ReportModel); } @@ -77,8 +84,6 @@ namespace ICSharpCode.Reports.Core.Exporter #region Converters - - protected ExporterCollection ConvertSection (BaseSection section,int dataRow) { Point currentBottom = Point.Empty; @@ -93,7 +98,91 @@ namespace ICSharpCode.Reports.Core.Exporter if (section.Items.Count > 0) { Size sectionSize = section.Size; + + Rectangle desiredRectangle = LayoutHelper.CalculateSectionLayout(this.Graphics,section); + LayoutHelper.FixSectionLayout(desiredRectangle,section); + section.Items.SortByLocation(); + GapList gapCalculator = new GapList(); + gapCalculator.CalculateGapList(section); + int i = 0; + + foreach (BaseReportItem item in section.Items) + { + ISimpleContainer simpleContainer = item as ISimpleContainer; + + if (simpleContainer != null) + { + Offset = new Point(Offset.X,Offset.Y + gapCalculator.GapBetweenItems[i] ); + var containerSize = simpleContainer.Size; + + EvaluationHelper.EvaluateReportItems(EvaluatorFacade,simpleContainer.Items); + + var layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); + LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer); + /* + * */ + + + /* + section.Items.ForEach(delegate(BaseReportItem aitem) + { +// Console.WriteLine(item.Location); + }); + var h = section.Items.FindHighestElement(); + */ + section.MeasureOverride(section.Size); + /** */ + Offset = BaseConverter.ConvertContainer(convertedSection,simpleContainer,Offset.X,Offset); + simpleContainer.Size = containerSize; + } + 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 ++; + } + Offset = new Point (Offset.X,Offset.Y + gapCalculator.LastGap); +// Offset = new Point (Offset.X,Offset.Y + 5); + if (currentBottom.Y > Offset.Y) { + Offset = new Point (Offset.X,currentBottom.Y); + } +// Offset = new Point (Offset.X,Offset.Y + gapCalculator.LastGap); + } + SectionBounds.Offset = Offset; + return convertedSection; + } + + + protected ExporterCollection old_ConvertSection (BaseSection section,int dataRow) + { + Point currentBottom = Point.Empty; + FireSectionRenderEvent (section ,dataRow); + PrintHelper.AdjustParent(section,section.Items); + PrintHelper.AdjustSectionLocation(section); + + var convertedSection = new ExporterCollection(); + Offset = SectionBounds.Offset; + Point startOffset = Offset; + + if (section.Items.Count > 0) + { + Size sectionSize = section.Size; + Console.WriteLine ("BasePager-createEval for {0}",section.Name); IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); Rectangle desiredRectangle = LayoutHelper.CalculateSectionLayout(this.Graphics,section); @@ -220,6 +309,28 @@ namespace ICSharpCode.Reports.Core.Exporter if (this.Pages.Count == 0) { return; } + Console.WriteLine ("FinishRendereing create IExpressionEvaluatorFacade"); + + //IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(this.SinglePage); + //Evaluator.SinglePage = this.SinglePage; + foreach (ExporterPage page in this.pages) + { + page.TotalPages = this.Pages.Count; +// dataNavigator.Reset(); +// dataNavigator.MoveNext(); + page.IDataNavigator = dataNavigator; + EvaluatorFacade.SinglePage = page; + EvaluateRecursive(EvaluatorFacade,page.Items); + } + } + + /* + protected void FinishRendering (IDataNavigator dataNavigator) + { + if (this.Pages.Count == 0) { + return; + } + Console.WriteLine ("FinishRendereing create IExpressionEvaluatorFacade"); IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(this.SinglePage); @@ -231,7 +342,7 @@ namespace ICSharpCode.Reports.Core.Exporter EvaluateRecursive(evaluatorFacade,p.Items); } } - + */ private static void EvaluateRecursive (IExpressionEvaluatorFacade evaluatorFassade,ExporterCollection items) { @@ -244,7 +355,6 @@ namespace ICSharpCode.Reports.Core.Exporter EvaluateRecursive(evaluatorFassade,ec.Items); } } - IReportExpression expressionItem = exportColumn as IReportExpression; if (expressionItem != null) { evaluatorFassade.Evaluate(expressionItem); @@ -312,14 +422,17 @@ namespace ICSharpCode.Reports.Core.Exporter protected Graphics Graphics {get; private set;} + protected IExpressionEvaluatorFacade EvaluatorFacade {get; private set;} + + public IReportModel ReportModel {get;private set;} + + protected ExporterPage SinglePage {get;private set;} + protected SectionBounds SectionBounds { get { return SinglePage.SectionBounds; } } - public IReportModel ReportModel {get;set;} - - protected ExporterPage SinglePage {get;set;} public PagesCollection Pages { @@ -332,6 +445,7 @@ namespace ICSharpCode.Reports.Core.Exporter } } } + #endregion } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs index 92da9d795e..f78842459c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs @@ -33,6 +33,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage throw new ArgumentNullException("singlePage"); } + Console.WriteLine ("EvaluationHelper.CreateEvaluator"); singlePage.IDataNavigator = dataNavigator; IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(singlePage); return evaluatorFacade; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs index f7e2de8d9d..55b76e2571 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs @@ -23,6 +23,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage public ExpressionEvaluatorFacade(IPageInfo pageInfo) { + Console.WriteLine("Eval-fassade Constr"); compiler = new ReportingLanguageCompiler(); this.context = new ExpressionContext(null); context.ResolveUnknownVariable += VariableStore; @@ -59,7 +60,8 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage { try { string s = EvaluationHelper.ExtractExpressionPart(expression); - if (s.Length > 0) { + if (s.Length > 0) + { this.context.ContextObject = row; return EvaluateExpression (s); } @@ -67,7 +69,6 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage expression = e.Message; WriteLogMessage(e); } - return expression; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs index f43b0f9f2a..8ca6abecd5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs @@ -248,66 +248,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy #endregion - #region RangeEnumerator - /* - [Test] - public void RangeEnumeratorFromBeginToEnd() - { - IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,new ReportSettings()); - IDataNavigator dn = dm.GetNavigator; - int start = 0; - int end = 10; - System.Collections.IEnumerator en = dn.RangeEnumerator(start,end); - - while (en.MoveNext()) { - object o = en.Current; - Contributor view = en.Current as Contributor; - start++; - } - Assert.AreEqual(start -1,dn.CurrentRow); - } - - [Test] - public void RangeEnumeratFrom5To10 () - { - IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection, - new ReportSettings()); - - IDataNavigator dn = dm.GetNavigator; - int start = 5; - int end = 10; - System.Collections.IEnumerator en = dn.RangeEnumerator(start,end); - - while (en.MoveNext()) { - object o = en.Current; - //Contributor view = en.Current as Contributor; - start++; - } - Assert.AreEqual(start -1,dn.CurrentRow); - } - - [Test] - [ExpectedException(typeof(ArgumentException))] - public void RangeEnumeratorThrowExceptionIfStartGreateEnd () - { - IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection, - new ReportSettings()); - IDataNavigator dn = dm.GetNavigator; - int start = 10; - int end = 5; - System.Collections.IEnumerator en = dn.RangeEnumerator(start,end); - while (en.MoveNext()) { - object o = en.Current; - Contributor view = en.Current as Contributor; - start++; - } - Assert.AreEqual(start -1,dn.CurrentRow); - } - */ - #endregion #region get included class - ContributorCollection ModifyCollection () { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/AggregateFunctionsFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/AggregateFunctionsFixture.cs index 13020791f5..19a229c839 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/AggregateFunctionsFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/AggregateFunctionsFixture.cs @@ -74,16 +74,10 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo("2")); } -// [Test] -// [ExpectedException(typeof(FieldNotFoundException))] -// public void Throw_On_Unknown_Field () -// { -// const string expression = "=count(unknown)"; -// Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo(expression)); -// } #endregion + #region sum() [Test] @@ -99,7 +93,6 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests public void Can_Sum_Double () { const string expression = "=sum(amount)"; - //var s = this.evaluator.Evaluate(expression); Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo(this.doubleResult.ToString())); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/ConcatFieldsFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/ConcatFieldsFixture.cs index 47243a6e74..0c7b90e1c5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/ConcatFieldsFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/ConcatFieldsFixture.cs @@ -33,13 +33,15 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests public void Evaluate_If_DataNavigator_Is_Invalid() { const string expression = "=Fields!Name"; + this.singlePage.IDataNavigator.Reset(); this.singlePage.IDataNavigator.MoveNext(); DataRow row = testTable.Rows[0]; string testVal = row["Name"].ToString(); - Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo(testVal)); + var retVal = this.evaluator.Evaluate(expression); + Assert.That(retVal, Is.EqualTo(testVal)); } - + [Test] public void Unkown_ColumnName () { @@ -48,14 +50,23 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests } + [Test] + public void ConcatStringAndFuction () + { + const string expression = "='testvalue :' + count()"; + Assert.That(this.evaluator.Evaluate(expression),Is.StringStarting("test").And.StringEnding("")); + } + + [Test] public void Extract_Field_ByName () { const string expression = "=Fields!Name"; + this.singlePage.IDataNavigator.Reset(); + this.singlePage.IDataNavigator.MoveNext(); DataRow r = testTable.Rows[0]; string result = r["Name"].ToString(); - Assert.That(this.evaluator.Evaluate(expression), - Is.EqualTo(result)); + Assert.That(this.evaluator.Evaluate(expression),Is.EqualTo(result)); } @@ -71,6 +82,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests this.dataManager = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.testTable, new ReportSettings()); this.singlePage.IDataNavigator = this.dataManager.GetNavigator; + } [TestFixtureTearDown] From 7aeb62194ba4969f6937d7002f301c00a6066a05 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier <peter.forstmeier@t-online.de> Date: Sat, 23 Jul 2011 11:26:21 +0200 Subject: [PATCH 101/168] Expressions run on <List> works again --- .../Project/BaseClasses/CurrentItem.cs | 6 +++++- .../ListStrategy/CollectionStrategy.cs | 17 ++++++++--------- .../DataManager/ListStrategy/TableStrategy.cs | 4 +--- .../Expressions/ExpressionEvaluatorFacade.cs | 7 ++++--- .../AggregateFunctions/AggregateFunction.cs | 6 +++--- 5 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/CurrentItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/CurrentItem.cs index 066fa36e2d..70387fc353 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/CurrentItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/CurrentItem.cs @@ -8,7 +8,11 @@ namespace ICSharpCode.Reports.Core { public class CurrentItem : AbstractColumn { - + public CurrentItem (string name,Type dataType):base(name,dataType) + { + + } + public object Value{get;set;} } } 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 a8e5385180..3a824232b0 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 @@ -213,7 +213,8 @@ namespace ICSharpCode.Reports.Core { private void FillInternal(object fillFrom,IDataItem item) { - if (item is BaseDataItem) + + if (item is BaseDataItem) { string result = String.Empty; PropertyPath path = fillFrom.ParsePropertyPath(item.ColumnName); @@ -331,15 +332,15 @@ namespace ICSharpCode.Reports.Core { CurrentItem currentItem = null; foreach (PropertyDescriptor pd in this.listProperties) { - currentItem = new CurrentItem(); - currentItem.ColumnName = pd.Name; - currentItem.DataType = pd.PropertyType; - + currentItem = new CurrentItem(pd.Name, pd.PropertyType); PropertyPath prop = obj.ParsePropertyPath(pd.Name); if (prop != null) { var pp = prop.Evaluate(obj); - currentItem.Value = pp.ToString(); + if (pp != null) + { + currentItem.Value = pp.ToString(); + } } ci.Add(currentItem); } @@ -385,9 +386,7 @@ namespace ICSharpCode.Reports.Core { CurrentItem c = null; foreach (PropertyDescriptor pd in this.listProperties) { - c = new CurrentItem(); - c.ColumnName = pd.Name; - c.DataType = pd.PropertyType; + c = new CurrentItem(pd.Name,pd.PropertyType); var s = pd.GetValue(this.Current); if (s != null) { 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 830796f659..31ee035231 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 @@ -125,9 +125,7 @@ namespace ICSharpCode.Reports.Core if (row != null) { CurrentItem c = null; foreach (DataColumn dc in table.Columns) { - c = new CurrentItem(); - c.ColumnName = dc.ColumnName; - c.DataType = dc.DataType; + c = new CurrentItem(dc.ColumnName,dc.DataType); c.Value = row[dc.ColumnName]; ci.Add(c); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs index f7e2de8d9d..9523c90307 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs @@ -25,7 +25,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage { compiler = new ReportingLanguageCompiler(); this.context = new ExpressionContext(null); - context.ResolveUnknownVariable += VariableStore; + context.ResolveUnknownVariable += VariableStore; context.ResolveMissingFunction += FunctionStore; SinglePage = pageInfo; compiler.SinglePage = pageInfo; @@ -37,7 +37,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage try { string s = EvaluationHelper.ExtractExpressionPart(expression); - if (s.Length > 0) { + if (s.Length > 0) { this.context.ContextObject = this.SinglePage ; return EvaluateExpression (s); } @@ -107,7 +107,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage string EvaluateExpression(string expression) { - IExpression compiled = compiler.CompileExpression<string>(expression); + IExpression compiled = compiler.CompileExpression<string>(expression); if (compiled != null) { return (compiled.Evaluate(context)).ToString(); } @@ -120,6 +120,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage Console.WriteLine(""); Console.WriteLine("ExpressionEvaluatorFacade.Evaluate"); Console.WriteLine(e.Message); + Console.WriteLine(e.TargetSite); Console.WriteLine(""); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs index 6394f958d5..a1ab2a0670 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs @@ -111,14 +111,14 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.AggregateFunctions { navigator.Reset(); List<object> list = new List<object>(); - while ( navigator.MoveNext()) { + while ( navigator.MoveNext()) + { CurrentItemsCollection row = navigator.GetDataRow; CurrentItem currentItem = ExtractItemFromDataSet (row,data); if (currentItem != null) { object s1 = Convert.ToString(currentItem.Value.ToString(),CultureInfo.CurrentCulture); -// Console.WriteLine("\tSetup DataSource value = {0}", s1.ToString()); if (IsNumeric(s1)) { list.Add(Convert.ToDouble(s1,System.Globalization.CultureInfo.CurrentCulture)); } else { @@ -126,7 +126,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.AggregateFunctions } } else { - string str = String.Format ("<{0}> not found in AggregateFunction",data.ToString()); + string str = String.Format ("<{0}> not found in AggregateFunction.SetupDataSource",data.ToString()); throw new FieldNotFoundException(str); } } From e80c438678c2ff93ce2c5881a145624194ce085f Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Tue, 26 Jul 2011 20:38:24 +0200 Subject: [PATCH 102/168] Add PostFilterProperties to Designer's --- .../Project/Designer/ContainerItemDesigner.cs | 6 ++++++ .../Project/Designer/DataItemDesigner.cs | 7 +++++++ .../Project/Designer/DesignerHelper.cs | 1 + .../Project/Designer/GroupedRowDesigner.cs | 8 ++++++++ .../Project/Designer/ImageDesigner.cs | 6 ++++++ .../Project/Designer/LineDesigner.cs | 7 +++++++ .../Project/Designer/SectionDesigner.cs | 7 +++++++ .../Project/Designer/ShapeDesigner.cs | 7 +++++++ .../Project/Designer/TableDesigner.cs | 8 ++++---- .../Project/Designer/TextItemDesigner.cs | 6 ++++++ 10 files changed, 59 insertions(+), 4 deletions(-) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ContainerItemDesigner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ContainerItemDesigner.cs index 2c91442ec7..ef51e54c56 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ContainerItemDesigner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ContainerItemDesigner.cs @@ -34,6 +34,12 @@ namespace ICSharpCode.Reports.Addin.Designer GetService (); } + protected override void PostFilterProperties(System.Collections.IDictionary properties) + { + DesignerHelper.RemoveProperties(properties); + base.PostFilterProperties(properties); + } + protected override void OnDragDrop(DragEventArgs de) { 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 a32b08bd6d..0f18d6f74c 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 @@ -24,6 +24,13 @@ namespace ICSharpCode.Reports.Addin.Designer GetService(); } + protected override void PostFilterProperties(System.Collections.IDictionary properties) + { + DesignerHelper.RemoveProperties(properties); + base.PostFilterProperties(properties); + } + + #region SmartTags public override DesignerActionListCollection ActionLists { 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 9901d53931..1fed3d38cc 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 @@ -48,6 +48,7 @@ namespace ICSharpCode.Reports.Addin.Designer properties.Remove("TabStop"); properties.Remove("Tag"); properties.Remove("UseWaitCursor"); + properties.Remove("Visible"); } public static void Remove (IDictionary properties,string[] toRemove) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/GroupedRowDesigner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/GroupedRowDesigner.cs index 74e8e93621..d03eb861a9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/GroupedRowDesigner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/GroupedRowDesigner.cs @@ -26,6 +26,14 @@ namespace ICSharpCode.Reports.Addin.Designer GetService(); } + + protected override void PostFilterProperties(System.Collections.IDictionary properties) + { + DesignerHelper.RemoveProperties(properties); + base.PostFilterProperties(properties); + } + + private void GetService () { selectionService = GetService(typeof(ISelectionService)) as ISelectionService; 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 12c2033095..8115b1a092 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 @@ -44,6 +44,12 @@ namespace ICSharpCode.Reports.Addin.Designer } + protected override void PostFilterProperties(System.Collections.IDictionary properties) + { + DesignerHelper.RemoveProperties(properties); + base.PostFilterProperties(properties); + } + private void OnComponentChanging (object sender,ComponentChangingEventArgs e) { // System.Console.WriteLine("changing"); 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 a98e896625..391f66b3a5 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 @@ -47,6 +47,13 @@ namespace ICSharpCode.Reports.Addin.Designer } + protected override void PostFilterProperties(System.Collections.IDictionary properties) + { + DesignerHelper.RemoveProperties(properties); + base.PostFilterProperties(properties); + } + + #region events private void OnComponentChanging (object sender,ComponentChangingEventArgs e) 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 fd41a66cc2..2e383c995b 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 @@ -65,6 +65,13 @@ namespace ICSharpCode.Reports.Addin.Designer } + protected override void PostFilterProperties(System.Collections.IDictionary properties) + { + DesignerHelper.RemoveProperties(properties); + base.PostFilterProperties(properties); + } + + private void OnSelectionChanged(object sender, EventArgs e) { Control.Invalidate( ); 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 009ef5e4c6..dcb52789ad 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 @@ -44,6 +44,13 @@ namespace ICSharpCode.Reports.Addin.Designer } + + protected override void PostFilterProperties(System.Collections.IDictionary properties) + { + DesignerHelper.RemoveProperties(properties); + base.PostFilterProperties(properties); + } + private void OnComponentChanging (object sender,ComponentChangingEventArgs e) { // System.Console.WriteLine("changing"); 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 76167df35d..d6aac6ad80 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 @@ -33,13 +33,13 @@ namespace ICSharpCode.Reports.Addin.Designer base.Initialize(component); GetService (); } + - /* - public override bool CanBeParentedTo(System.ComponentModel.Design.IDesigner parentDesigner) + protected override void PostFilterProperties(System.Collections.IDictionary properties) { - return false; + DesignerHelper.RemoveProperties(properties); + base.PostFilterProperties(properties); } - */ public override bool CanParent(Control control) 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 396065a67e..a27441a22e 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 @@ -28,6 +28,12 @@ namespace ICSharpCode.Reports.Addin.Designer this.ctrl = (BaseTextItem) component; } + protected override void PostFilterProperties(System.Collections.IDictionary properties) + { + DesignerHelper.RemoveProperties(properties); + base.PostFilterProperties(properties); + } + private void GetService () { From 1828a8d2ad45a92f7c77e8e282c17c1018ec6c03 Mon Sep 17 00:00:00 2001 From: peterforstmeier <peter.forstmeier@t-online.de> Date: Tue, 26 Jul 2011 20:38:45 +0200 Subject: [PATCH 103/168] Cleanup --- .../Project/ReportItems/AbstractItem.cs | 4 -- .../Project/BaseItems/BaseReportItem.cs | 2 +- .../Project/BaseItems/BaseSection.cs | 4 +- .../ListStrategy/CollectionStrategy.cs | 68 ++----------------- .../Project/Exporter/BasePager.cs | 28 -------- .../Project/Exporter/GapList.cs | 3 - .../Project/Expressions/EvaluationHelper.cs | 1 - .../Expressions/ExpressionEvaluatorFacade.cs | 28 +------- .../ReportingLanguage/ReportingLanguage.cs | 4 +- .../ReportingService/FieldReference.cs | 24 ++++--- .../Project/Printing/RendererFactory.cs | 2 +- 11 files changed, 32 insertions(+), 136 deletions(-) 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 ef79ecd92e..5d50d9cfb5 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 @@ -64,12 +64,8 @@ namespace ICSharpCode.Reports.Addin Description("Draw a Border around the Item")] public bool DrawBorder {get;set;} - protected new Size DefaultSize {get;set;} - - - public bool VisibleInReport {get;set;} #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs index b92537a0b4..9cf7876417 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs @@ -110,7 +110,7 @@ namespace ICSharpCode.Reports.Core { #region Properties -// public bool Visible {get;set;} + public bool Visible {get;set;} public bool VisibleInReport {get;set;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs index 3e6c1c1956..634cba5e19 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs @@ -148,11 +148,11 @@ namespace ICSharpCode.Reports.Core // resultSize.Width = double.IsPositiveInfinity(availableSize.Width) ? // resultSize.Width : availableSize.Width; -// +// // resultSize.Height = double.IsPositiveInfinity(availableSize.Height) ? // resultSize.Height : availableSize.Height; - resultSize.Width = double.IsPositiveInfinity(availableSize.Width) ? + resultSize.Width = double.IsPositiveInfinity(availableSize.Width) ? resultSize.Width : availableSize.Width; var b = double.IsPositiveInfinity(availableSize.Height); resultSize.Height = double.IsPositiveInfinity(availableSize.Height) ? 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 3a824232b0..30f1cbf10c 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 @@ -200,6 +200,8 @@ namespace ICSharpCode.Reports.Core { #endregion + + #region Fill public override void Fill(int position,ReportItemCollection collection) { @@ -210,6 +212,11 @@ namespace ICSharpCode.Reports.Core { } } + public override void Fill(IDataItem item) + { + FillInternal(Current,item); + } + private void FillInternal(object fillFrom,IDataItem item) { @@ -248,67 +255,6 @@ namespace ICSharpCode.Reports.Core { } } - /* - private void FillInternal(object fillFrom,IDataItem item) - { - if (item is BaseDataItem) - { - var retVal = FollowPropertyPath(fillFrom,item.ColumnName); - if (retVal != null) { - item.DBValue = retVal.ToString(); - } else { - item.DBValue = String.Empty; - } - } - - else - { - //image processing from IList - BaseImageItem baseImageItem = item as BaseImageItem; - - if (baseImageItem != null) { - PropertyDescriptor p = this.listProperties.Find(baseImageItem.ColumnName, true); - if (p != null) { - baseImageItem.Image = p.GetValue(this.Current) as System.Drawing.Image; - } - return; - } - - } - } - */ - - public override void Fill(IDataItem item) - { - FillInternal(Current,item); - } - - #region PropertyPath from StackOverflow - - //http://stackoverflow.com/questions/366332/best-way-to-get-sub-properties-using-getproperty - - /* - private static object FollowPropertyPath(object value, string path) - { - Type currentType = value.GetType(); - foreach (string propertyName in path.Split('.')) - { - - PropertyInfo property = currentType.GetProperty(propertyName); - - if (property != null) { - - value = property.GetValue(value, null); - currentType = property.PropertyType; - } else { - - return WrongColumnName(path); - } - } - return value; - } - */ - #endregion static string WrongColumnName(string propertyName) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 046ac28c57..7a0e170347 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -64,8 +64,6 @@ namespace ICSharpCode.Reports.Core.Exporter if (this.EvaluatorFacade == null) { - Console.WriteLine (""); - Console.WriteLine ("InitNewPage create evaluator"); EvaluatorFacade = EvaluationHelper.CreateEvaluator(SinglePage,SinglePage.IDataNavigator); } EvaluatorFacade.SinglePage = this.SinglePage; @@ -182,7 +180,6 @@ namespace ICSharpCode.Reports.Core.Exporter if (section.Items.Count > 0) { Size sectionSize = section.Size; - Console.WriteLine ("BasePager-createEval for {0}",section.Name); IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); Rectangle desiredRectangle = LayoutHelper.CalculateSectionLayout(this.Graphics,section); @@ -309,40 +306,15 @@ namespace ICSharpCode.Reports.Core.Exporter if (this.Pages.Count == 0) { return; } - Console.WriteLine ("FinishRendereing create IExpressionEvaluatorFacade"); - - //IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(this.SinglePage); - //Evaluator.SinglePage = this.SinglePage; foreach (ExporterPage page in this.pages) { page.TotalPages = this.Pages.Count; -// dataNavigator.Reset(); -// dataNavigator.MoveNext(); page.IDataNavigator = dataNavigator; EvaluatorFacade.SinglePage = page; EvaluateRecursive(EvaluatorFacade,page.Items); } } - /* - protected void FinishRendering (IDataNavigator dataNavigator) - { - if (this.Pages.Count == 0) { - return; - } - Console.WriteLine ("FinishRendereing create IExpressionEvaluatorFacade"); - - IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(this.SinglePage); - - foreach (ExporterPage p in this.pages) - { - p.TotalPages = this.Pages.Count; - p.IDataNavigator = dataNavigator; - evaluatorFacade.SinglePage = p; - EvaluateRecursive(evaluatorFacade,p.Items); - } - } - */ private static void EvaluateRecursive (IExpressionEvaluatorFacade evaluatorFassade,ExporterCollection items) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/GapList.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/GapList.cs index c3c2c4d43c..64d63d7a12 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/GapList.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/GapList.cs @@ -27,9 +27,6 @@ namespace ICSharpCode.Reports.Core.Exporter for (int i = 0; i < section.Items.Count; i++) { GapBetweenItems[i] = CalculateGap(oldItem,section.Items[i]); } - for (int i = 0; i < section.Items.Count; i++) { - Console.WriteLine(GapBetweenItems[i]); - } GapBetweenItems[section.Items.Count] = CalculateLastGap(section); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs index f78842459c..92da9d795e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs @@ -33,7 +33,6 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage throw new ArgumentNullException("singlePage"); } - Console.WriteLine ("EvaluationHelper.CreateEvaluator"); singlePage.IDataNavigator = dataNavigator; IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(singlePage); return evaluatorFacade; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs index 67eacbe3d5..88bb9a1f77 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs @@ -23,7 +23,6 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage public ExpressionEvaluatorFacade(IPageInfo pageInfo) { - Console.WriteLine("Eval-fassade Constr"); compiler = new ReportingLanguageCompiler(); this.context = new ExpressionContext(null); context.ResolveUnknownVariable += VariableStore; @@ -36,18 +35,13 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage public string Evaluate (string expression) { try { - string s = EvaluationHelper.ExtractExpressionPart(expression); + string r = EvaluationHelper.ExtractResultPart(expression); if (s.Length > 0) { this.context.ContextObject = this.SinglePage ; return EvaluateExpression (s); } -// if (EvaluationHelper.CanEvaluate(expression)) { -// this.context.ContextObject = this.SinglePage; -// return EvaluateExpression(expression); -// } - } catch (Exception e) { expression = e.Message; WriteLogMessage(e); @@ -72,22 +66,6 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage return expression; } - /* - public string Evaluate (string expression, object row) - { - try { - if (EvaluationHelper.CanEvaluate(expression)) { - this.context.ContextObject = row; - return EvaluateExpression (expression); - } - } catch (Exception e) { - expression = e.Message; - WriteLogMessage(e); - } - - return expression; - } - */ public void Evaluate (IReportExpression expressionItem) { @@ -100,15 +78,13 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage } else { expr = expressionItem.Text; } - expressionItem.Text = Evaluate(expr); } - string EvaluateExpression(string expression) { - IExpression compiled = compiler.CompileExpression<string>(expression); + IExpression compiled = compiler.CompileExpression<string>(expression); if (compiled != null) { return (compiled.Evaluate(context)).ToString(); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguage.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguage.cs index e410c88533..e384f680c5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguage.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ReportingLanguage/ReportingLanguage.cs @@ -133,7 +133,9 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage LUnOp.Rule = Symbol("-") | "!"; - FunctionExpression.Rule = QualifiedName + LCb + ExprList.Q() + RCb; + FunctionExpression.Rule = QualifiedName + LCb + ExprList.Q() + RCb + | QualifiedName + LCb + BinExpr + RCb; + QualifiedName.Rule = identifier | QualifiedName + dot + identifier diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs index d907349386..6f71d61d7d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs @@ -54,15 +54,23 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.ReportingService { if (singlePage.IDataNavigator.CurrentRow > -1) { - var dataRow = singlePage.IDataNavigator.GetDataRow; - var item = dataRow.Find(variable.VariableName); - if (item != null) { - retval = item.Value.ToString(); - } else { - retval = GlobalValues.UnkownFunctionMessage(variable.VariableName); - WriteLogmessage(variable); + try { + var dataRow = singlePage.IDataNavigator.GetDataRow; + var item = dataRow.Find(variable.VariableName); + + if (item != null) { + retval = item.Value.ToString(); + } else { + retval = GlobalValues.UnkownFunctionMessage(variable.VariableName); + WriteLogmessage(variable); + } + + return retval; + } catch (Exception e) { + Console.WriteLine ("Error in FieldReference.ExtractValueFromSinglePage"); + Console.WriteLine("IDataNavigator currentrow = {0} count = {1}",singlePage.IDataNavigator.CurrentRow,singlePage.IDataNavigator.Count); + throw e; } - return retval; } return variable.VariableName; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs index 567bf6a958..0178c7fffe 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs @@ -29,7 +29,7 @@ namespace ICSharpCode.Reports.Core if (t.Equals(typeof(BaseRowItem))) { // return new GroupedRowConverter (dataNavigator,singlePage,layouter); - Console.WriteLine("render Row"); +// Console.WriteLine("render Row"); } return null; } From 283bff1714d0644ab75714e33175791bc1fbb2cc Mon Sep 17 00:00:00 2001 From: Daniel Grunwald <daniel@danielgrunwald.de> Date: Sat, 16 Apr 2011 21:41:16 +0200 Subject: [PATCH 104/168] Remove Eusebiu's metadata decompiler. --- .../Project/ICSharpCode.SharpDevelop.addin | 3 - .../Project/ICSharpCode.SharpDevelop.csproj | 11 - .../Src/Editor/Commands/GoToDefinition.cs | 5 +- .../IDEOptions/SharpDevelopUIOptions.xaml | 15 - .../IDEOptions/SharpDevelopUIOptions.xaml.cs | 21 -- .../TreeNodes/InnerExpand/MemberNodes.cs | 163 --------- .../TreeNodes/InnerExpand/NamespaceNode.cs | 101 ------ .../TreeNodes/InnerExpand/TypeNodes.cs | 279 --------------- .../TreeNodes/ReferenceFolder.cs | 12 - .../ProjectBrowser/TreeNodes/ReferenceNode.cs | 74 +--- .../DecompilerService/DecompilerService.cs | 338 ------------------ 11 files changed, 4 insertions(+), 1018 deletions(-) delete mode 100644 src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/IDEOptions/SharpDevelopUIOptions.xaml delete mode 100644 src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/IDEOptions/SharpDevelopUIOptions.xaml.cs delete mode 100644 src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/InnerExpand/MemberNodes.cs delete mode 100644 src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/InnerExpand/NamespaceNode.cs delete mode 100644 src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/InnerExpand/TypeNodes.cs delete mode 100644 src/Main/Base/Project/Src/Services/DecompilerService/DecompilerService.cs diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin index b4bbface61..4c260f3c4e 100755 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin @@ -1078,9 +1078,6 @@ <OptionPanel id = "SelectStyle" label = "${res:Dialog.Options.IDEOptions.SelectVisualStyle.PanelName}" class = "ICSharpCode.SharpDevelop.Gui.OptionPanels.SelectStylePanel"/> - <OptionPanel id = "IDEUIOptions" - label = "${res:Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.PanelName}" - class = "ICSharpCode.SharpDevelop.Gui.OptionPanels.SharpDevelopUIOptions"/> <OptionPanel id = "LoadSave" label = "${res:Dialog.Options.IDEOptions.LoadSaveOptions.PanelName}" class = "ICSharpCode.SharpDevelop.Gui.OptionPanels.LoadSaveOptions"/> diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index f972c6aa46..9518e0dcff 100644 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -243,10 +243,6 @@ <DependentUpon>SelectCulturePanel.xaml</DependentUpon> <SubType>Code</SubType> </Compile> - <Compile Include="Src\Gui\Dialogs\OptionPanels\IDEOptions\SharpDevelopUIOptions.xaml.cs"> - <DependentUpon>SharpDevelopUIOptions.xaml</DependentUpon> - <SubType>Code</SubType> - </Compile> <Compile Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\WebProjectOptions\WebProjectOptions.cs" /> <Compile Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\WebProjectOptions\WebProjectOptionsPanel.xaml.cs"> <DependentUpon>WebProjectOptionsPanel.xaml</DependentUpon> @@ -273,9 +269,6 @@ <Compile Include="Src\Gui\Pads\BaseWatchBox.cs" /> <Compile Include="Src\Gui\Pads\OutlinePad.cs" /> <Compile Include="Src\Gui\Pads\ProjectBrowser\TreeNodes\DirectoryNodeFactory.cs" /> - <Compile Include="Src\Gui\Pads\ProjectBrowser\TreeNodes\InnerExpand\NamespaceNode.cs" /> - <Compile Include="Src\Gui\Pads\ProjectBrowser\TreeNodes\InnerExpand\MemberNodes.cs" /> - <Compile Include="Src\Gui\Pads\ProjectBrowser\TreeNodes\InnerExpand\TypeNodes.cs" /> <Compile Include="Src\Gui\Pads\TaskList\TaskListPadCommands.cs" /> <Compile Include="Src\Gui\Pads\ToolsPad.cs" /> <Compile Include="Src\Gui\ProgressCollector.cs" /> @@ -326,7 +319,6 @@ <Compile Include="Src\Services\Debugger\Tooltips\ITreeNode.cs" /> <Compile Include="Src\Services\Debugger\Tooltips\IVisualizerCommand.cs" /> <Compile Include="Src\Services\Debugger\Tooltips\PinBookmark.cs" /> - <Compile Include="Src\Services\DecompilerService\DecompilerService.cs" /> <Compile Include="Src\Services\DisplayBinding\ExternalProcessDisplayBinding.cs" /> <Compile Include="Src\Services\DisplayBinding\ISecondaryDisplayBinding.cs" /> <Compile Include="Src\Services\DisplayBinding\ShellExecuteDisplayBinding.cs" /> @@ -823,7 +815,6 @@ </ItemGroup> <ItemGroup> <Page Include="Src\Bookmarks\Pad\Controls\ListViewPad.xaml" /> - <Page Include="Src\Gui\Dialogs\OptionPanels\IDEOptions\SharpDevelopUIOptions.xaml" /> <Page Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\WebProjectOptions\WebProjectOptionsPanel.xaml" /> <Page Include="Src\Services\RefactoringService\ContextActions\ContextActionsBulbControl.xaml" /> <Page Include="Src\Services\RefactoringService\ContextActions\ContextActionsControl.xaml" /> @@ -858,10 +849,8 @@ <Folder Include="Src\Editor\Commands" /> <Folder Include="Src\Editor\Search" /> <Folder Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\WebProjectOptions" /> - <Folder Include="Src\Gui\Pads\ProjectBrowser\TreeNodes\InnerExpand" /> <Folder Include="Src\Gui\Pads\TaskList" /> <Folder Include="Src\Services\Debugger\Tooltips" /> - <Folder Include="Src\Services\DecompilerService" /> <Folder Include="Src\Services\RefactoringService\ContextActions" /> <Folder Include="Src\Services\WebProjectService" /> <Folder Include="Src\Util" /> diff --git a/src/Main/Base/Project/Src/Editor/Commands/GoToDefinition.cs b/src/Main/Base/Project/Src/Editor/Commands/GoToDefinition.cs index 99f3ae6425..8f7794f90c 100644 --- a/src/Main/Base/Project/Src/Editor/Commands/GoToDefinition.cs +++ b/src/Main/Base/Project/Src/Editor/Commands/GoToDefinition.cs @@ -19,7 +19,7 @@ namespace ICSharpCode.SharpDevelop.Editor.Commands return; FilePosition pos = symbol.GetDefinitionPosition(); if (pos.IsEmpty) { - new GoToDecompiledDefinition().Run(symbol); + //new GoToDecompiledDefinition().Run(symbol); } else { try { if (pos.Position.IsEmpty) @@ -33,6 +33,7 @@ namespace ICSharpCode.SharpDevelop.Editor.Commands } } + /* public class GoToDecompiledDefinition : AbstractMenuCommand { /// <summary> @@ -129,5 +130,5 @@ namespace ICSharpCode.SharpDevelop.Editor.Commands FileService.OpenFile(filePath); } } - } + }*/ } diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/IDEOptions/SharpDevelopUIOptions.xaml b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/IDEOptions/SharpDevelopUIOptions.xaml deleted file mode 100644 index 61efd58c9f..0000000000 --- a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/IDEOptions/SharpDevelopUIOptions.xaml +++ /dev/null @@ -1,15 +0,0 @@ -<gui:OptionPanel x:Class="ICSharpCode.SharpDevelop.Gui.OptionPanels.SharpDevelopUIOptions" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:gui="clr-namespace:ICSharpCode.SharpDevelop.Gui" - xmlns:widgets="http://icsharpcode.net/sharpdevelop/widgets" - xmlns:local="clr-namespace:ICSharpCode.SharpDevelop.Gui.OptionPanels" - xmlns:core="http://icsharpcode.net/sharpdevelop/core"> - <GroupBox Header="{core:Localize Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.GroupBoxHeader}"> - <widgets:StackPanelWithSpacing SpaceBetweenItems="5"> - <CheckBox x:Name="ExpandReferencesCheckBox" - Content="{core:Localize Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.ExpandReferences}" - IsChecked="{core:OptionBinding local:SharpDevelopUIOptions.ExpandReferences}"/> - </widgets:StackPanelWithSpacing> - </GroupBox> -</gui:OptionPanel> \ No newline at end of file diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/IDEOptions/SharpDevelopUIOptions.xaml.cs b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/IDEOptions/SharpDevelopUIOptions.xaml.cs deleted file mode 100644 index 42ef53ac1a..0000000000 --- a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/IDEOptions/SharpDevelopUIOptions.xaml.cs +++ /dev/null @@ -1,21 +0,0 @@ -// 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.Controls; -using ICSharpCode.Core; - -namespace ICSharpCode.SharpDevelop.Gui.OptionPanels -{ - public partial class SharpDevelopUIOptions : OptionPanel - { - public SharpDevelopUIOptions() - { - InitializeComponent(); - } - - public static bool ExpandReferences { - get { return PropertyService.Get("ExpandReferences", false); } - set { PropertyService.Set("ExpandReferences", value); } - } - } -} \ No newline at end of file diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/InnerExpand/MemberNodes.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/InnerExpand/MemberNodes.cs deleted file mode 100644 index b90c86c7de..0000000000 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/InnerExpand/MemberNodes.cs +++ /dev/null @@ -1,163 +0,0 @@ -// 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 Mono.Cecil; - -namespace ICSharpCode.SharpDevelop.Project.InnerExpand -{ - public abstract class MemberNode : AbstractProjectBrowserTreeNode - { - protected readonly MemberReference member; - protected readonly TypeDefinition type; - - public MemberNode(string name, MemberReference member, TypeDefinition type) - { - this.member = member; - this.type = type; - Text = name; - } - - public override object AcceptVisitor(ProjectBrowserTreeNodeVisitor visitor, object data) - { - return visitor.Visit(this, data); - } - } - - #region Field nodes - public class PublicFieldNode : MemberNode - { - public PublicFieldNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.Field"); - } - } - - public class InternalFieldNode : MemberNode - { - public InternalFieldNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.InteralField"); - } - } - - public class ProtectedFieldNode : MemberNode - { - public ProtectedFieldNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.ProtectedField"); - } - } - - public class PrivateFieldNode : MemberNode - { - public PrivateFieldNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.PrivateField"); - } - } - #endregion - - #region Properties nodes - public class PublicPropertyNode : MemberNode - { - public PublicPropertyNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.Property"); - } - } - - public class InternalPropertyNode : MemberNode - { - public InternalPropertyNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.InteralProperty"); - } - } - - public class ProtectedPropertyNode : MemberNode - { - public ProtectedPropertyNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.ProtectedProperty"); - } - } - - public class PrivatePropertyNode : MemberNode - { - public PrivatePropertyNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.PrivateProperty"); - } - } - #endregion - - #region Method nodes - - public class PublicMethodNode : MemberNode - { - public PublicMethodNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.Method"); - } - } - - public class InternalMethodNode : MemberNode - { - public InternalMethodNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.InternalMethod"); - } - } - - public class ProtectedMethodNode : MemberNode - { - public ProtectedMethodNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.ProtectedMethod"); - } - } - - public class PrivateMethodNode : MemberNode - { - public PrivateMethodNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.PrivateMethod"); - } - } - - #endregion - - #region Event node - public class PublicEventNode : MemberNode - { - public PublicEventNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.Event"); - } - } - - public class InternalEventNode : MemberNode - { - public InternalEventNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.InternalEvent"); - } - } - - public class ProtectedEventNode : MemberNode - { - public ProtectedEventNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.ProtectedEvent"); - } - } - - public class PrivateEventNode : MemberNode - { - public PrivateEventNode(string name, MemberReference member, TypeDefinition type) : base(name, member, type) - { - SetIcon("Icons.16x16.PrivateEvent"); - } - } - #endregion -} diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/InnerExpand/NamespaceNode.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/InnerExpand/NamespaceNode.cs deleted file mode 100644 index 7ad9bd1edd..0000000000 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/InnerExpand/NamespaceNode.cs +++ /dev/null @@ -1,101 +0,0 @@ -// 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.Collections.Generic; -using System.Windows; -using System.Windows.Forms; - -using ICSharpCode.Core; -using Mono.Cecil; - -namespace ICSharpCode.SharpDevelop.Project.InnerExpand -{ - public class NamespaceNode : CustomFolderNode - { - readonly List<TypeDefinition> types; - - public NamespaceNode(string name, List<TypeDefinition> types) - { - SetIcon("Icons.16x16.NameSpace"); - Text = name; - this.types = types; - - this.PerformInitialization(); - } - - public void RefreshNodes(bool forceRefresh = false) - { - if (Nodes.Count > 0 && !forceRefresh) - return; - - Nodes.Clear(); - - foreach (var type in types) { - TypeNode node = null; - string name = type.Name; - - if (type.IsValueType) { - if (type.IsPublic) { - node = new PublicStructNode(name, type); - } else { - node = new PrivateStructNode(name, type); - } - } else { - if (type.IsEnum) { - if (type.IsPublic) { - node = new PublicEnumNode(name, type); - } else { - node = new PrivateEnumNode(name, type); - } - } else { - - if (type.BaseType != null && type.BaseType.FullName == "System.MulticastDelegate"){ - if (type.IsPublic) { - node = new PublicDelegateNode(name, type); - } else { - node = new PrivateDelegateNode(name, type); - } - } else { - if (type.IsClass) { - if (type.IsPublic) { - node = new PublicClassNode(name, type); - } else { - node = new PrivateClassNode(name, type); - } - } - else { - if (type.IsInterface) { - if (type.IsPublic) { - node = new PublicInterfaceNode(name, type); - } else { - node = new PrivateInterfaceNode(name, type); - } - } - } - } - } - } - - if (node != null) - node.InsertSorted(this); - } - } - - public override void Expanding() - { - foreach (var node in Nodes) { - if (!(node is TypeNode)) continue; - - var n = (TypeNode)node; - n.ShowMembers(); - } - - base.Expanding(); - } - - public override object AcceptVisitor(ProjectBrowserTreeNodeVisitor visitor, object data) - { - return visitor.Visit(this, data); - } - } -} \ No newline at end of file diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/InnerExpand/TypeNodes.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/InnerExpand/TypeNodes.cs deleted file mode 100644 index 4d348b1bd6..0000000000 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/InnerExpand/TypeNodes.cs +++ /dev/null @@ -1,279 +0,0 @@ -// 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.Text; -using Mono.Cecil; - -namespace ICSharpCode.SharpDevelop.Project.InnerExpand -{ - public abstract class TypeNode : AbstractProjectBrowserTreeNode - { - protected readonly TypeDefinition type; - - public TypeNode(string name, TypeDefinition type) - { - Text = name; - this.type = type; - - this.PerformInitialization(); - } - - public virtual void ShowMembers(bool forceRefresh = false) - { - if (Nodes.Count > 0 && !forceRefresh) - return; - - Nodes.Clear(); - - foreach (var ev in type.Events) { - if (ev.AddMethod == null && ev.RemoveMethod == null ) continue; - - if (ev.AddMethod != null && !ev.AddMethod.IsPublic && - ev.RemoveMethod != null && !ev.RemoveMethod.IsPublic) continue; - - new PublicEventNode(ev.Name, ev, type).InsertSorted(this); - } - - foreach (var property in type.Properties) { - if (property.GetMethod == null && property.SetMethod == null ) continue; - - if (property.GetMethod != null && !property.GetMethod.IsPublic && - property.SetMethod != null && !property.SetMethod.IsPublic) continue; - new PublicPropertyNode(property.Name, property, type).InsertSorted(this); - } - - foreach (var method in type.Methods) { - if (!method.IsPublic) continue; - if (method.Name.StartsWith("get_") || method.Name.StartsWith("set_")) continue; - - StringBuilder sb = new StringBuilder(); - - if (!method.IsConstructor) { - sb.Append(method.Name); - } else { - sb.Append(method.DeclaringType.Name); - } - - sb.Append(DecompilerService.GetParameters(method)); - - new PublicMethodNode(sb.ToString(), method, type).InsertSorted(this); - } - } - - public override object AcceptVisitor(ProjectBrowserTreeNodeVisitor visitor, object data) - { - return visitor.Visit(this, data); - } - } - - #region Classes - - public abstract class ClassNode : TypeNode - { - public ClassNode(string name, TypeDefinition type) : base(name, type) { } - } - - public class PublicClassNode : ClassNode - { - public PublicClassNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.Class"); - } - } - - public class InternalClassNode : ClassNode - { - public InternalClassNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.InternalClass"); - } - } - - public class ProtectedClassNode : ClassNode - { - public ProtectedClassNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.ProtectedClass"); - } - } - - public class PrivateClassNode : ClassNode - { - public PrivateClassNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.PrivateClass"); - } - } - - #endregion - - #region Interfaces - public abstract class InterfaceNode : TypeNode - { - public InterfaceNode(string name, TypeDefinition type) : base(name, type) { } - - } - - public class PublicInterfaceNode : InterfaceNode - { - public PublicInterfaceNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.Interface"); - } - } - - public class InternalInterfaceNode : InterfaceNode - { - public InternalInterfaceNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.InternalInterface"); - } - } - - public class ProtectedInterfaceNode : InterfaceNode - { - public ProtectedInterfaceNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.ProtectedInterface"); - } - } - - public class PrivateInterfaceNode : InterfaceNode - { - public PrivateInterfaceNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.PrivateInterface"); - } - } - - #endregion - - #region Structs - - public abstract class StructNode : TypeNode - { - public StructNode(string name, TypeDefinition type) : base(name, type) - { - } - } - - public class PublicStructNode : StructNode - { - public PublicStructNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.Struct"); - } - } - - public class InternalStructNode : StructNode - { - public InternalStructNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.InternalStruct"); - } - } - - public class ProtectedStructNode : StructNode - { - public ProtectedStructNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.ProtectedStruct"); - } - } - - public class PrivateStructNode : StructNode - { - public PrivateStructNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.PrivateStruct"); - } - } - #endregion - - #region Enums - public abstract class EnumNode : TypeNode - { - public EnumNode(string name, TypeDefinition type) : base(name, type) - { - } - } - - public class PublicEnumNode : EnumNode - { - public PublicEnumNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.Enum"); - } - } - - public class IntenalEnumNode : EnumNode - { - public IntenalEnumNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.InternalEnum"); - } - } - - public class ProtectedEnumNode : EnumNode - { - public ProtectedEnumNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.ProtectedEnum"); - } - } - - public class PrivateEnumNode : EnumNode - { - public PrivateEnumNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.PrivateEnum"); - } - } - #endregion - - #region Delegates - public abstract class DelegateNode : TypeNode - { - public DelegateNode(string name, TypeDefinition type) : base(name, type) - { - } - - public override void ShowMembers(bool forceRefresh) - { - // do nothing - } - } - - public class PublicDelegateNode : DelegateNode - { - public PublicDelegateNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.Delegate"); - } - } - - public class InternalDelegateNode : DelegateNode - { - public InternalDelegateNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.InternalDelegate"); - } - } - - public class ProtectedDelegateNode : DelegateNode - { - public ProtectedDelegateNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.ProtectedDelegate"); - } - } - - public class PrivateDelegateNode : DelegateNode - { - public PrivateDelegateNode(string name, TypeDefinition type) : base(name, type) - { - SetIcon("Icons.16x16.PrivateDelegate"); - } - } - #endregion -} diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceFolder.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceFolder.cs index 880088984c..e3a1ce4dbc 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceFolder.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceFolder.cs @@ -42,18 +42,6 @@ namespace ICSharpCode.SharpDevelop.Project UpdateIcon(); } - public override void Expanding() - { - foreach (var node in Nodes) { - if (!(node is ReferenceNode)) continue; - - var n = (ReferenceNode)node; - n.ShowNamespaces(); - } - - base.Expanding(); - } - protected override void Initialize() { ShowReferences(); diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceNode.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceNode.cs index ed8b085902..efd8474910 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceNode.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceNode.cs @@ -6,13 +6,9 @@ using System.Collections.Generic; using System.Diagnostics; using System.IO; -using ICSharpCode.SharpDevelop.Gui.OptionPanels; -using ICSharpCode.SharpDevelop.Project.InnerExpand; -using Mono.Cecil; - namespace ICSharpCode.SharpDevelop.Project { - public class ReferenceNode : CustomFolderNode + public class ReferenceNode : AbstractProjectBrowserTreeNode { ReferenceProjectItem referenceProjectItem; @@ -30,74 +26,6 @@ namespace ICSharpCode.SharpDevelop.Project ContextmenuAddinTreePath = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/ReferenceNode"; SetIcon("Icons.16x16.Reference"); Text = referenceProjectItem.ShortName; - - this.PerformInitialization(); - - ParserService.LoadSolutionProjectsThreadEnded += delegate { ShowNamespaces(); }; - } - - Dictionary<string, List<TypeDefinition>> namespaces = new Dictionary<string, List<TypeDefinition>>(); - - public void ShowNamespaces(bool forceRefresh = false) - { - if (!SharpDevelopUIOptions.ExpandReferences) - return; - - if (namespaces.Count > 0 && !forceRefresh) - return; - - namespaces.Clear(); - Nodes.Clear(); - - if (string.IsNullOrEmpty(referenceProjectItem.FileName)) return; - if (!File.Exists(referenceProjectItem.FileName)) return; - - if (Path.GetExtension(referenceProjectItem.FileName) == ".dll" || - Path.GetExtension(referenceProjectItem.FileName) == ".exe") - { - var asm = AssemblyDefinition.ReadAssembly(referenceProjectItem.FileName); - foreach (var module in asm.Modules) { - if (!module.HasTypes) continue; - - foreach (var type in module.Types) { - - if (string.IsNullOrEmpty(type.Namespace)) continue; - - if (!namespaces.ContainsKey(type.Namespace)) - namespaces.Add(type.Namespace, new List<TypeDefinition>()); - - namespaces[type.Namespace].Add(type); - } - - foreach (var ns in namespaces.Keys) - { - var nsNode = new NamespaceNode(ns, namespaces[ns]); - nsNode.InsertSorted(this); - } - } - } - - if (Path.GetExtension(referenceProjectItem.FileName).EndsWith("proj")) { - // use parser service - } - } - - public override void Expanding() - { - foreach (var node in Nodes) { - if (!(node is NamespaceNode)) continue; - - var n = (NamespaceNode)node; - n.RefreshNodes(); - } - - base.Expanding(); - } - - public override void Refresh() - { - ShowNamespaces(true); - base.Refresh(); } #region Cut & Paste diff --git a/src/Main/Base/Project/Src/Services/DecompilerService/DecompilerService.cs b/src/Main/Base/Project/Src/Services/DecompilerService/DecompilerService.cs deleted file mode 100644 index 510404a9ce..0000000000 --- a/src/Main/Base/Project/Src/Services/DecompilerService/DecompilerService.cs +++ /dev/null @@ -1,338 +0,0 @@ -// 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.CodeDom; -using System.CodeDom.Compiler; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Windows.Navigation; -using ICSharpCode.SharpDevelop.Dom; -using ICSharpCode.SharpDevelop.Gui; -using ICSharpCode.SharpDevelop.Project; -using Mono.Cecil; - -namespace ICSharpCode.SharpDevelop -{ - public static class DecompilerService - { - public static string GetParameters(MethodDefinition method) - { - StringBuilder sb = new StringBuilder(); - - if (!method.HasParameters) - sb.Append("()"); - else { - sb.Append("("); - for (int i = 0 ; i < method.Parameters.Count; ++i) { - var p = method.Parameters[i]; - - if (p.IsOut) - sb.Append("out "); - else - if (p.ParameterType.IsByReference) - sb.Append("ref "); - - sb.Append(p.ParameterType.Name.Replace("&", string.Empty)); - sb.Append(" "); - - sb.Append(p.Name); - - if (i < method.Parameters.Count - 1) - sb.Append(", "); - } - sb.Append(")"); - } - - return sb.ToString(); - } - - public static void ReadMetadata(IClass c, out string filePath) - { - if (c == null) { - filePath = null; - return; - } - - CodeCompileUnit compileUnit = new CodeCompileUnit(); - - // add namespace - CodeNamespace generatedNamespace = new CodeNamespace(c.Namespace); - generatedNamespace.Imports.Add(new CodeNamespaceImport("System")); - compileUnit.Namespaces.Add(generatedNamespace); - - // add type - var targetClass = new CodeTypeDeclaration(c.Name); - - // write attributes - AddAttributes(c, targetClass); - - // write class definition - if (c.IsPublic) targetClass.TypeAttributes |= System.Reflection.TypeAttributes.Public; - if (c.IsSealed) targetClass.TypeAttributes |= System.Reflection.TypeAttributes.Sealed; - // static class limitation - c.IsStatic: https://connect.microsoft.com/VisualStudio/feedback/details/93653/codedom-unable-to-generate-static-events-and-classes - targetClass.IsPartial = c.IsPartial; - - switch (c.ClassType) { - case ClassType.Class: - targetClass.IsClass = true; - break; - case ClassType.Enum: - targetClass.IsEnum = true; - break; - case ClassType.Interface: - targetClass.IsInterface = true; - break; - case ClassType.Struct: - targetClass.IsStruct = true; - break; - } - - // generics - foreach (var typeParameter in c.TypeParameters) { - var tp = new CodeTypeParameter(typeParameter.Name); - foreach (var con in typeParameter.Constraints) { - tp.Constraints.Add(con.Name); - } - targetClass.TypeParameters.Add(tp); - } - - // base types - foreach (var basetype in c.BaseTypes) { - if (basetype.FullyQualifiedName.Equals("System.Object", StringComparison.OrdinalIgnoreCase)) - continue; - var baseType = AddGenericBaseTypes(basetype); - targetClass.BaseTypes.Add(baseType); - } - - // field members - foreach (var f in c.Fields) { - if (!f.IsPublic && !f.IsProtected) continue; - - CodeMemberField field = new CodeMemberField() { Name = f.Name, - Attributes = MemberAttributes.Public }; - AddDefinition(f, field); - AddAttributes(f, field); - AddDocumentation(f, field); - - field.Type = new CodeTypeReference(f.ReturnType.FullyQualifiedName); - targetClass.Members.Add(field); - } - - // event members - foreach (var e in c.Events) { - if (!e.IsPublic && !e.IsProtected) continue; - CodeMemberEvent ev = new CodeMemberEvent() { Name = e.Name, - Attributes = MemberAttributes.Public, - Type = new CodeTypeReference(e.ReturnType.FullyQualifiedName) }; - AddDefinition(e, ev); - AddDocumentation(e, ev); - - targetClass.Members.Add(ev); - } - - // properties - foreach (var property in c.Properties) { - if (!property.IsPublic && !property.IsProtected) continue; - CodeMemberProperty p = new CodeMemberProperty() { - Name = property.Name, - Attributes = MemberAttributes.Public, - Type = new CodeTypeReference(property.ReturnType.FullyQualifiedName), - HasGet = property.CanGet, - HasSet = property.CanSet - }; - - AddAttributes(property, p); - AddDefinition(property, p); - AddDocumentation(property, p); - - if (property.IsIndexer) { - p.Parameters.Add(new CodeParameterDeclarationExpression("System.Int32", "index")); - } - targetClass.Members.Add(p); - } - - // methods and constructors - foreach (var method in c.Methods) { - if (!method.IsPublic && !method.IsProtected) continue; - - if (method.IsConstructor) { - CodeConstructor constructor = new CodeConstructor() { Name = c.Name, - Attributes = MemberAttributes.Public }; - AddAttributes(method, constructor); - AddDefinition(method, constructor); - AddParameters(method, constructor); - AddDocumentation(method, constructor); - - targetClass.Members.Add(constructor); - } else { - CodeMemberMethod m = new CodeMemberMethod() { - Name = method.Name, - Attributes = MemberAttributes.Public, - ReturnType = new CodeTypeReference(method.ReturnType.FullyQualifiedName), - }; - - AddAttributes(method, m); - AddDefinition(method, m); - AddParameters(method, m); - AddDocumentation(method, m); - - targetClass.Members.Add(m); - } - } - - // delegates - foreach (var inner in c.InnerClasses) { - if (inner.ClassType == ClassType.Delegate) { - IMethod invoker = inner.Methods.Where(method => method.Name == "Invoke").FirstOrDefault(); - CodeTypeDelegate del = new CodeTypeDelegate(inner.Name) { - Attributes = MemberAttributes.Public, - ReturnType = new CodeTypeReference(invoker.ReturnType.FullyQualifiedName) - }; - - AddDocumentation(invoker, del); - - foreach (var p in invoker.Parameters) - del.Parameters.Add(new CodeParameterDeclarationExpression(p.ReturnType.FullyQualifiedName, p.Name)); - - targetClass.Members.Add(del); - } - } - - // add class - generatedNamespace.Types.Add(targetClass); - filePath = WriteTempFile(c.Name, compileUnit); - } - - static CodeTypeReference AddGenericBaseTypes(IReturnType basetype) - { - string type = basetype.FullyQualifiedName; - CodeTypeReference baseType = new CodeTypeReference(type); - if (basetype.IsConstructedReturnType) - { - var constructed = basetype as ConstructedReturnType; - int i = 0; - foreach (var typearg in constructed.TypeArguments) { - baseType.TypeArguments.Add(new CodeTypeReference(typearg.Name, CodeTypeReferenceOptions.GenericTypeParameter)); - - if (typearg is ConstructedReturnType) { - CodeTypeReference baseType1 = new CodeTypeReference(typearg.FullyQualifiedName); - baseType1.TypeArguments.Add(AddGenericBaseTypes(typearg)); - baseType.TypeArguments[i].TypeArguments.Add(baseType1); - } - ++i; - } - } - - return baseType; - } - - static void AddParameters(IMethod method, CodeMemberMethod m) - { - foreach (var p in method.Parameters) { - string returnType = p.ReturnType.FullyQualifiedName; - - var par = new CodeParameterDeclarationExpression(returnType, p.Name); - - if (p.ReturnType.IsConstructedReturnType) - { - CodeTypeReference baseType = new CodeTypeReference(returnType); - var c = p.ReturnType as ConstructedReturnType; - foreach (var typearg in c.TypeArguments) { - baseType.TypeArguments.Add(new CodeTypeReference(typearg.Name, CodeTypeReferenceOptions.GenericTypeParameter)); - } - - par.Type = baseType; - } - - if (p.IsRef) - par.Direction = FieldDirection.Ref; - if (p.IsOut) - par.Direction = FieldDirection.Out; - if (p.IsParams) - par.CustomAttributes.Add(new CodeAttributeDeclaration(new CodeTypeReference(typeof(System.ParamArrayAttribute)))); - // TODO: if (p.IsOptional) - - m.Parameters.Add(par); - } - } - - static void AddDocumentation(IEntity entity, CodeTypeMember member) - { - if (string.IsNullOrEmpty(entity.Documentation) || string.IsNullOrEmpty(entity.Documentation.Trim())) - return; - - member.Comments.Add(new CodeCommentStatement(entity.Documentation.Replace(" ", string.Empty), true)); - } - - static void AddDefinition(IEntity entity, CodeTypeMember member) - { - if (entity.IsProtected) - member.Attributes = MemberAttributes.Family; - - if (entity.IsStatic) - member.Attributes |= MemberAttributes.Static; - if (entity.IsNew) - member.Attributes |= MemberAttributes.New; - if (entity.IsOverride) - member.Attributes |= MemberAttributes.Override; - if (entity.IsAbstract) - member.Attributes |= MemberAttributes.Abstract; - if (entity.IsVirtual) - member.Attributes |= MemberAttributes.Final; - if (entity.IsConst) - member.Attributes |= MemberAttributes.Const; - } - - static void AddAttributes(IEntity entity, CodeTypeMember member) - { - // write attributes - foreach (var attr in entity.Attributes) { - - List<CodeAttributeArgument> list = new List<CodeAttributeArgument>(); - for (int i = 0; i < attr.PositionalArguments.Count; i++) { - if (!(attr.PositionalArguments[i] is IReturnType)) - list.Add(new CodeAttributeArgument(new CodePrimitiveExpression(attr.PositionalArguments[i]))); - } - - if (list.Count == 0) { - member.CustomAttributes.Add( - new CodeAttributeDeclaration(attr.AttributeType.FullyQualifiedName)); - } else { - member.CustomAttributes.Add( - new CodeAttributeDeclaration(attr.AttributeType.FullyQualifiedName, list.ToArray())); - } - } - } - - static string WriteTempFile(string fileName, CodeCompileUnit compileUnit) - { - // temp file - string tempFolder = Path.GetTempPath(); - string file = fileName + ".temp." + - ProjectService.CurrentProject.LanguageProperties.CodeDomProvider.FileExtension; - - string filePath = Path.Combine(tempFolder, file); - - if (File.Exists(filePath)) - File.SetAttributes(filePath, FileAttributes.Temporary); - - // write file - using (var sw = new StreamWriter(filePath, false)) - { - ProjectService - .CurrentProject - .LanguageProperties - .CodeDomProvider.GenerateCodeFromCompileUnit( - compileUnit, - sw, - new CodeGeneratorOptions()); - } - - File.SetAttributes(filePath, FileAttributes.ReadOnly); - return filePath; - } - } -} \ No newline at end of file From b0b8c13c200c15a1d1ca1e9eb4fc3ce0845d4fd9 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Wed, 27 Jul 2011 12:57:33 +0200 Subject: [PATCH 105/168] fix SD-1818 - VB NotifyIcon Application template not working properly --- data/templates/project/VB/NotifyIcon.xpt | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/data/templates/project/VB/NotifyIcon.xpt b/data/templates/project/VB/NotifyIcon.xpt index c8b38aa0d6..7fd00bbc6f 100644 --- a/data/templates/project/VB/NotifyIcon.xpt +++ b/data/templates/project/VB/NotifyIcon.xpt @@ -27,17 +27,25 @@ <Reference Include="System.Xml" /> </ProjectItems> + <ProjectItems> + <Import Include="Microsoft.VisualBasic" /> + <Import Include="System" /> + <Import Include="System.Collections" /> + <Import Include="System.Collections.Generic" /> + <Import Include="System.Drawing" /> + <Import Include="System.Diagnostics" /> + <Import Include="System.Windows.Forms" /> + </ProjectItems> + <PropertyGroup> <OutputType>WinExe</OutputType> <AppDesignerFolder>Properties</AppDesignerFolder> + <MyType>WindowsFormsWithCustomSubMain</MyType> </PropertyGroup> <Files> <File name="NotificationIcon.vb"><![CDATA[${StandardHeader.VBNET} -Imports System.Diagnostics -Imports System.Drawing Imports System.Threading -Imports System.Windows.Forms Public NotInheritable Class NotificationIcon Private notifyIcon As NotifyIcon @@ -76,8 +84,8 @@ Public NotInheritable Class NotificationIcon notificationIcon.notifyIcon.Visible = True Application.Run() notificationIcon.notifyIcon.Dispose() - ' The application is already running - ' TODO: Display message box or change focus to existing application instance + ' The application is already running + ' TODO: Display message box or change focus to existing application instance Else End If End Using From 6d067662f3b358cef6a0fa929221fb14c13e60cf Mon Sep 17 00:00:00 2001 From: Matt Ward <ward.matt@gmail.com> Date: Thu, 28 Jul 2011 22:29:02 +0100 Subject: [PATCH 106/168] Change highlighting in html script tags so javascript code does not use green text. --- .../Highlighting/Resources/HTML-Mode.xshd | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/HTML-Mode.xshd b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/HTML-Mode.xshd index e23d6a624d..d3c31b5e2c 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/HTML-Mode.xshd +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/HTML-Mode.xshd @@ -4,11 +4,11 @@ <SyntaxDefinition name="HTML" extensions=".htm;.html" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008"> <Color name="Comment" foreground="DarkSlateGray" /> <Color name="Digits" foreground="DarkBlue" /> - <Color name="ScriptTag" foreground="#FF00FF7F" /> - <Color name="JavaScriptTag" foreground="#FF00FF7F" /> - <Color name="JScriptTag" foreground="#FF00FF7F" /> - <Color name="VBScriptTag" foreground="#FF00FF7F" /> - <Color name="UnknownScriptTag" foreground="#FF00FF7F" /> + <Color name="ScriptTag" foreground="#FF8B008B" /> + <Color name="JavaScriptTag" foreground="#FF8B008B" /> + <Color name="JScriptTag" foreground="#FF8B008B" /> + <Color name="VBScriptTag" foreground="#FF8B008B" /> + <Color name="UnknownScriptTag" foreground="#FF8B008B" /> <Color name="HtmlTag" foreground="#FF8B008B" /> <Color name="Tags" foreground="#FF8B008B" /> <Color name="Attributes" foreground="Red" /> @@ -23,25 +23,25 @@ <Begin><!--</Begin> <End>--></End> </Span> - <Span color="ScriptTag" ruleSet="JavaScriptSet" multiline="true"> - <Begin><script></Begin> - <End></script></End> + <Span ruleSet="JavaScriptSet" multiline="true"> + <Begin color="ScriptTag"><script></Begin> + <End color="ScriptTag"></script></End> </Span> - <Span color="JavaScriptTag" ruleSet="JavaScriptSet" multiline="true"> - <Begin><script\ lang="JavaScript"></Begin> - <End></script></End> + <Span ruleSet="JavaScriptSet" multiline="true"> + <Begin color="JavaScriptTag"><script\ lang="JavaScript"></Begin> + <End color="JavaScriptTag"></script></End> </Span> - <Span color="JScriptTag" multiline="true"> - <Begin><script\ lang="JScript"></Begin> - <End></script></End> + <Span multiline="true"> + <Begin color="JScriptTag"><script\ lang="JScript"></Begin> + <End color="JScriptTag"></script></End> </Span> - <Span color="VBScriptTag" multiline="true"> - <Begin><script\ lang="VBScript"></Begin> - <End></script></End> + <Span multiline="true"> + <Begin color="VBScriptTag"><script\ lang="VBScript"></Begin> + <End color="VBScriptTag"></script></End> </Span> - <Span color="UnknownScriptTag" multiline="true"> - <Begin><script[^\w\d_]</Begin> - <End></script></End> + <Span multiline="true"> + <Begin color="UnknownScriptTag"><script[^\w\d_]</Begin> + <End color="UnknownScriptTag"></script></End> </Span> <Span color="HtmlTag" ruleSet="HtmlTagSet" multiline="true"> <Begin><</Begin> From 35123e8d07dd118762c750d6a43ccdf52576fa3d Mon Sep 17 00:00:00 2001 From: Daniel Grunwald <daniel@danielgrunwald.de> Date: Sat, 30 Jul 2011 15:09:13 +0200 Subject: [PATCH 107/168] Fix forum-13593: error converting "new string[5,4]" from C# to Boo. --- .../Project/ConvertVisitorExpressions.cs | 8 +------- .../Boo/NRefactoryToBooConverter/Test/ExpressionTests.cs | 2 +- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorExpressions.cs b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorExpressions.cs index 4e63f45a96..ff1f51c5c0 100644 --- a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorExpressions.cs +++ b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorExpressions.cs @@ -468,13 +468,7 @@ namespace NRefactoryToBooConverter newRank[i] = elementType.RankSpecifier[i + 1]; elementType.RankSpecifier = newRank; mie.Arguments.Add(MakeReferenceExpression(elementType)); - if (arrayCreateExpression.Arguments.Count == 1) { - mie.Arguments.Add(ConvertExpression(arrayCreateExpression.Arguments[0])); - } else { - B.ArrayLiteralExpression dims = new B.ArrayLiteralExpression(GetLexicalInfo(arrayCreateExpression)); - ConvertExpressions(arrayCreateExpression.Arguments, dims.Items); - mie.Arguments.Add(dims); - } + ConvertExpressions(arrayCreateExpression.Arguments, mie.Arguments); return mie; } diff --git a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Test/ExpressionTests.cs b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Test/ExpressionTests.cs index 4859c11616..2e574696e6 100644 --- a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Test/ExpressionTests.cs +++ b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Test/ExpressionTests.cs @@ -204,7 +204,7 @@ namespace NRefactoryToBooConverter.Tests [Test] public void CreateMultidimensionalArray() { - TestExpr("new int[2, 3]", "matrix(System.Int32, (2, 3))"); + TestExpr("new int[2, 3]", "matrix(System.Int32, 2, 3)"); } [Test] From d14fa2d34d8f8f29ca0311a8d11d0f9487b14260 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald <daniel@danielgrunwald.de> Date: Sun, 31 Jul 2011 19:43:54 +0200 Subject: [PATCH 108/168] WPF Designer: Fix ImageSourceEditor. --- .../ImageSourceEditor/ChooseImageDialog.xaml | 118 ++++-------- .../ChooseImageDialog.xaml.cs | 175 +++++++----------- .../ImageSourceEditor.xaml.cs | 73 ++++---- .../WpfDesign.AddIn/Src/ProjectTools.cs | 27 +-- .../Src/Services/FileUtility/FileUtility.cs | 3 + 5 files changed, 161 insertions(+), 235 deletions(-) diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml index c15390f9d6..bccc5769b7 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml @@ -39,87 +39,42 @@ Margin="12,12,0,0" Text="Existing images" Height="24" /> - <Rectangle - Fill="White" - Margin="12,36,12,120" /> <ListBox - Margin="12,36,12,120" - Name="Display" - ItemsSource="{Binding}"> - <ItemsControl.GroupStyle> - <GroupStyle /> - </ItemsControl.GroupStyle> - <ItemsControl.ItemTemplate> + MouseDoubleClick="ImageDisplayDoubleClick" + Name="imgDisplay" + Margin="12,37,12,120"> + <ListBox.ItemsPanel> + <ItemsPanelTemplate> + <WrapPanel /> + </ItemsPanelTemplate> + </ListBox.ItemsPanel> + <ListBox.ItemTemplate> <DataTemplate> - <Grid> - <!-- Set animation for the underlying listbox which displays the images --> - <Grid.Triggers> - <EventTrigger - SourceName="expander" - RoutedEvent="Expander.Expanded"> - <EventTrigger.Actions> - <BeginStoryboard> - <Storyboard> - <DoubleAnimation - From="0" - To="1" - Duration="0:0:0.1" - Storyboard.TargetName="imgDisplay" - Storyboard.TargetProperty="(FrameworkElement.LayoutTransform).(ScaleTransform.ScaleY)" /> - <DoubleAnimation - From="0" - To="1" - Duration="0:0:0.1" - Storyboard.TargetName="imgDisplay" - Storyboard.TargetProperty="(FrameworkElement.LayoutTransform).(ScaleTransform.ScaleX)" /> - </Storyboard> - </BeginStoryboard> - </EventTrigger.Actions> - </EventTrigger> - </Grid.Triggers> - <Expander - Header="{Binding Header}" - HorizontalAlignment="Stretch" - Name="expander" - Margin="2,3,0,3" - BorderThickness="0"> - <ListBox - ItemsSource="{Binding Images}" - Name="imgDisplay" - SelectionChanged="imgDisplaySelectionChanged" - Loaded="imgDisplayLoaded" - BorderThickness="0"> - <ListBox.ItemTemplate> - <DataTemplate> - <Grid - Margin="10"> - <Border - BorderThickness="1" - BorderBrush="#FF717171" - Background="White"> - <Border.Effect> - <DropShadowEffect - Color="#FFA1A1A1" /> - </Border.Effect> - <Image - Source="{Binding}" - Height="100" - Width="100" - Margin="2,5,2,5" /> - </Border> - </Grid> - </DataTemplate> - </ListBox.ItemTemplate> - <ListBox.LayoutTransform> - <ScaleTransform - ScaleX="0" - ScaleY="0" /> - </ListBox.LayoutTransform> - </ListBox> - </Expander> - </Grid> + <StackPanel + Margin="10,10,10,6"> + <Border + BorderThickness="1" + BorderBrush="#FF717171" + Background="White"> + <Border.Effect> + <DropShadowEffect + Color="#FFA1A1A1" /> + </Border.Effect> + <Image + Source="{Binding FullName}" + Height="100" + Width="100" + Margin="2,5,2,5" /> + </Border> + <TextBlock + Text="{Binding Name, Mode=OneWay}" + TextAlignment="Center" + TextTrimming="CharacterEllipsis" + MaxWidth="100" + Margin="0,0,0,4" /> + </StackPanel> </DataTemplate> - </ItemsControl.ItemTemplate> + </ListBox.ItemTemplate> </ListBox> <Button Height="23" @@ -130,7 +85,7 @@ Content="Add" Click="AddClick" /> <TextBlock - Text="URL :" + Text="URL:" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="12,0,0,53" @@ -140,15 +95,18 @@ VerticalAlignment="Bottom" Margin="50,0,12,56" Height="24" + IsReadOnly="True" + Text="{Binding Path=SelectedItem.FullName, ElementName=imgDisplay, Mode=OneWay}" Name="txURL" /> <Button - x:Name="uxOk" + x:Name="uxOk" Content="OK" Height="23" Margin="0,0,93,12" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="75" + IsDefault="True" Click="OkClick" /> <Button Content="Cancel" diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml.cs index 6f39e4b6a4..eba07189b7 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml.cs @@ -2,20 +2,17 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Diagnostics; -using System.IO; using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.IO; using System.Linq; -using System.Text; using System.Windows; -using System.Windows.Controls; using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using Microsoft.Win32; -using ICSharpCode.WpfDesign.PropertyGrid; +using ICSharpCode.Core; +using ICSharpCode.SharpDevelop.Project; +using Microsoft.Win32; namespace ICSharpCode.WpfDesign.AddIn.ImageSourceEditor { @@ -24,136 +21,84 @@ namespace ICSharpCode.WpfDesign.AddIn.ImageSourceEditor /// </summary> public partial class ChooseImageDialog : Window { - /// <summary> - /// Inner ListBox which displays the images - /// </summary> - private ListBox _imgDisplay; - /// <summary> /// Contains the allowed extensions for image files. /// </summary> - private static string[] Extension; + static readonly string[] Extension = {".jpg", ".bmp", ".png", ".gif", ".ico", ".dib", ".jpe", ".jpeg", ".tif", ".tiff"}; - private PropertyNode _node; - private List<ImageData> _data; - - static ChooseImageDialog() - { - Extension = new String[]{".jpg", ".bmp", ".png", ".gif", ".ico", ".dib", ".jpe", ".jpeg", ".tif", ".tiff"}; - } + private ObservableCollection<ImageData> _data = new ObservableCollection<ImageData>(); + string initiallySelectedFileName; - public ChooseImageDialog(PropertyNode node) + public ChooseImageDialog() { - this._node=node; - this._data=new List<ImageData>(); InitializeComponent(); + + // Get image file with allowed extensions + AddImages(ProjectTools.RetrieveFiles(ChooseImageDialog.Extension)); + + CollectionViewSource cvs = new CollectionViewSource(); + cvs.Source = _data; + cvs.GroupDescriptions.Add(new PropertyGroupDescription("Directory")); + cvs.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending)); + imgDisplay.ItemsSource = cvs.View; } - protected override void OnInitialized(EventArgs e) + List<ImageData> AddImages(IEnumerable<FileProjectItem> files) { - base.OnInitialized(e); - List<KeyValuePair<string, string>> images=new List<KeyValuePair<string, string>>(); - - /* Get image file with allowed extensions and group them with their directory */ - images=ProjectTools.RetrieveFiles(ChooseImageDialog.Extension); - IEnumerable<IGrouping<string, string>> grouping = images.GroupBy(image => image.Key, image => image.Value); - - /* Set values for _data and bind to the ListBox */ - foreach(IGrouping<string, string> group in grouping){ - List<string> temp=new List<string>(); - foreach(var name in group){ - temp.Add(name); - } - _data.Add(new ImageData(group.Key + Path.DirectorySeparatorChar,temp)); + List<ImageData> images = new List<ImageData>(); + foreach (FileProjectItem file in files) { + ImageData image = new ImageData(file.FileName, Path.GetDirectoryName(file.VirtualName) + Path.DirectorySeparatorChar); + images.Add(image); + _data.Add(image); } - - Display.ItemsSource=_data; - Display.SelectionChanged+=delegate { Display.SelectedItem=null; }; + return images; } #region Event Handlers private void AddClick(object sender, RoutedEventArgs e) { - OpenFileDialog dialog=new OpenFileDialog(); - dialog.Filter="Image Files | *" + String.Join(";*",Extension); - dialog.Multiselect=true; - dialog.CheckFileExists=true; - dialog.Title="Choose Image"; + OpenFileDialog dialog = new OpenFileDialog(); + dialog.Filter = "Image Files|*" + String.Join(";*",Extension) + "|All Files|*.*"; + dialog.Multiselect = true; + dialog.CheckFileExists = true; + dialog.Title = "Choose Image"; - if(dialog.ShowDialog() == true){ - string []fileNames=dialog.FileNames; - ProjectTools.AddFiles(fileNames); - - /* Add files to _data so that the ListBox is updated. Note that as Images are added to the project directory, - * images will be added in the _data with ImageData having header Path.DirectorySeparatorChar. */ - List<string> temp=new List<string>(); - foreach(var file in fileNames){ - temp.Add(Path.GetFileName(file)); - } - if(fileNames.Length!=0) - txURL.Text = fileNames.Last(); - _data.OrderBy(image => image.Header).ElementAt(0).Images.AddRange(fileNames); + if (dialog.ShowDialog() == true) { + string[] fileNames = dialog.FileNames; + var files = ProjectTools.AddFiles(fileNames, ItemType.Resource); + imgDisplay.SelectedItem = files.FirstOrDefault(); } } - private void imgDisplayLoaded(object sender, RoutedEventArgs e) - { - _imgDisplay=new ListBox(); - _imgDisplay=sender as ListBox; - _imgDisplay.MouseDoubleClick+=ImageDisplayDoubleClick; - } - - private void imgDisplaySelectionChanged(object sender, RoutedEventArgs e) - { - _imgDisplay=sender as ListBox; - if(_imgDisplay.SelectedItem!=null) - txURL.Text=(string)_imgDisplay.SelectedItem; - } - private void OkClick(object sender, RoutedEventArgs e) { - Save(); + DialogResult = true; + Close(); } private void ImageDisplayDoubleClick(object sender, RoutedEventArgs e) { - if(_imgDisplay.SelectedItem!=null){ - _node.Value=_imgDisplay.SelectedItem; - Close(); - } - - } - - protected override void OnPreviewKeyUp(KeyEventArgs e) - { - base.OnPreviewKeyUp(e); - if(e.Key==Key.Enter) - Save(); + DialogResult = true; + Close(); } - private void Save() - { - Debug.Assert(_imgDisplay!=null); - if(_imgDisplay.SelectedItem!=null){ - _node.Value=_imgDisplay.SelectedItem; - Close(); - }else{ - if(File.Exists(txURL.Text) && uxOk.IsFocused){ - if(Extension.Contains(Path.GetExtension(txURL.Text))) - _node.Value=Path.GetFullPath(txURL.Text); - else - MessageBox.Show(this, "The specified file is not a valid image file", "Error", MessageBoxButton.OK, MessageBoxImage.Error); - - Close(); - } - else{ - MessageBox.Show(this, "The specified file does not exist on the disk", "Error", MessageBoxButton.OK, MessageBoxImage.Error); + public string SelectedFileName { + get { + var image = (ImageData)imgDisplay.SelectedItem; + if (image != null) { + return image.FullName; + } else { + return null; } } + set { + imgDisplay.SelectedItem = _data.FirstOrDefault(d => FileUtility.IsEqualFileName(d.FullName, value)); + } } private void Cancel(object sender, RoutedEventArgs e) { + DialogResult = false; Close(); } #endregion @@ -162,19 +107,25 @@ namespace ICSharpCode.WpfDesign.AddIn.ImageSourceEditor public class ImageData { /// <summary> - /// Stores the directory where <see cref="Images"/> are there. + /// The directory (relative to project root) where the image is stored. + /// </summary> + public string Directory { get; private set; } + + /// <summary> + /// The short file name. /// </summary> - public string Header { get; set; } + public string Name { get; private set; } /// <summary> - /// Contains the name of all images in <see cref="Header"/>. + /// The full file name. /// </summary> - public List<string> Images { get; set; } + public string FullName { get; private set; } - public ImageData(string header,List<string> images) + public ImageData(string fullName, string relDirectory) { - this.Header=header; - this.Images=images; + this.FullName = fullName; + this.Name = Path.GetFileName(fullName); + this.Directory = relDirectory; } } } diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ImageSourceEditor.xaml.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ImageSourceEditor.xaml.cs index 4f08d8a196..1a37487d19 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ImageSourceEditor.xaml.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ImageSourceEditor.xaml.cs @@ -2,42 +2,53 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Collections.Generic; -using System.Text; +using System.IO; using System.Windows; -using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; +using System.Windows.Markup; using System.Windows.Media; +using ICSharpCode.Core; +using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.WpfDesign.PropertyGrid; namespace ICSharpCode.WpfDesign.AddIn.ImageSourceEditor { - /// <summary> - /// Editor to edit properties of type of ImageSource such as Windows.Icon or Image.Source - /// </summary> - [TypeEditor(typeof (ImageSource))] - public partial class ImageSourceEditor - { - public ImageSourceEditor() - { - InitializeComponent(); - } - - private void ChooseImageClick(object sender, RoutedEventArgs e) - { - ChooseImageDialog cid = new ChooseImageDialog(PropertyNode); - cid.ShowActivated = true; - cid.Show(); - } - - /// <summary> - /// Gets the property node that the editor is editing. - /// </summary> - public PropertyNode PropertyNode{ - get { return DataContext as PropertyNode; } - } - } + /// <summary> + /// Editor to edit properties of type of ImageSource such as Windows.Icon or Image.Source + /// </summary> + [TypeEditor(typeof (ImageSource))] + public partial class ImageSourceEditor + { + public ImageSourceEditor() + { + InitializeComponent(); + } + + private void ChooseImageClick(object sender, RoutedEventArgs e) + { + PropertyNode propNode = (PropertyNode)DataContext; + + string directory = null; + var uriContext = propNode.Services.GetService<IUriContext>(); + if (uriContext != null && uriContext.BaseUri.IsFile) { + directory = Path.GetDirectoryName(uriContext.BaseUri.LocalPath); + } + + string fileName = propNode.Value as string; + if (fileName != null && directory != null) { + fileName = Path.Combine(directory, fileName); + } + ChooseImageDialog cid = new ChooseImageDialog(); + cid.SelectedFileName = fileName; + cid.Owner = WorkbenchSingleton.MainWindow; + if (cid.ShowDialog() == true) { + fileName = cid.SelectedFileName; + if (fileName == null) { + propNode.Reset(); + } else { + propNode.Value = FileUtility.GetRelativePath(directory, fileName); + } + } + } + } } diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ProjectTools.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ProjectTools.cs index 2965fa4ff9..dcd8e8f939 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ProjectTools.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ProjectTools.cs @@ -20,20 +20,24 @@ namespace ICSharpCode.WpfDesign.AddIn /// Add files to the current project at the project node. /// </summary> /// <param name="fileNames">list of files that have to be added.</param> - internal static void AddFiles(string []fileNames) + internal static IEnumerable<FileProjectItem> AddFiles(string[] fileNames, ItemType itemType) { IProject project=ProjectService.CurrentProject; Debug.Assert(project!=null); - foreach(var file in fileNames){ - string relFileName=FileUtility.GetRelativePath(project.Directory,file); - FileProjectItem fileProjectItem=new FileProjectItem(project,project.GetDefaultItemType(file),relFileName); - FileNode fileNode=new FileNode(file,FileNodeStatus.InProject); - fileNode.ProjectItem=fileProjectItem; - ProjectService.AddProjectItem(project,fileProjectItem); + List<FileProjectItem> resultItems = new List<FileProjectItem>(); + foreach (string file in fileNames) { + FileProjectItem item = project.FindFile(file); + if (item != null) + continue; // file already belongs to the project + string relFileName = FileUtility.GetRelativePath(project.Directory,file); + item = new FileProjectItem(project, itemType, relFileName); + ProjectService.AddProjectItem(project, item); + resultItems.Add(item); } project.Save(); ProjectBrowserPad.RefreshViewAsync(); + return resultItems; } /// <summary> @@ -41,18 +45,17 @@ namespace ICSharpCode.WpfDesign.AddIn /// </summary> /// <param name="Extension"></param> /// <returns></returns> - internal static List<KeyValuePair<string, string>> RetrieveFiles(string []Extension) + internal static List<FileProjectItem> RetrieveFiles(string []Extension) { - List<KeyValuePair<string, string>> files=new List<KeyValuePair<string, string>>(); + List<FileProjectItem> files=new List<FileProjectItem>(); IProject project=ProjectService.CurrentProject; Debug.Assert(project!=null); foreach(var item in project.Items){ FileProjectItem fileProjectItem=item as FileProjectItem; if(fileProjectItem!=null){ - string dirName=Path.GetDirectoryName(fileProjectItem.VirtualName); - if(Extension.Contains(Path.GetExtension(fileProjectItem.VirtualName))) - files.Add(new KeyValuePair<string, string>(dirName, fileProjectItem.FileName)); + if(Extension.Contains(Path.GetExtension(fileProjectItem.VirtualName).ToLowerInvariant())) + files.Add(fileProjectItem); } } diff --git a/src/Main/Core/Project/Src/Services/FileUtility/FileUtility.cs b/src/Main/Core/Project/Src/Services/FileUtility/FileUtility.cs index 3ae100bc57..f6de727567 100644 --- a/src/Main/Core/Project/Src/Services/FileUtility/FileUtility.cs +++ b/src/Main/Core/Project/Src/Services/FileUtility/FileUtility.cs @@ -231,6 +231,9 @@ namespace ICSharpCode.Core /// </summary> public static string GetRelativePath(string baseDirectoryPath, string absPath) { + if (string.IsNullOrEmpty(baseDirectoryPath)) { + return absPath; + } if (IsUrl(absPath) || IsUrl(baseDirectoryPath)){ return absPath; } From 2df2d0f853d3c98ee7c03db9a475ddda474817e6 Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Mon, 1 Aug 2011 14:10:05 +0200 Subject: [PATCH 109/168] update icons in breakpoint pad --- .../Pads/Controls/ConditionCell.xaml.cs | 8 +++-- .../Project/Src/Bookmarks/Pad/BookmarkPad.cs | 29 ++++++++++++++--- .../Pad/Controls/ListViewPad.xaml.cs | 31 +++++++------------ 3 files changed, 43 insertions(+), 25 deletions(-) diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/ConditionCell.xaml.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/ConditionCell.xaml.cs index 4f01c5951a..eb8e1b2066 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/ConditionCell.xaml.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/ConditionCell.xaml.cs @@ -121,17 +121,21 @@ namespace Debugger.AddIn.Pads.Controls if (!string.IsNullOrEmpty(console.CommandText)) { Breakpoint.Action = BreakpointAction.Condition; - Model.Image = PresentationResourceService.GetImage("Bookmarks.BreakpointConditional").Source; + if (Breakpoint.IsEnabled) + Model.Image = BreakpointBookmark.BreakpointConditionalImage.ImageSource; } else { Breakpoint.Action = BreakpointAction.Break; - Model.Image = PresentationResourceService.GetImage("Bookmarks.Breakpoint").Source; + if (Breakpoint.IsEnabled) + Model.Image = BreakpointBookmark.BreakpointImage.ImageSource; } } private bool CheckSyntax() { string command = CommandText; + if (string.IsNullOrEmpty(command)) + return true; // FIXME workaround the NRefactory issue that needs a ; at the end if (language == "C#") { diff --git a/src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPad.cs b/src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPad.cs index d4047b6e4a..340ec2e793 100644 --- a/src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPad.cs +++ b/src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPad.cs @@ -38,7 +38,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks public BookmarkPad() { - instance = this; + instance = this; myPanel.Children.Add(CreateToolBar()); listView.HideColumns(2, 0); } @@ -125,7 +125,9 @@ namespace ICSharpCode.SharpDevelop.Bookmarks if (!ShowBookmarkInThisPad(mark)) return; - listView.Add(new ListViewPadItemModel(mark)); + var model = new ListViewPadItemModel(mark); + model.PropertyChanged += OnModelPropertyChanged; + listView.Add(model); } protected virtual bool ShowBookmarkInThisPad(SDBookmark mark) @@ -140,7 +142,10 @@ namespace ICSharpCode.SharpDevelop.Bookmarks void BookmarkManagerRemoved(object sender, BookmarkEventArgs e) { - listView.Remove(new ListViewPadItemModel(e.Bookmark)); + if (ShowBookmarkInThisPad(e.Bookmark)) { + var model = listView.Remove(e.Bookmark); + model.PropertyChanged -= OnModelPropertyChanged; + } } void listView_ItemActivated(object sender, EventArgs e) @@ -151,7 +156,23 @@ namespace ICSharpCode.SharpDevelop.Bookmarks if (mark != null) { FileService.JumpToFilePosition(mark.FileName, mark.LineNumber, 1); } - } + } + } + + void OnModelPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) + { + var model = sender as ListViewPadItemModel; + if (e.PropertyName == "IsChecked") { + if (model.Mark is BreakpointBookmark) { + var bpm = model.Mark as BreakpointBookmark; + bpm.IsEnabled = model.IsChecked; + if (model.IsChecked) { + model.Image = string.IsNullOrEmpty(model.Condition) ? BreakpointBookmark.BreakpointImage.ImageSource : BreakpointBookmark.BreakpointConditionalImage.ImageSource; + } else { + model.Image = BreakpointBookmark.DisabledBreakpointImage.ImageSource; + } + } + } } } } diff --git a/src/Main/Base/Project/Src/Bookmarks/Pad/Controls/ListViewPad.xaml.cs b/src/Main/Base/Project/Src/Bookmarks/Pad/Controls/ListViewPad.xaml.cs index c3242a96a4..4876bbbf7d 100644 --- a/src/Main/Base/Project/Src/Bookmarks/Pad/Controls/ListViewPad.xaml.cs +++ b/src/Main/Base/Project/Src/Bookmarks/Pad/Controls/ListViewPad.xaml.cs @@ -89,22 +89,22 @@ namespace ICSharpCode.SharpDevelop.Bookmarks.Pad.Controls ItemCollection.Add(item); } - public void Remove(ListViewPadItemModel item) + public ListViewPadItemModel Remove(SDBookmark bookmark) { - SDBookmark bookmark1 = item.Mark as SDBookmark; - - if (bookmark1 is CurrentLineBookmark) - return; + if (bookmark is CurrentLineBookmark) + return null; - foreach (var line in itemCollection) { - SDBookmark bookmark2 = line.Mark as SDBookmark; + foreach (var model in itemCollection) { + SDBookmark currentBookmark = model.Mark as SDBookmark; - if (bookmark1.FileName == bookmark2.FileName && - bookmark1.LineNumber == bookmark2.LineNumber) { - ItemCollection.Remove(line); - break; + if (bookmark.FileName == currentBookmark.FileName && + bookmark.LineNumber == currentBookmark.LineNumber) { + ItemCollection.Remove(model); + return model; } } + + return null; } public void AddColumn(string header, DataTemplate cellTemplate) @@ -233,14 +233,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks.Pad.Controls private void NotifyPropertyChanged(string property) { - if (property == "IsChecked") - { - if (Mark is BreakpointBookmark) - (Mark as BreakpointBookmark).IsEnabled = isChecked; - } - - if (PropertyChanged != null) - { + if (PropertyChanged != null) { PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(property)); } } From eb0d93724ebd5067f116722ce0fe80b98fef9726 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald <daniel@danielgrunwald.de> Date: Tue, 2 Aug 2011 10:20:37 +0200 Subject: [PATCH 110/168] ICSharpCode.Core: Disable lexical condition inheritance, and allow doozers to control whether to perform dynamic condition inheritance. Building a menu node will still inherit conditions into subnodes, but included nodes now inherit conditions from the menu they are included into instead of where they are defined. Moreover, conditions applied to an <Include> codon now are applied to the included nodes. Previously, they would be evaluated only at item build time and would disable the <Include> doozer. --- .../UnitTesting/Src/TestFrameworkDoozer.cs | 4 +- .../AvalonEdit.AddIn/Src/SyntaxModeDoozer.cs | 3 +- .../ChooseImageDialog.xaml.cs | 1 - .../Project/Src/FiletypeAssociationDoozer.cs | 3 +- .../WizardPanels/Wizard/DialogPanelDoozer.cs | 21 +++-- .../CodeCompletion/CodeCompletionBinding.cs | 8 +- .../Src/Editor/IEditorControlService.cs | 6 +- .../BrowserDisplayBinding/SchemeExtension.cs | 4 +- .../Src/Internal/Doozers/DirectoryDoozer.cs | 4 +- .../Src/Internal/Doozers/OptionPanelDoozer.cs | 21 +++-- .../Project/Src/Internal/Doozers/PadDoozer.cs | 4 +- .../Src/Project/ContextSpecificProperties.cs | 3 +- .../Base/Project/Src/Project/CustomTool.cs | 3 +- .../Src/Project/MSBuildBasedProject.cs | 2 +- .../MSBuildEngine/MSBuildAdditionalLogger.cs | 4 +- .../MSBuildEngine/MSBuildLoggerFilter.cs | 4 +- .../Src/Services/Debugger/DebuggerDoozer.cs | 4 +- .../DisplayBinding/DisplayBindingDoozer.cs | 7 +- .../Base/Project/Src/Services/IconService.cs | 4 +- .../LanguageBinding/LanguageBindingDoozer.cs | 8 +- .../ParserService/Doozer/ParserDoozer.cs | 4 +- .../Doozer/ProjectContentRegistryDoozer.cs | 4 +- .../ProjectBinding/ProjectBindingDoozer.cs | 4 +- src/Main/Core/Project/ICSharpCode.Core.csproj | 1 + .../Src/AddInTree/AddIn/BuildItemArgs.cs | 78 +++++++++++++++++++ .../Core/Project/Src/AddInTree/AddIn/Codon.cs | 10 ++- .../AddIn/DefaultDoozers/ClassDoozer.cs | 3 +- .../AddIn/DefaultDoozers/FileFilterDoozer.cs | 3 +- .../AddIn/DefaultDoozers/Icon/IconDoozer.cs | 4 +- .../AddIn/DefaultDoozers/IncludeDoozer.cs | 23 +++--- .../AddIn/DefaultDoozers/LazyDoozer.cs | 5 +- .../DefaultDoozers/MenuItem/MenuItemDoozer.cs | 4 +- .../AddIn/DefaultDoozers/StringDoozer.cs | 4 +- .../ToolBarItem/ToolBarItemDoozer.cs | 4 +- .../Src/AddInTree/AddIn/ExtensionPath.cs | 8 +- .../Project/Src/AddInTree/AddIn/IDoozer.cs | 11 +-- .../Core/Project/Src/AddInTree/AddInTree.cs | 63 ++++++--------- .../Project/Src/AddInTree/AddInTreeNode.cs | 74 +++++++----------- .../AddInTreeTests/AddInTreeLoadingTests.cs | 3 +- 39 files changed, 237 insertions(+), 191 deletions(-) create mode 100644 src/Main/Core/Project/Src/AddInTree/AddIn/BuildItemArgs.cs diff --git a/src/AddIns/Analysis/UnitTesting/Src/TestFrameworkDoozer.cs b/src/AddIns/Analysis/UnitTesting/Src/TestFrameworkDoozer.cs index 40e857cbf3..e613f301ba 100644 --- a/src/AddIns/Analysis/UnitTesting/Src/TestFrameworkDoozer.cs +++ b/src/AddIns/Analysis/UnitTesting/Src/TestFrameworkDoozer.cs @@ -17,9 +17,9 @@ namespace ICSharpCode.UnitTesting get { return false; } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - return BuildItem(codon, new TestFrameworkFactory(codon.AddIn)); + return BuildItem(args.Codon, new TestFrameworkFactory(args.AddIn)); } public TestFrameworkDescriptor BuildItem(Codon codon, ITestFrameworkFactory factory) diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/SyntaxModeDoozer.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/SyntaxModeDoozer.cs index ba173b30b7..bfde0038aa 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/SyntaxModeDoozer.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/SyntaxModeDoozer.cs @@ -100,8 +100,9 @@ namespace ICSharpCode.AvalonEdit.AddIn get { return false; } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { + Codon codon = args.Codon; string highlightingName = codon.Properties["name"]; string[] extensions = codon.Properties["extensions"].Split(';'); string resource = codon.Properties["resource"]; diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml.cs index eba07189b7..b1f0373f90 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml.cs @@ -27,7 +27,6 @@ namespace ICSharpCode.WpfDesign.AddIn.ImageSourceEditor static readonly string[] Extension = {".jpg", ".bmp", ".png", ".gif", ".ico", ".dib", ".jpe", ".jpeg", ".tif", ".tiff"}; private ObservableCollection<ImageData> _data = new ObservableCollection<ImageData>(); - string initiallySelectedFileName; public ChooseImageDialog() { diff --git a/src/AddIns/Misc/FiletypeRegisterer/Project/Src/FiletypeAssociationDoozer.cs b/src/AddIns/Misc/FiletypeRegisterer/Project/Src/FiletypeAssociationDoozer.cs index 5f7034c2a6..42aaea9dc1 100644 --- a/src/AddIns/Misc/FiletypeRegisterer/Project/Src/FiletypeAssociationDoozer.cs +++ b/src/AddIns/Misc/FiletypeRegisterer/Project/Src/FiletypeAssociationDoozer.cs @@ -77,8 +77,9 @@ namespace ICSharpCode.FiletypeRegisterer /// Creates an item with the specified sub items. And the current /// Condition status for this item. /// </summary> - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { + Codon codon = args.Codon; return new FiletypeAssociation(codon.Id, StringParser.Parse(codon.Properties["icon"]), StringParser.Parse(codon.Properties["text"])); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/Wizard/DialogPanelDoozer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/Wizard/DialogPanelDoozer.cs index f3b92dce4e..87415f74b7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/Wizard/DialogPanelDoozer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/Wizard/DialogPanelDoozer.cs @@ -41,24 +41,21 @@ namespace ICSharpCode.Reports.Addin.ReportWizard /// Creates an item with the specified sub items. And the current /// Condition status for this item. /// </summary> - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - string label = codon.Properties["label"]; + string label = args.Codon["label"]; + string id = args.Codon.Id; - if (subItems == null || subItems.Count == 0) { - if (codon.Properties.Contains("class")) { - return new DefaultDialogPanelDescriptor(codon.Id, StringParser.Parse(label), codon.AddIn, codon.Properties["class"]); + var subItems = args.BuildSubItems<IDialogPanelDescriptor>(); + if (subItems.Count == 0) { + if (args.Codon.Properties.Contains("class")) { + return new DefaultDialogPanelDescriptor(id, StringParser.Parse(label), args.AddIn, args.Codon["class"]); } else { - return new DefaultDialogPanelDescriptor(codon.Id, StringParser.Parse(label)); + return new DefaultDialogPanelDescriptor(id, StringParser.Parse(label)); } } - List<IDialogPanelDescriptor> newList = new List<IDialogPanelDescriptor>(); - foreach (IDialogPanelDescriptor d in subItems) { - newList.Add(d); - } - - return new DefaultDialogPanelDescriptor(codon.Id, StringParser.Parse(label), newList); + return new DefaultDialogPanelDescriptor(id, StringParser.Parse(label), subItems); } } } diff --git a/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionBinding.cs b/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionBinding.cs index 7aa0cc486c..e631c87052 100644 --- a/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionBinding.cs +++ b/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionBinding.cs @@ -70,13 +70,13 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - string ext = codon.Properties["extensions"]; + string ext = args.Codon["extensions"]; if (ext != null && ext.Length > 0) - return new LazyCodeCompletionBinding(codon, ext.Split(';')); + return new LazyCodeCompletionBinding(args.Codon, ext.Split(';')); else - return codon.AddIn.CreateObject(codon.Properties["class"]); + return args.AddIn.CreateObject(args.Codon["class"]); } } diff --git a/src/Main/Base/Project/Src/Editor/IEditorControlService.cs b/src/Main/Base/Project/Src/Editor/IEditorControlService.cs index 17c73bd14f..3c25aab5cf 100644 --- a/src/Main/Base/Project/Src/Editor/IEditorControlService.cs +++ b/src/Main/Base/Project/Src/Editor/IEditorControlService.cs @@ -25,11 +25,11 @@ namespace ICSharpCode.SharpDevelop.Editor delegate { // fetch IEditorControlService that's normally implemented in AvalonEdit.AddIn var node = Core.AddInTree.GetTreeNode("/SharpDevelop/ViewContent/TextEditor/EditorControlService", false); + IEditorControlService ecs = null; if (node != null && node.Codons.Count > 0) { - return (IEditorControlService)node.Codons[0].BuildItem(null, null); - } else { - return new DummyService(); + ecs = (IEditorControlService)node.BuildChildItem(node.Codons[0], null); } + return ecs ?? new DummyService(); } ); diff --git a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/SchemeExtension.cs b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/SchemeExtension.cs index b1bb44cf1f..6c9c2c6fa0 100644 --- a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/SchemeExtension.cs +++ b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/SchemeExtension.cs @@ -91,9 +91,9 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - return new SchemeExtensionDescriptor(codon); + return new SchemeExtensionDescriptor(args.Codon); } } } diff --git a/src/Main/Base/Project/Src/Internal/Doozers/DirectoryDoozer.cs b/src/Main/Base/Project/Src/Internal/Doozers/DirectoryDoozer.cs index 15c8ab5bba..a11d8f2376 100644 --- a/src/Main/Base/Project/Src/Internal/Doozers/DirectoryDoozer.cs +++ b/src/Main/Base/Project/Src/Internal/Doozers/DirectoryDoozer.cs @@ -24,9 +24,9 @@ namespace ICSharpCode.SharpDevelop { public bool HandleConditions { get { return false; } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - return Path.Combine(Path.GetDirectoryName(codon.AddIn.FileName), codon.Properties["path"]); + return Path.Combine(Path.GetDirectoryName(args.AddIn.FileName), args.Codon["path"]); } } } diff --git a/src/Main/Base/Project/Src/Internal/Doozers/OptionPanelDoozer.cs b/src/Main/Base/Project/Src/Internal/Doozers/OptionPanelDoozer.cs index 8a580992bf..709260cb45 100644 --- a/src/Main/Base/Project/Src/Internal/Doozers/OptionPanelDoozer.cs +++ b/src/Main/Base/Project/Src/Internal/Doozers/OptionPanelDoozer.cs @@ -42,24 +42,21 @@ namespace ICSharpCode.SharpDevelop /// Creates an item with the specified sub items. And the current /// Condition status for this item. /// </summary> - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - string label = codon.Properties["label"]; + string label = args.Codon["label"]; + string id = args.Codon.Id; - if (subItems == null || subItems.Count == 0) { - if (codon.Properties.Contains("class")) { - return new DefaultOptionPanelDescriptor(codon.Id, StringParser.Parse(label), codon.AddIn, caller, codon.Properties["class"]); + var subItems = args.BuildSubItems<IOptionPanelDescriptor>(); + if (subItems.Count == 0) { + if (args.Codon.Properties.Contains("class")) { + return new DefaultOptionPanelDescriptor(id, StringParser.Parse(label), args.AddIn, args.Caller, args.Codon["class"]); } else { - return new DefaultOptionPanelDescriptor(codon.Id, StringParser.Parse(label)); + return new DefaultOptionPanelDescriptor(id, StringParser.Parse(label)); } } - List<IOptionPanelDescriptor> newList = new List<IOptionPanelDescriptor>(); - foreach (IOptionPanelDescriptor d in subItems) { - newList.Add(d); - } - - return new DefaultOptionPanelDescriptor(codon.Id, StringParser.Parse(label), newList); + return new DefaultOptionPanelDescriptor(id, StringParser.Parse(label), subItems); } } } diff --git a/src/Main/Base/Project/Src/Internal/Doozers/PadDoozer.cs b/src/Main/Base/Project/Src/Internal/Doozers/PadDoozer.cs index babb0a8b32..287dfca754 100755 --- a/src/Main/Base/Project/Src/Internal/Doozers/PadDoozer.cs +++ b/src/Main/Base/Project/Src/Internal/Doozers/PadDoozer.cs @@ -51,9 +51,9 @@ namespace ICSharpCode.SharpDevelop } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - return new PadDescriptor(codon); + return new PadDescriptor(args.Codon); } } } diff --git a/src/Main/Base/Project/Src/Project/ContextSpecificProperties.cs b/src/Main/Base/Project/Src/Project/ContextSpecificProperties.cs index 6e9c12ac66..4da522363d 100644 --- a/src/Main/Base/Project/Src/Project/ContextSpecificProperties.cs +++ b/src/Main/Base/Project/Src/Project/ContextSpecificProperties.cs @@ -38,8 +38,9 @@ namespace ICSharpCode.SharpDevelop.Project } } - public object BuildItem(object caller, Codon codon, System.Collections.ArrayList subItems) + public object BuildItem(BuildItemArgs args) { + Codon codon = args.Codon; CustomProperty cp = new CustomProperty(codon.Properties["name"]) { displayName = codon.Properties["displayName"], description = codon.Properties["description"] diff --git a/src/Main/Base/Project/Src/Project/CustomTool.cs b/src/Main/Base/Project/Src/Project/CustomTool.cs index 6a150e56a8..642ef117b4 100644 --- a/src/Main/Base/Project/Src/Project/CustomTool.cs +++ b/src/Main/Base/Project/Src/Project/CustomTool.cs @@ -322,8 +322,9 @@ namespace ICSharpCode.SharpDevelop.Project /// Creates an item with the specified sub items. And the current /// Condition status for this item. /// </summary> - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { + Codon codon = args.Codon; return new CustomToolDescriptor(codon.Id, codon.Properties["fileNamePattern"], codon.Properties["class"], codon.AddIn); } diff --git a/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs b/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs index d236b01c11..b7985e0dca 100644 --- a/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs +++ b/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs @@ -1176,7 +1176,7 @@ namespace ICSharpCode.SharpDevelop.Project AddInTreeNode node = AddInTree.GetTreeNode(MSBuildEngine.AdditionalPropertiesPath, false); if (node != null) { foreach (Codon codon in node.Codons) { - object item = codon.BuildItem(null, new System.Collections.ArrayList()); + object item = node.BuildChildItem(codon, null); if (item != null) { string text = item.ToString(); globalProperties[codon.Id] = text; diff --git a/src/Main/Base/Project/Src/Project/MSBuildEngine/MSBuildAdditionalLogger.cs b/src/Main/Base/Project/Src/Project/MSBuildEngine/MSBuildAdditionalLogger.cs index 5d6f49f558..f4afe10563 100644 --- a/src/Main/Base/Project/Src/Project/MSBuildEngine/MSBuildAdditionalLogger.cs +++ b/src/Main/Base/Project/Src/Project/MSBuildEngine/MSBuildAdditionalLogger.cs @@ -45,9 +45,9 @@ namespace ICSharpCode.SharpDevelop.Project } } - public object BuildItem(object caller, Codon codon, System.Collections.ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - return new TaskBoundAdditionalLoggerDescriptor(codon); + return new TaskBoundAdditionalLoggerDescriptor(args.Codon); } private class TaskBoundAdditionalLoggerDescriptor : IMSBuildAdditionalLogger diff --git a/src/Main/Base/Project/Src/Project/MSBuildEngine/MSBuildLoggerFilter.cs b/src/Main/Base/Project/Src/Project/MSBuildEngine/MSBuildLoggerFilter.cs index 0afb596a57..7ad374ef7d 100644 --- a/src/Main/Base/Project/Src/Project/MSBuildEngine/MSBuildLoggerFilter.cs +++ b/src/Main/Base/Project/Src/Project/MSBuildEngine/MSBuildLoggerFilter.cs @@ -55,9 +55,9 @@ namespace ICSharpCode.SharpDevelop.Project } } - public object BuildItem(object caller, Codon codon, System.Collections.ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - return new TaskBoundLoggerFilterDescriptor(codon); + return new TaskBoundLoggerFilterDescriptor(args.Codon); } sealed class TaskBoundLoggerFilterDescriptor : IMSBuildLoggerFilter diff --git a/src/Main/Base/Project/Src/Services/Debugger/DebuggerDoozer.cs b/src/Main/Base/Project/Src/Services/Debugger/DebuggerDoozer.cs index 3ae4ba3da3..15a3f9dfe0 100644 --- a/src/Main/Base/Project/Src/Services/Debugger/DebuggerDoozer.cs +++ b/src/Main/Base/Project/Src/Services/Debugger/DebuggerDoozer.cs @@ -44,9 +44,9 @@ namespace ICSharpCode.SharpDevelop.Debugging } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - return new DebuggerDescriptor(codon); + return new DebuggerDescriptor(args.Codon); } } diff --git a/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingDoozer.cs b/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingDoozer.cs index 8100430e1b..7b910cf748 100644 --- a/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingDoozer.cs +++ b/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingDoozer.cs @@ -65,12 +65,9 @@ namespace ICSharpCode.SharpDevelop /// Creates an item with the specified sub items. And the current /// Condition status for this item. /// </summary> - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { -// if (subItems == null || subItems.Count > 0) { -// throw new ApplicationException("Tried to buil a command with sub commands, please check the XML definition."); -// } - return new DisplayBindingDescriptor(codon); + return new DisplayBindingDescriptor(args.Codon); } } } diff --git a/src/Main/Base/Project/Src/Services/IconService.cs b/src/Main/Base/Project/Src/Services/IconService.cs index 346daa732a..638a8f422e 100644 --- a/src/Main/Base/Project/Src/Services/IconService.cs +++ b/src/Main/Base/Project/Src/Services/IconService.cs @@ -109,9 +109,7 @@ namespace ICSharpCode.SharpDevelop extensionHashtable[".CMBX"] = "Icons.16x16.CombineIcon"; extensionHashtable[".SLN"] = "Icons.16x16.CombineIcon"; - IconDescriptor[] icons = (IconDescriptor[])treeNode.BuildChildItems(null).ToArray(typeof(IconDescriptor)); - for (int i = 0; i < icons.Length; ++i) { - IconDescriptor iconCodon = icons[i]; + foreach (IconDescriptor iconCodon in treeNode.BuildChildItems<IconDescriptor>(null)) { string imageName = iconCodon.Resource != null ? iconCodon.Resource : iconCodon.Id; if (iconCodon.Extensions != null) { diff --git a/src/Main/Base/Project/Src/Services/LanguageBinding/LanguageBindingDoozer.cs b/src/Main/Base/Project/Src/Services/LanguageBinding/LanguageBindingDoozer.cs index dfa600f5b1..16c656b6e5 100644 --- a/src/Main/Base/Project/Src/Services/LanguageBinding/LanguageBindingDoozer.cs +++ b/src/Main/Base/Project/Src/Services/LanguageBinding/LanguageBindingDoozer.cs @@ -29,12 +29,12 @@ namespace ICSharpCode.SharpDevelop } } - public object BuildItem(object caller, Codon codon, System.Collections.ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - ITextEditor editor = (ITextEditor)caller; - string[] extensions = codon.Properties["extensions"].Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); + ITextEditor editor = (ITextEditor)args.Caller; + string[] extensions = args.Codon["extensions"].Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (CanAttach(extensions, editor.FileName)) { - return codon.AddIn.CreateObject(codon.Properties["class"]); + return args.AddIn.CreateObject(args.Codon["class"]); } else { return null; } diff --git a/src/Main/Base/Project/Src/Services/ParserService/Doozer/ParserDoozer.cs b/src/Main/Base/Project/Src/Services/ParserService/Doozer/ParserDoozer.cs index 3dbd6ef350..b7076604ce 100644 --- a/src/Main/Base/Project/Src/Services/ParserService/Doozer/ParserDoozer.cs +++ b/src/Main/Base/Project/Src/Services/ParserService/Doozer/ParserDoozer.cs @@ -36,9 +36,9 @@ namespace ICSharpCode.SharpDevelop /// Creates an item with the specified sub items. And the current /// Condition status for this item. /// </summary> - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - return new ParserDescriptor(codon); + return new ParserDescriptor(args.Codon); } } } diff --git a/src/Main/Base/Project/Src/Services/ParserService/Doozer/ProjectContentRegistryDoozer.cs b/src/Main/Base/Project/Src/Services/ParserService/Doozer/ProjectContentRegistryDoozer.cs index fd0e4d513b..bfc45554b4 100644 --- a/src/Main/Base/Project/Src/Services/ParserService/Doozer/ProjectContentRegistryDoozer.cs +++ b/src/Main/Base/Project/Src/Services/ParserService/Doozer/ProjectContentRegistryDoozer.cs @@ -38,9 +38,9 @@ namespace ICSharpCode.SharpDevelop /// Creates an item with the specified sub items. And the current /// Condition status for this item. /// </summary> - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - return new ProjectContentRegistryDescriptor(codon); + return new ProjectContentRegistryDescriptor(args.Codon); } } } diff --git a/src/Main/Base/Project/Src/Services/ProjectBinding/ProjectBindingDoozer.cs b/src/Main/Base/Project/Src/Services/ProjectBinding/ProjectBindingDoozer.cs index f6b9c65f97..c9e34e32e6 100644 --- a/src/Main/Base/Project/Src/Services/ProjectBinding/ProjectBindingDoozer.cs +++ b/src/Main/Base/Project/Src/Services/ProjectBinding/ProjectBindingDoozer.cs @@ -42,9 +42,9 @@ namespace ICSharpCode.SharpDevelop /// Creates an item with the specified sub items. And the current /// Condition status for this item. /// </summary> - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - return new ProjectBindingDescriptor(codon); + return new ProjectBindingDescriptor(args.Codon); } } } diff --git a/src/Main/Core/Project/ICSharpCode.Core.csproj b/src/Main/Core/Project/ICSharpCode.Core.csproj index 26ee260bf6..022394c031 100644 --- a/src/Main/Core/Project/ICSharpCode.Core.csproj +++ b/src/Main/Core/Project/ICSharpCode.Core.csproj @@ -60,6 +60,7 @@ <Compile Include="Src\AddInTree\AddIn\AddIn.cs" /> <Compile Include="Src\AddInTree\AddIn\AddInLoadException.cs" /> <Compile Include="Src\AddInTree\AddIn\AssemblyLocator.cs" /> + <Compile Include="Src\AddInTree\AddIn\BuildItemArgs.cs" /> <Compile Include="Src\AddInTree\AddIn\Codon.cs" /> <Compile Include="Src\AddInTree\AddIn\ComplexCondition.cs" /> <Compile Include="Src\AddInTree\AddIn\Condition.cs" /> diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/BuildItemArgs.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/BuildItemArgs.cs new file mode 100644 index 0000000000..96db4cb96f --- /dev/null +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/BuildItemArgs.cs @@ -0,0 +1,78 @@ +// 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.Collections.Generic; +using System.Linq; + +namespace ICSharpCode.Core +{ + /// <summary> + /// Argument class used for <see cref="IDoozer.BuildItem"/>. + /// </summary> + public class BuildItemArgs + { + object caller; + Codon codon; + IEnumerable<ICondition> conditions; + AddInTreeNode subItemNode; + + public BuildItemArgs(object caller, Codon codon, IEnumerable<ICondition> conditions, AddInTreeNode subItemNode) + { + if (codon == null) + throw new ArgumentNullException("codon"); + this.caller = caller; + this.codon = codon; + this.conditions = conditions ?? Enumerable.Empty<ICondition>(); + this.subItemNode = subItemNode; + } + + /// <summary> + /// The caller passed to <see cref="AddInTree.BuildItem(string,object)"/>. + /// </summary> + public object Caller { + get { return caller; } + } + + /// <summary> + /// The codon to build. + /// </summary> + public Codon Codon { + get { return codon; } + } + + /// <summary> + /// The addin containing the codon. + /// </summary> + public AddIn AddIn { + get { return codon.AddIn; } + } + + /// <summary> + /// The conditions applied to this item. + /// </summary> + public IEnumerable<ICondition> Conditions { + get { return conditions; } + } + + /// <summary> + /// The addin tree node containing the sub-items. + /// Returns null if no sub-items exist. + /// </summary> + public AddInTreeNode SubItemNode { + get { return subItemNode; } + } + + /// <summary> + /// Builds the sub-items. + /// Conditions on this node are also applied to the sub-nodes. + /// </summary> + public List<T> BuildSubItems<T>() + { + if (subItemNode == null) + return new List<T>(); + else + return subItemNode.BuildChildItems<T>(caller, conditions); + } + } +} diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/Codon.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/Codon.cs index 866a08893d..188922376e 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/Codon.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/Codon.cs @@ -4,6 +4,7 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Linq; namespace ICSharpCode.Core { @@ -86,19 +87,20 @@ namespace ICSharpCode.Core // properties.BinarySerialize(writer); // } // - public object BuildItem(object owner, ArrayList subItems) + + internal object BuildItem(BuildItemArgs args) { IDoozer doozer; if (!AddInTree.Doozers.TryGetValue(Name, out doozer)) throw new CoreException("Doozer " + Name + " not found! " + ToString()); - if (!doozer.HandleConditions && conditions.Length > 0) { - ConditionFailedAction action = GetFailedAction(owner); + if (!doozer.HandleConditions) { + ConditionFailedAction action = Condition.GetFailedAction(args.Conditions, args.Caller); if (action != ConditionFailedAction.Nothing) { return null; } } - return doozer.BuildItem(owner, this, subItems); + return doozer.BuildItem(args); } public override string ToString() diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ClassDoozer.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ClassDoozer.cs index 78b80f49bd..e0f40fb49f 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ClassDoozer.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ClassDoozer.cs @@ -29,8 +29,9 @@ namespace ICSharpCode.Core } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { + Codon codon = args.Codon; return codon.AddIn.CreateObject(codon.Properties["class"]); } } diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/FileFilterDoozer.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/FileFilterDoozer.cs index f545ab704c..942b2cb89e 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/FileFilterDoozer.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/FileFilterDoozer.cs @@ -31,8 +31,9 @@ namespace ICSharpCode.Core } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { + Codon codon = args.Codon; return new FileFilterDescriptor { Name = StringParser.Parse(codon.Properties["name"]), Extensions = codon.Properties["extensions"] diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/Icon/IconDoozer.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/Icon/IconDoozer.cs index 68fa0d0be0..049cec2a6b 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/Icon/IconDoozer.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/Icon/IconDoozer.cs @@ -37,9 +37,9 @@ namespace ICSharpCode.Core } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - return new IconDescriptor(codon); + return new IconDescriptor(args.Codon); } } } diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/IncludeDoozer.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/IncludeDoozer.cs index 27903e40c8..31618ff709 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/IncludeDoozer.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/IncludeDoozer.cs @@ -3,6 +3,7 @@ using System; using System.Collections; +using System.Collections.Generic; namespace ICSharpCode.Core { @@ -32,46 +33,48 @@ namespace ICSharpCode.Core /// </summary> public bool HandleConditions { get { - return false; + return true; } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { + Codon codon = args.Codon; string item = codon.Properties["item"]; string path = codon.Properties["path"]; if (item != null && item.Length > 0) { // include item - return AddInTree.BuildItem(item, caller); + return AddInTree.BuildItem(item, args.Caller, args.Conditions); } else if (path != null && path.Length > 0) { // include path (=multiple items) - return new IncludeReturnItem(caller, path); + return new IncludeReturnItem(args.Caller, path, args.Conditions); } else { - MessageService.ShowMessage("<Include> requires the attribute 'item' (to include one item) or the attribute 'path' (to include multiple items)"); - return null; + throw new CoreException("<Include> requires the attribute 'item' (to include one item) or the attribute 'path' (to include multiple items)"); } } - class IncludeReturnItem : IBuildItemsModifier + sealed class IncludeReturnItem : IBuildItemsModifier { string path; object caller; + IEnumerable<ICondition> additionalConditions; - public IncludeReturnItem(object caller, string path) + public IncludeReturnItem(object caller, string path, IEnumerable<ICondition> additionalConditions) { this.caller = caller; this.path = path; + this.additionalConditions = additionalConditions; } public void Apply(IList items) { AddInTreeNode node = AddInTree.GetTreeNode(path, false); if (node != null) { - foreach (object o in node.BuildChildItems(caller)) { + foreach (object o in node.BuildChildItems<object>(caller, additionalConditions)) { items.Add(o); } } else { - MessageService.ShowError("IncludeDoozer: AddinTree-Path not found: " + path); + throw new CoreException("IncludeDoozer: AddinTree-Path not found: " + path); } } } diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/LazyDoozer.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/LazyDoozer.cs index f720fdb783..d2003b5875 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/LazyDoozer.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/LazyDoozer.cs @@ -51,14 +51,14 @@ namespace ICSharpCode.Core } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { IDoozer doozer = (IDoozer)addIn.CreateObject(className); if (doozer == null) { return null; } AddInTree.Doozers[name] = doozer; - return doozer.BuildItem(caller, codon, subItems); + return doozer.BuildItem(args); } public override string ToString() @@ -67,6 +67,5 @@ namespace ICSharpCode.Core className, name); } - } } diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/MenuItem/MenuItemDoozer.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/MenuItem/MenuItemDoozer.cs index 1a93ad507d..3dc16aa8ca 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/MenuItem/MenuItemDoozer.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/MenuItem/MenuItemDoozer.cs @@ -61,9 +61,9 @@ namespace ICSharpCode.Core } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - return new MenuItemDescriptor(caller, codon, subItems); + return new MenuItemDescriptor(args.Caller, args.Codon, args.BuildSubItems<object>()); } } diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/StringDoozer.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/StringDoozer.cs index f856660858..37718c9bb2 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/StringDoozer.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/StringDoozer.cs @@ -27,9 +27,9 @@ namespace ICSharpCode.Core } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - return StringParser.Parse(codon.Properties["text"]); + return StringParser.Parse(args.Codon.Properties["text"]); } } } diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ToolBarItem/ToolBarItemDoozer.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ToolBarItem/ToolBarItemDoozer.cs index 4d27139733..d0caaa4368 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ToolBarItem/ToolBarItemDoozer.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ToolBarItem/ToolBarItemDoozer.cs @@ -51,9 +51,9 @@ namespace ICSharpCode.Core } } - public object BuildItem(object caller, Codon codon, ArrayList subItems) + public object BuildItem(BuildItemArgs args) { - return new ToolbarItemDescriptor(caller, codon, subItems); + return new ToolbarItemDescriptor(args.Caller, args.Codon, args.BuildSubItems<object>()); } } diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/ExtensionPath.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/ExtensionPath.cs index bb6cd6749a..53c73de78a 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/ExtensionPath.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/ExtensionPath.cs @@ -57,12 +57,12 @@ namespace ICSharpCode.Core public static void SetUp(ExtensionPath extensionPath, XmlReader reader, string endElement) { - Stack<ICondition> conditionStack = new Stack<ICondition>(); - extensionPath.DoSetUp(reader, endElement, conditionStack); + extensionPath.DoSetUp(reader, endElement); } - void DoSetUp(XmlReader reader, string endElement, Stack<ICondition> conditionStack) + void DoSetUp(XmlReader reader, string endElement) { + Stack<ICondition> conditionStack = new Stack<ICondition>(); List<Codon> innerCodons = new List<Codon>(); while (reader.Read()) { switch (reader.NodeType) { @@ -86,7 +86,7 @@ namespace ICSharpCode.Core innerCodons.Add(newCodon); if (!reader.IsEmptyElement) { ExtensionPath subPath = this.AddIn.GetExtensionPath(this.Name + "/" + newCodon.Id); - subPath.DoSetUp(reader, elementName, conditionStack); + subPath.DoSetUp(reader, elementName); } } break; diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/IDoozer.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/IDoozer.cs index 8c79420fce..5329483625 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/IDoozer.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/IDoozer.cs @@ -21,10 +21,11 @@ namespace ICSharpCode.Core /// <summary> /// Construct the item. /// </summary> - /// <param name="caller">The caller passed to <see cref="AddInTree.BuildItem"/>.</param> - /// <param name="codon">The codon to build.</param> - /// <param name="subItems">The list of objects created by (other) doozers for the sub items.</param> - /// <returns>The constructed item.</returns> - object BuildItem(object caller, Codon codon, ArrayList subItems); + /// <returns> + /// The constructed item. + /// May return an object implementing <see cref="IBuildItemsModifier"/> for returning + /// multiple arguments. + /// </returns> + object BuildItem(BuildItemArgs args); } } diff --git a/src/Main/Core/Project/Src/AddInTree/AddInTree.cs b/src/Main/Core/Project/Src/AddInTree/AddInTree.cs index 6ab5df49d7..c52965d792 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddInTree.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddInTree.cs @@ -3,6 +3,7 @@ using System; using System.Collections; +using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; using System.Resources; @@ -17,21 +18,21 @@ namespace ICSharpCode.Core static List<AddIn> addIns = new List<AddIn>(); static AddInTreeNode rootNode = new AddInTreeNode(); - static Dictionary<string, IDoozer> doozers = new Dictionary<string, IDoozer>(); - static Dictionary<string, IConditionEvaluator> conditionEvaluators = new Dictionary<string, IConditionEvaluator>(); + static ConcurrentDictionary<string, IDoozer> doozers = new ConcurrentDictionary<string, IDoozer>(); + static ConcurrentDictionary<string, IConditionEvaluator> conditionEvaluators = new ConcurrentDictionary<string, IConditionEvaluator>(); static AddInTree() { - doozers.Add("Class", new ClassDoozer()); - doozers.Add("FileFilter", new FileFilterDoozer()); - doozers.Add("String", new StringDoozer()); - doozers.Add("Icon", new IconDoozer()); - doozers.Add("MenuItem", new MenuItemDoozer()); - doozers.Add("ToolbarItem", new ToolbarItemDoozer()); - doozers.Add("Include", new IncludeDoozer()); + doozers.TryAdd("Class", new ClassDoozer()); + doozers.TryAdd("FileFilter", new FileFilterDoozer()); + doozers.TryAdd("String", new StringDoozer()); + doozers.TryAdd("Icon", new IconDoozer()); + doozers.TryAdd("MenuItem", new MenuItemDoozer()); + doozers.TryAdd("ToolbarItem", new ToolbarItemDoozer()); + doozers.TryAdd("Include", new IncludeDoozer()); - conditionEvaluators.Add("Compare", new CompareConditionEvaluator()); - conditionEvaluators.Add("Ownerstate", new OwnerStateConditionEvaluator()); + conditionEvaluators.TryAdd("Compare", new CompareConditionEvaluator()); + conditionEvaluators.TryAdd("Ownerstate", new OwnerStateConditionEvaluator()); ApplicationStateInfoService.RegisterStateGetter("Installed 3rd party AddIns", GetInstalledThirdPartyAddInsListAsString); } @@ -76,7 +77,7 @@ namespace ICSharpCode.Core /// <summary> /// Gets a dictionary of registered doozers. /// </summary> - public static Dictionary<string, IDoozer> Doozers { + public static ConcurrentDictionary<string, IDoozer> Doozers { get { return doozers; } @@ -85,7 +86,7 @@ namespace ICSharpCode.Core /// <summary> /// Gets a dictionary of registered condition evaluators. /// </summary> - public static Dictionary<string, IConditionEvaluator> ConditionEvaluators { + public static ConcurrentDictionary<string, IConditionEvaluator> ConditionEvaluators { get { return conditionEvaluators; } @@ -96,21 +97,7 @@ namespace ICSharpCode.Core /// </summary> public static bool ExistsTreeNode(string path) { - if (path == null || path.Length == 0) { - return true; - } - - string[] splittedPath = path.Split('/'); - AddInTreeNode curPath = rootNode; - int i = 0; - while (i < splittedPath.Length) { - // curPath = curPath.ChildNodes[splittedPath[i]] - check if child path exists - if (!curPath.ChildNodes.TryGetValue(splittedPath[i], out curPath)) { - return false; - } - ++i; - } - return true; + return GetTreeNode(path, false) != null; } /// <summary> @@ -139,16 +126,13 @@ namespace ICSharpCode.Core } string[] splittedPath = path.Split('/'); AddInTreeNode curPath = rootNode; - int i = 0; - while (i < splittedPath.Length) { + for (int i = 0; i < splittedPath.Length; i++) { if (!curPath.ChildNodes.TryGetValue(splittedPath[i], out curPath)) { if (throwOnNotFound) throw new TreePathNotFoundException(path); else return null; } - // curPath = curPath.ChildNodes[splittedPath[i]]; already done by TryGetValue - ++i; } return curPath; } @@ -161,12 +145,17 @@ namespace ICSharpCode.Core /// <exception cref="TreePathNotFoundException">The path does not /// exist or does not point to an item.</exception> public static object BuildItem(string path, object caller) + { + return BuildItem(path, caller, null); + } + + public static object BuildItem(string path, object caller, IEnumerable<ICondition> additionalConditions) { int pos = path.LastIndexOf('/'); string parent = path.Substring(0, pos); string child = path.Substring(pos + 1); AddInTreeNode node = GetTreeNode(parent); - return node.BuildChildItem(child, caller, new ArrayList(BuildItems<object>(path, caller, false))); + return node.BuildChildItem(child, caller, additionalConditions); } /// <summary> @@ -239,16 +228,12 @@ namespace ICSharpCode.Core foreach (Runtime runtime in addIn.Runtimes) { if (runtime.IsActive) { foreach (LazyLoadDoozer doozer in runtime.DefinedDoozers) { - if (AddInTree.Doozers.ContainsKey(doozer.Name)) { + if (!doozers.TryAdd(doozer.Name, doozer)) throw new AddInLoadException("Duplicate doozer: " + doozer.Name); - } - AddInTree.Doozers.Add(doozer.Name, doozer); } foreach (LazyConditionEvaluator condition in runtime.DefinedConditionEvaluators) { - if (AddInTree.ConditionEvaluators.ContainsKey(condition.Name)) { + if (!conditionEvaluators.TryAdd(condition.Name, condition)) throw new AddInLoadException("Duplicate condition evaluator: " + condition.Name); - } - AddInTree.ConditionEvaluators.Add(condition.Name, condition); } } } diff --git a/src/Main/Core/Project/Src/AddInTree/AddInTreeNode.cs b/src/Main/Core/Project/Src/AddInTree/AddInTreeNode.cs index 1724611c03..c65159bd49 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddInTreeNode.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddInTreeNode.cs @@ -5,6 +5,7 @@ using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.Linq; namespace ICSharpCode.Core { @@ -60,39 +61,17 @@ namespace ICSharpCode.Core } } -// -// public void BinarySerialize(BinaryWriter writer) -// { -// if (!isSorted) { -// (new SortCodons(this)).Execute(); -// isSorted = true; -// } -// writer.Write((ushort)codons.Count); -// foreach (Codon codon in codons) { -// codon.BinarySerialize(writer); -// } -// -// writer.Write((ushort)childNodes.Count); -// foreach (KeyValuePair<string, AddInTreeNode> child in childNodes) { -// writer.Write(AddInTree.GetNameOffset(child.Key)); -// child.Value.BinarySerialize(writer); -// } -// } - /// <summary> /// Builds the child items in this path. Ensures that all items have the type T. /// </summary> /// <param name="caller">The owner used to create the objects.</param> - public List<T> BuildChildItems<T>(object caller) + /// <param name="additionalConditions">Additional conditions applied to the node.</param> + public List<T> BuildChildItems<T>(object caller, IEnumerable<ICondition> additionalConditions = null) { var codons = this.Codons; List<T> items = new List<T>(codons.Count); foreach (Codon codon in codons) { - ArrayList subItems = null; - if (childNodes.ContainsKey(codon.Id)) { - subItems = childNodes[codon.Id].BuildChildItems(caller); - } - object result = codon.BuildItem(caller, subItems); + object result = BuildChildItem(codon, caller, additionalConditions); if (result == null) continue; IBuildItemsModifier mod = result as IBuildItemsModifier; @@ -109,30 +88,33 @@ namespace ICSharpCode.Core return items; } + public object BuildChildItem(Codon codon, object caller, IEnumerable<ICondition> additionalConditions = null) + { + if (codon == null) + throw new ArgumentNullException("codon"); + + AddInTreeNode subItemNode; + childNodes.TryGetValue(codon.Id, out subItemNode); + + IEnumerable<ICondition> conditions; + if (additionalConditions == null) + conditions = codon.Conditions; + else if (codon.Conditions.Length == 0) + conditions = additionalConditions; + else + conditions = additionalConditions.Concat(codon.Conditions); + + return codon.BuildItem(new BuildItemArgs(caller, codon, conditions, subItemNode)); + } + /// <summary> /// Builds the child items in this path. /// </summary> /// <param name="caller">The owner used to create the objects.</param> + [Obsolete("Use the generic BuildChildItems version instead")] public ArrayList BuildChildItems(object caller) { - var codons = this.Codons; - ArrayList items = new ArrayList(codons.Count); - foreach (Codon codon in codons) { - ArrayList subItems = null; - if (childNodes.ContainsKey(codon.Id)) { - subItems = childNodes[codon.Id].BuildChildItems(caller); - } - object result = codon.BuildItem(caller, subItems); - if (result == null) - continue; - IBuildItemsModifier mod = result as IBuildItemsModifier; - if (mod != null) { - mod.Apply(items); - } else { - items.Add(result); - } - } - return items; + return new ArrayList(this.BuildChildItems<object>(caller)); } /// <summary> @@ -142,15 +124,15 @@ namespace ICSharpCode.Core /// The ID of the child item to build. /// </param> /// <param name="caller">The owner used to create the objects.</param> - /// <param name="subItems">The subitems to pass to the doozer</param> + /// <param name="additionalConditions">Additional conditions applied to the created object</param> /// <exception cref="TreePathNotFoundException"> /// Occurs when <paramref name="childItemID"/> does not exist in this path. /// </exception> - public object BuildChildItem(string childItemID, object caller, ArrayList subItems) + public object BuildChildItem(string childItemID, object caller, IEnumerable<ICondition> additionalConditions = null) { foreach (Codon codon in this.Codons) { if (codon.Id == childItemID) { - return codon.BuildItem(caller, subItems); + return BuildChildItem(codon, caller, additionalConditions); } } throw new TreePathNotFoundException(childItemID); diff --git a/src/Main/Core/Test/AddInTreeTests/AddInTreeLoadingTests.cs b/src/Main/Core/Test/AddInTreeTests/AddInTreeLoadingTests.cs index a2b50ec860..cf8801cbed 100644 --- a/src/Main/Core/Test/AddInTreeTests/AddInTreeLoadingTests.cs +++ b/src/Main/Core/Test/AddInTreeTests/AddInTreeLoadingTests.cs @@ -193,7 +193,8 @@ namespace ICSharpCode.Core.Tests.AddInTreeTests.Tests Assert.AreEqual(1, codons2.Count); Assert.AreEqual("Codon2", codons2[0].Name); Assert.AreEqual("Sub2", codons2[0].Id); - Assert.AreEqual(1, codons2[0].Conditions.Length); // condition is inherited into sub-codon + // condition is not inherited lexically + Assert.AreEqual(0, codons2[0].Conditions.Length); } [Test] From 3d10700cd89e1ec74c463402652a2b305dafb5f1 Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Tue, 2 Aug 2011 17:23:36 +0200 Subject: [PATCH 111/168] make style cop addin work for old version (<=4.3.3.0) and new (>= 4.5.x.x) --- .../SourceAnalysis/SharpDevelop.SourceAnalysis.targets | 2 +- .../SourceAnalysis/Src/AnalysisIdeOptionsPanel.cs | 8 ++++---- .../SourceAnalysis/Src/CheckCurrentProjectCommand.cs | 1 + src/AddIns/Analysis/SourceAnalysis/Src/StyleCopWrapper.cs | 5 +++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/AddIns/Analysis/SourceAnalysis/SharpDevelop.SourceAnalysis.targets b/src/AddIns/Analysis/SourceAnalysis/SharpDevelop.SourceAnalysis.targets index 7ebbeac80b..129673eb84 100644 --- a/src/AddIns/Analysis/SourceAnalysis/SharpDevelop.SourceAnalysis.targets +++ b/src/AddIns/Analysis/SourceAnalysis/SharpDevelop.SourceAnalysis.targets @@ -1,7 +1,7 @@ <?xml version="1.0"?> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <UsingTask TaskName="StyleCopTask" - AssemblyFile="$(StyleCopDir)\Microsoft.StyleCop.dll"/> + AssemblyFile="$(StyleCopFile)"/> <PropertyGroup> <BuildDependsOn>$(BuildDependsOn);SourceAnalysis</BuildDependsOn> diff --git a/src/AddIns/Analysis/SourceAnalysis/Src/AnalysisIdeOptionsPanel.cs b/src/AddIns/Analysis/SourceAnalysis/Src/AnalysisIdeOptionsPanel.cs index eb620730c9..3c692ca7c8 100644 --- a/src/AddIns/Analysis/SourceAnalysis/Src/AnalysisIdeOptionsPanel.cs +++ b/src/AddIns/Analysis/SourceAnalysis/Src/AnalysisIdeOptionsPanel.cs @@ -42,13 +42,13 @@ namespace MattEverson.SourceAnalysis { using (OpenFileDialog dlg = new OpenFileDialog()) { dlg.DefaultExt = "dll"; - dlg.Filter = StringParser.Parse("StyleCop|Microsoft.StyleCop.dll|${res:SharpDevelop.FileFilter.AllFiles}|*.*"); + dlg.Filter = StringParser.Parse("StyleCop|*" + StyleCopWrapper.STYLE_COP_FILE + "|${res:SharpDevelop.FileFilter.AllFiles}|*.*"); if (dlg.ShowDialog() == DialogResult.OK) { - string path = Path.GetDirectoryName(dlg.FileName); + string path = dlg.FileName; if (StyleCopWrapper.IsStyleCopPath(path)) { StyleCopPath = path; } else { - MessageService.ShowError("Directory does not contain StyleCop."); + MessageService.ShowError(string.Format("Directory does not contain StyleCop (*{0}).", StyleCopWrapper.STYLE_COP_FILE)); } } } @@ -57,7 +57,7 @@ namespace MattEverson.SourceAnalysis void ModifyStyleCopSettingsClick(object sender, EventArgs e) { - var executable = Path.Combine(StyleCopWrapper.FindStyleCopPath(), "StyleCopSettingsEditor.exe"); + var executable = Path.Combine(Path.GetDirectoryName(StyleCopWrapper.FindStyleCopPath()), "StyleCopSettingsEditor.exe"); var parameters = "\"" + StyleCopWrapper.GetMasterSettingsFile() + "\""; if (!File.Exists(executable)) { diff --git a/src/AddIns/Analysis/SourceAnalysis/Src/CheckCurrentProjectCommand.cs b/src/AddIns/Analysis/SourceAnalysis/Src/CheckCurrentProjectCommand.cs index 84538b52fc..c7394cc33f 100644 --- a/src/AddIns/Analysis/SourceAnalysis/Src/CheckCurrentProjectCommand.cs +++ b/src/AddIns/Analysis/SourceAnalysis/Src/CheckCurrentProjectCommand.cs @@ -15,6 +15,7 @@ namespace MattEverson.SourceAnalysis BuildOptions options = new BuildOptions(BuildTarget.Rebuild, CallbackMethod); options.TargetForDependencies = BuildTarget.Build; options.ProjectAdditionalProperties["RunSourceAnalysis"] = "true"; + options.ProjectAdditionalProperties["StyleCopFile"] = StyleCopWrapper.FindStyleCopPath() ?? string.Empty; BuildEngine.BuildInGui(this.ProjectToBuild, options); } } diff --git a/src/AddIns/Analysis/SourceAnalysis/Src/StyleCopWrapper.cs b/src/AddIns/Analysis/SourceAnalysis/Src/StyleCopWrapper.cs index 978da2d1dc..d6b74509e2 100644 --- a/src/AddIns/Analysis/SourceAnalysis/Src/StyleCopWrapper.cs +++ b/src/AddIns/Analysis/SourceAnalysis/Src/StyleCopWrapper.cs @@ -12,13 +12,14 @@ namespace MattEverson.SourceAnalysis public static class StyleCopWrapper { public static readonly string MasterSettingsFileName = Path.Combine(PropertyService.ConfigDirectory, @"Settings.SourceAnalysis"); + public const string STYLE_COP_FILE = "StyleCop.dll"; public static bool IsStyleCopPath(string styleCopPath) { if (string.IsNullOrEmpty(styleCopPath)) return false; - else - return File.Exists(Path.Combine(styleCopPath, "Microsoft.StyleCop.dll")); + + return File.Exists(styleCopPath); } public static string FindStyleCopPath() From c21b361fa6ee672fb0ecd66657ed229955e6b475 Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Tue, 2 Aug 2011 21:33:34 +0200 Subject: [PATCH 112/168] fix build and project options panel. --- .../SourceAnalysis/SharpDevelop.SourceAnalysis.targets | 3 ++- .../Analysis/SourceAnalysis/Src/AnalysisProjectOptionsPanel.cs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/AddIns/Analysis/SourceAnalysis/SharpDevelop.SourceAnalysis.targets b/src/AddIns/Analysis/SourceAnalysis/SharpDevelop.SourceAnalysis.targets index 129673eb84..71751405a4 100644 --- a/src/AddIns/Analysis/SourceAnalysis/SharpDevelop.SourceAnalysis.targets +++ b/src/AddIns/Analysis/SourceAnalysis/SharpDevelop.SourceAnalysis.targets @@ -1,6 +1,7 @@ <?xml version="1.0"?> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <UsingTask TaskName="StyleCopTask" + <UsingTask Condition="'$(StyleCopFile)' != ''" + TaskName="StyleCopTask" AssemblyFile="$(StyleCopFile)"/> <PropertyGroup> diff --git a/src/AddIns/Analysis/SourceAnalysis/Src/AnalysisProjectOptionsPanel.cs b/src/AddIns/Analysis/SourceAnalysis/Src/AnalysisProjectOptionsPanel.cs index a72e3272da..857f2055e6 100644 --- a/src/AddIns/Analysis/SourceAnalysis/Src/AnalysisProjectOptionsPanel.cs +++ b/src/AddIns/Analysis/SourceAnalysis/Src/AnalysisProjectOptionsPanel.cs @@ -63,7 +63,7 @@ namespace MattEverson.SourceAnalysis { string styleCopPath = StyleCopWrapper.FindStyleCopPath(); string executable; if (styleCopPath != null) - executable = Path.Combine(styleCopPath, "StyleCopSettingsEditor.exe"); + executable = Path.Combine(Path.GetDirectoryName(styleCopPath), "StyleCopSettingsEditor.exe"); else executable = null; string parameters = "\"" + settingsFile + "\""; From b6fe47b4042f9f04824d667af65b448818483a3f Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Tue, 2 Aug 2011 23:59:46 +0200 Subject: [PATCH 113/168] fix start options for ASp.NET MVC projects --- .../Debugger.AddIn/Service/WindowsDebugger.cs | 124 ++++++++++++------ 1 file changed, 83 insertions(+), 41 deletions(-) diff --git a/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs b/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs index aa5d94b9c5..c010a3850f 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs @@ -143,12 +143,12 @@ namespace ICSharpCode.SharpDevelop.Services if (FileUtility.IsUrl(processStartInfo.FileName)) { if (!CheckWebProjectStartInfo()) return; - - var project = ProjectService.OpenSolution.StartupProject as CompilableProject; - var options = WebProjectsOptions.Instance.GetWebProjectOptions(project.Name); - System.Diagnostics.Process defaultAppProcess = null; - - if (options.Data.WebServer != WebServer.None) { + // we deal with a WebProject + try { + var project = ProjectService.OpenSolution.StartupProject as CompilableProject; + var options = WebProjectsOptions.Instance.GetWebProjectOptions(project.Name); + System.Diagnostics.Process defaultAppProcess = null; + string processName = WebProjectService.WorkerProcessName; // try find the worker process directly or using the process monitor callback @@ -171,28 +171,50 @@ namespace ICSharpCode.SharpDevelop.Services if (options.Data.WebServer == WebServer.IISExpress) { // start IIS express and attach to it - if (WebProjectService.IISVersion == IISVersion.IISExpress) + if (WebProjectService.IISVersion == IISVersion.IISExpress) { System.Diagnostics.Process.Start(WebProjectService.IISExpressProcessLocation); - else { + } else { MessageService.ShowError("${res:ICSharpCode.WepProjectOptionsPanel.NoProjectUrlOrProgramAction}"); return; } } - } - - // start default application(e.g. browser) - if (project.StartAction == StartAction.StartURL) - defaultAppProcess = System.Diagnostics.Process.Start(project.StartUrl); - else { - if (!string.IsNullOrEmpty(options.Data.ProjectUrl) && options.Data.WebServer == WebServer.IIS) - defaultAppProcess = System.Diagnostics.Process.Start(options.Data.ProjectUrl); - else { - if (options.Data.WebServer == WebServer.IISExpress) - defaultAppProcess = System.Diagnostics.Process.Start(options.Data.ProjectUrl); + + // start default application(e.g. browser) or the one specified + switch (project.StartAction) { + case StartAction.Project: + if (FileUtility.IsUrl(options.Data.ProjectUrl)) { + defaultAppProcess = System.Diagnostics.Process.Start(options.Data.ProjectUrl); + } else { + MessageService.ShowError("${res:ICSharpCode.WepProjectOptionsPanel.NoProjectUrlOrProgramAction}"); + return; + } + break; + case StartAction.Program: + defaultAppProcess = System.Diagnostics.Process.Start(project.StartProgram); + break; + case StartAction.StartURL: + if (FileUtility.IsUrl(project.StartUrl)) + defaultAppProcess = System.Diagnostics.Process.Start(project.StartUrl); + else { + string url = string.Concat(options.Data.ProjectUrl, project.StartUrl); + if (FileUtility.IsUrl(url)) { + defaultAppProcess = System.Diagnostics.Process.Start(url); + } else { + MessageService.ShowError("${res:ICSharpCode.WepProjectOptionsPanel.NoProjectUrlOrProgramAction}"); + return; + } + } + break; + default: + throw new System.Exception("Invalid value for StartAction"); } + } catch (System.Exception ex) { + string err = "Error: " + ex.Message; + MessageService.ShowError(err); + LoggingService.Error(err); + return; } - } - else { + } else { string version = debugger.GetProgramVersion(processStartInfo.FileName); if (version.StartsWith("v1.0")) { @@ -301,11 +323,11 @@ namespace ICSharpCode.SharpDevelop.Services if (FileUtility.IsUrl(processStartInfo.FileName)) { if (!CheckWebProjectStartInfo()) return; - - var project = ProjectService.OpenSolution.Preferences.StartupProject as CompilableProject; - var options = WebProjectsOptions.Instance.GetWebProjectOptions(project.Name); - - if (options.Data.WebServer != WebServer.None) { + // we deal with a WebProject + try { + var project = ProjectService.OpenSolution.StartupProject as CompilableProject; + var options = WebProjectsOptions.Instance.GetWebProjectOptions(project.Name); + string processName = WebProjectService.WorkerProcessName; if (options.Data.WebServer == WebServer.IISExpress) { @@ -317,23 +339,43 @@ namespace ICSharpCode.SharpDevelop.Services return; } } - } - - // start default application(e.g. browser) - if (project.StartAction == StartAction.StartURL) - System.Diagnostics.Process.Start(project.StartUrl); - else { - if (!string.IsNullOrEmpty(options.Data.ProjectUrl) && options.Data.WebServer == WebServer.IIS) - System.Diagnostics.Process.Start(options.Data.ProjectUrl); - else { - if (!string.IsNullOrEmpty(options.Data.ProjectUrl) && options.Data.WebServer == WebServer.IISExpress) - System.Diagnostics.Process.Start(options.Data.ProjectUrl); - else - System.Diagnostics.Process.Start(processStartInfo.FileName); + + // start default application(e.g. browser) or the one specified + switch (project.StartAction) { + case StartAction.Project: + if (FileUtility.IsUrl(options.Data.ProjectUrl)) { + System.Diagnostics.Process.Start(options.Data.ProjectUrl); + } else { + MessageService.ShowError("${res:ICSharpCode.WepProjectOptionsPanel.NoProjectUrlOrProgramAction}"); + return; + } + break; + case StartAction.Program: + System.Diagnostics.Process.Start(project.StartProgram); + break; + case StartAction.StartURL: + if (FileUtility.IsUrl(project.StartUrl)) + System.Diagnostics.Process.Start(project.StartUrl); + else { + string url = string.Concat(options.Data.ProjectUrl, project.StartUrl); + if (FileUtility.IsUrl(url)) { + System.Diagnostics.Process.Start(url); + } else { + MessageService.ShowError("${res:ICSharpCode.WepProjectOptionsPanel.NoProjectUrlOrProgramAction}"); + return; + } + } + break; + default: + throw new System.Exception("Invalid value for StartAction"); } + } catch (System.Exception ex) { + string err = "Error: " + ex.Message; + MessageService.ShowError(err); + LoggingService.Error(err); + return; } - } - else + } else System.Diagnostics.Process.Start(processStartInfo); } From 2eef3e4be9f20b1cdf2a363e442bc038d354c308 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald <daniel@danielgrunwald.de> Date: Wed, 3 Aug 2011 19:18:38 +0200 Subject: [PATCH 114/168] Fix syntax highlighting when comments are on the same line as preprocessor directives (forum-13500) --- .../Highlighting/Resources/CSharp-Mode.xshd | 29 ++++++++++--------- .../Gui/Dialogs/SharpDevelopAboutPanels.cs | 2 ++ 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/CSharp-Mode.xshd b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/CSharp-Mode.xshd index bc23611e23..cf23ceb3ab 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/CSharp-Mode.xshd +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/CSharp-Mode.xshd @@ -43,20 +43,21 @@ <Span color="Preprocessor"> <Begin>\#</Begin> <RuleSet name="PreprocessorSet"> - <Keywords fontWeight="bold"> - <Word>if</Word> - <Word>else</Word> - <Word>elif</Word> - <Word>endif</Word> - <Word>define</Word> - <Word>undef</Word> - <Word>warning</Word> - <Word>error</Word> - <Word>line</Word> - <Word>region</Word> - <Word>endregion</Word> - <Word>pragma</Word> - </Keywords> + <Span> <!-- preprocessor directives that allow comments --> + <Begin fontWeight="bold"> + (define|undef|if|elif|else|endif|line)\b + </Begin> + <RuleSet> + <Span color="Comment" ruleSet="CommentMarkerSet"> + <Begin>//</Begin> + </Span> + </RuleSet> + </Span> + <Span> <!-- preprocessor directives that don't allow comments --> + <Begin fontWeight="bold"> + (region|endregion|error|warning|pragma)\b + </Begin> + </Span> </RuleSet> </Span> diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/SharpDevelopAboutPanels.cs b/src/Main/Base/Project/Src/Gui/Dialogs/SharpDevelopAboutPanels.cs index 5f010b0b88..aaa42bab99 100644 --- a/src/Main/Base/Project/Src/Gui/Dialogs/SharpDevelopAboutPanels.cs +++ b/src/Main/Base/Project/Src/Gui/Dialogs/SharpDevelopAboutPanels.cs @@ -126,6 +126,8 @@ namespace ICSharpCode.SharpDevelop.Gui } string PROCESSOR_ARCHITEW6432 = Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"); if (!string.IsNullOrEmpty(PROCESSOR_ARCHITEW6432)) { + if (PROCESSOR_ARCHITEW6432 == "AMD64") + PROCESSOR_ARCHITEW6432 = "x86-64"; str += "Running under WOW6432, processor architecture: " + PROCESSOR_ARCHITEW6432 + Environment.NewLine; } } catch {} From 2a34197c759f02ecbfc3c83ce30eceb0160d26d6 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Fri, 5 Aug 2011 17:10:51 +0200 Subject: [PATCH 115/168] copy enhanced SharpTreeView from ILSpy --- .../ICSharpCode.TreeView/ExtensionMethods.cs | 2 +- .../ICSharpCode.TreeView/FlatListTreeNode.cs | 397 +++++++++ .../ICSharpCode.TreeView.csproj | 2 + .../ICSharpCode.TreeView/SharpTreeNode.cs | 750 ++++++++++-------- .../SharpTreeNodeCollection.cs | 205 ++++- .../ICSharpCode.TreeView/SharpTreeNodeView.cs | 21 +- .../ICSharpCode.TreeView/SharpTreeView.cs | 358 +++++++-- .../ICSharpCode.TreeView/SharpTreeViewItem.cs | 112 +-- .../ICSharpCode.TreeView/Themes/Generic.xaml | 28 +- .../ICSharpCode.TreeView/TreeFlattener.cs | 221 +++--- .../ICSharpCode.TreeView/TreeTraversal.cs | 54 ++ 11 files changed, 1483 insertions(+), 667 deletions(-) create mode 100644 src/Libraries/SharpTreeView/ICSharpCode.TreeView/FlatListTreeNode.cs create mode 100644 src/Libraries/SharpTreeView/ICSharpCode.TreeView/TreeTraversal.cs diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ExtensionMethods.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ExtensionMethods.cs index 761b206b36..d4e31d4429 100644 --- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ExtensionMethods.cs +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ExtensionMethods.cs @@ -12,7 +12,7 @@ using System.Windows.Input; namespace ICSharpCode.TreeView { - public static class ExtensionMethods + static class ExtensionMethods { public static T FindAncestor<T>(this DependencyObject d) where T : class { diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/FlatListTreeNode.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/FlatListTreeNode.cs new file mode 100644 index 0000000000..cf30a85e35 --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/FlatListTreeNode.cs @@ -0,0 +1,397 @@ +// 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.Collections.Generic; +using System.Diagnostics; + +namespace ICSharpCode.TreeView +{ + // This part of SharpTreeNode controls the 'flat list' data structure, which emulates + // a big flat list containing the whole tree; allowing access by visible index. + partial class SharpTreeNode + { + /// <summary>The parent in the flat list</summary> + internal SharpTreeNode listParent; + /// <summary>Left/right nodes in the flat list</summary> + SharpTreeNode left, right; + + internal TreeFlattener treeFlattener; + + /// <summary>Subtree height in the flat list tree</summary> + byte height = 1; + + /// <summary>Length in the flat list, including children (children within the flat list). -1 = invalidated</summary> + int totalListLength = -1; + + int Balance { + get { return Height(right) - Height(left); } + } + + static int Height(SharpTreeNode node) + { + return node != null ? node.height : 0; + } + + internal SharpTreeNode GetListRoot() + { + SharpTreeNode node = this; + while (node.listParent != null) + node = node.listParent; + return node; + } + + #region Debugging + [Conditional("DEBUG")] + void CheckRootInvariants() + { + GetListRoot().CheckInvariants(); + } + + [Conditional("DATACONSISTENCYCHECK")] + void CheckInvariants() + { + Debug.Assert(left == null || left.listParent == this); + Debug.Assert(right == null || right.listParent == this); + Debug.Assert(height == 1 + Math.Max(Height(left), Height(right))); + Debug.Assert(Math.Abs(this.Balance) <= 1); + Debug.Assert(totalListLength == -1 || totalListLength == (left != null ? left.totalListLength : 0) + (isVisible ? 1 : 0) + (right != null ? right.totalListLength : 0)); + if (left != null) left.CheckInvariants(); + if (right != null) right.CheckInvariants(); + } + + [Conditional("DEBUG")] + static void DumpTree(SharpTreeNode node) + { + node.GetListRoot().DumpTree(); + } + + [Conditional("DEBUG")] + void DumpTree() + { + Debug.Indent(); + if (left != null) + left.DumpTree(); + Debug.Unindent(); + Debug.WriteLine("{0}, totalListLength={1}, height={2}, Balance={3}, isVisible={4}", ToString(), totalListLength, height, Balance, isVisible); + Debug.Indent(); + if (right != null) + right.DumpTree(); + Debug.Unindent(); + } + #endregion + + #region GetNodeByVisibleIndex / GetVisibleIndexForNode + internal static SharpTreeNode GetNodeByVisibleIndex(SharpTreeNode root, int index) + { + root.GetTotalListLength(); // ensure all list lengths are calculated + Debug.Assert(index >= 0); + Debug.Assert(index < root.totalListLength); + SharpTreeNode node = root; + while (true) { + if (node.left != null && index < node.left.totalListLength) { + node = node.left; + } else { + if (node.left != null) { + index -= node.left.totalListLength; + } + if (node.isVisible) { + if (index == 0) + return node; + index--; + } + node = node.right; + } + } + } + + internal static int GetVisibleIndexForNode(SharpTreeNode node) + { + int index = node.left != null ? node.left.GetTotalListLength() : 0; + while (node.listParent != null) { + if (node == node.listParent.right) { + if (node.listParent.left != null) + index += node.listParent.left.GetTotalListLength(); + if (node.listParent.isVisible) + index++; + } + node = node.listParent; + } + return index; + } + #endregion + + #region Balancing + /// <summary> + /// Balances the subtree rooted in <paramref name="node"/> and recomputes the 'height' field. + /// This method assumes that the children of this node are already balanced and have an up-to-date 'height' value. + /// </summary> + /// <returns>The new root node</returns> + static SharpTreeNode Rebalance(SharpTreeNode node) + { + Debug.Assert(node.left == null || Math.Abs(node.left.Balance) <= 1); + Debug.Assert(node.right == null || Math.Abs(node.right.Balance) <= 1); + // Keep looping until it's balanced. Not sure if this is stricly required; this is based on + // the Rope code where node merging made this necessary. + while (Math.Abs(node.Balance) > 1) { + // AVL balancing + // note: because we don't care about the identity of concat nodes, this works a little different than usual + // tree rotations: in our implementation, the "this" node will stay at the top, only its children are rearranged + if (node.Balance > 1) { + if (node.right.Balance < 0) { + node.right = node.right.RotateRight(); + } + node = node.RotateLeft(); + // If 'node' was unbalanced by more than 2, we've shifted some of the inbalance to the left node; so rebalance that. + node.left = Rebalance(node.left); + } else if (node.Balance < -1) { + if (node.left.Balance > 0) { + node.left = node.left.RotateLeft(); + } + node = node.RotateRight(); + // If 'node' was unbalanced by more than 2, we've shifted some of the inbalance to the right node; so rebalance that. + node.right = Rebalance(node.right); + } + } + Debug.Assert(Math.Abs(node.Balance) <= 1); + node.height = (byte)(1 + Math.Max(Height(node.left), Height(node.right))); + node.totalListLength = -1; // mark for recalculation + // since balancing checks the whole tree up to the root, the whole path will get marked as invalid + return node; + } + + internal int GetTotalListLength() + { + if (totalListLength >= 0) + return totalListLength; + int length = (isVisible ? 1 : 0); + if (left != null) { + length += left.GetTotalListLength(); + } + if (right != null) { + length += right.GetTotalListLength(); + } + return totalListLength = length; + } + + SharpTreeNode RotateLeft() + { + /* Rotate tree to the left + * + * this right + * / \ / \ + * A right ===> this C + * / \ / \ + * B C A B + */ + SharpTreeNode b = right.left; + SharpTreeNode newTop = right; + + if (b != null) b.listParent = this; + this.right = b; + newTop.left = this; + newTop.listParent = this.listParent; + this.listParent = newTop; + // rebalance the 'this' node - this is necessary in some bulk insertion cases: + newTop.left = Rebalance(this); + return newTop; + } + + SharpTreeNode RotateRight() + { + /* Rotate tree to the right + * + * this left + * / \ / \ + * left C ===> A this + * / \ / \ + * A B B C + */ + SharpTreeNode b = left.right; + SharpTreeNode newTop = left; + + if (b != null) b.listParent = this; + this.left = b; + newTop.right = this; + newTop.listParent = this.listParent; + this.listParent = newTop; + newTop.right = Rebalance(this); + return newTop; + } + + static void RebalanceUntilRoot(SharpTreeNode pos) + { + while (pos.listParent != null) { + if (pos == pos.listParent.left) { + pos = pos.listParent.left = Rebalance(pos); + } else { + Debug.Assert(pos == pos.listParent.right); + pos = pos.listParent.right = Rebalance(pos); + } + pos = pos.listParent; + } + SharpTreeNode newRoot = Rebalance(pos); + if (newRoot != pos && pos.treeFlattener != null) { + Debug.Assert(newRoot.treeFlattener == null); + newRoot.treeFlattener = pos.treeFlattener; + pos.treeFlattener = null; + newRoot.treeFlattener.root = newRoot; + } + Debug.Assert(newRoot.listParent == null); + newRoot.CheckInvariants(); + } + #endregion + + #region Insertion + static void InsertNodeAfter(SharpTreeNode pos, SharpTreeNode newNode) + { + // newNode might be the model root of a whole subtree, so go to the list root of that subtree: + newNode = newNode.GetListRoot(); + if (pos.right == null) { + pos.right = newNode; + newNode.listParent = pos; + } else { + // insert before pos.right's leftmost: + pos = pos.right; + while (pos.left != null) + pos = pos.left; + Debug.Assert(pos.left == null); + pos.left = newNode; + newNode.listParent = pos; + } + RebalanceUntilRoot(pos); + } + #endregion + + #region Removal + void RemoveNodes(SharpTreeNode start, SharpTreeNode end) + { + // Removes all nodes from start to end (inclusive) + // All removed nodes will be reorganized in a separate tree, do not delete + // regions that don't belong together in the tree model! + + List<SharpTreeNode> removedSubtrees = new List<SharpTreeNode>(); + SharpTreeNode oldPos; + SharpTreeNode pos = start; + do { + // recalculate the endAncestors every time, because the tree might have been rebalanced + HashSet<SharpTreeNode> endAncestors = new HashSet<SharpTreeNode>(); + for (SharpTreeNode tmp = end; tmp != null; tmp = tmp.listParent) + endAncestors.Add(tmp); + + removedSubtrees.Add(pos); + if (!endAncestors.Contains(pos)) { + // we can remove pos' right subtree in a single step: + if (pos.right != null) { + removedSubtrees.Add(pos.right); + pos.right.listParent = null; + pos.right = null; + } + } + SharpTreeNode succ = pos.Successor(); + DeleteNode(pos); // this will also rebalance out the deletion of the right subtree + + oldPos = pos; + pos = succ; + } while (oldPos != end); + + // merge back together the removed subtrees: + SharpTreeNode removed = removedSubtrees[0]; + for (int i = 1; i < removedSubtrees.Count; i++) { + removed = ConcatTrees(removed, removedSubtrees[i]); + } + } + + static SharpTreeNode ConcatTrees(SharpTreeNode first, SharpTreeNode second) + { + SharpTreeNode tmp = first; + while (tmp.right != null) + tmp = tmp.right; + InsertNodeAfter(tmp, second); + return tmp.GetListRoot(); + } + + SharpTreeNode Successor() + { + if (right != null) { + SharpTreeNode node = right; + while (node.left != null) + node = node.left; + return node; + } else { + SharpTreeNode node = this; + SharpTreeNode oldNode; + do { + oldNode = node; + node = node.listParent; + // loop while we are on the way up from the right part + } while (node != null && node.right == oldNode); + return node; + } + } + + static void DeleteNode(SharpTreeNode node) + { + SharpTreeNode balancingNode; + if (node.left == null) { + balancingNode = node.listParent; + node.ReplaceWith(node.right); + node.right = null; + } else if (node.right == null) { + balancingNode = node.listParent; + node.ReplaceWith(node.left); + node.left = null; + } else { + SharpTreeNode tmp = node.right; + while (tmp.left != null) + tmp = tmp.left; + // First replace tmp with tmp.right + balancingNode = tmp.listParent; + tmp.ReplaceWith(tmp.right); + tmp.right = null; + Debug.Assert(tmp.left == null); + Debug.Assert(tmp.listParent == null); + // Now move node's children to tmp: + tmp.left = node.left; node.left = null; + tmp.right = node.right; node.right = null; + if (tmp.left != null) tmp.left.listParent = tmp; + if (tmp.right != null) tmp.right.listParent = tmp; + // Then replace node with tmp + node.ReplaceWith(tmp); + if (balancingNode == node) + balancingNode = tmp; + } + Debug.Assert(node.listParent == null); + Debug.Assert(node.left == null); + Debug.Assert(node.right == null); + if (balancingNode != null) + RebalanceUntilRoot(balancingNode); + } + + void ReplaceWith(SharpTreeNode node) + { + if (listParent != null) { + if (listParent.left == this) { + listParent.left = node; + } else { + Debug.Assert(listParent.right == this); + listParent.right = node; + } + if (node != null) + node.listParent = listParent; + listParent = null; + } else { + // this was a root node + Debug.Assert(node != null); // cannot delete the only node in the tree + node.listParent = null; + if (treeFlattener != null) { + Debug.Assert(node.treeFlattener == null); + node.treeFlattener = this.treeFlattener; + this.treeFlattener = null; + node.treeFlattener.root = node; + } + } + } + #endregion + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ICSharpCode.TreeView.csproj b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ICSharpCode.TreeView.csproj index c1877220ae..78b7d35db3 100644 --- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ICSharpCode.TreeView.csproj +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ICSharpCode.TreeView.csproj @@ -67,6 +67,7 @@ <Compile Include="DropEffect.cs" /> <Compile Include="EditTextBox.cs" /> <Compile Include="ExtensionMethods.cs" /> + <Compile Include="FlatListTreeNode.cs" /> <Compile Include="GeneralAdorner.cs" /> <Compile Include="InsertMarker.cs" /> <Compile Include="LinesRenderer.cs" /> @@ -81,6 +82,7 @@ <Compile Include="SharpTreeViewItem.cs" /> <Compile Include="TreeFlattener.cs" /> <AppDesigner Include="Properties\" /> + <Compile Include="TreeTraversal.cs" /> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNode.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNode.cs index 42d15d7922..ae0a0e6468 100644 --- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNode.cs +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNode.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Text; using System.Windows; @@ -14,107 +15,226 @@ using System.Windows.Input; namespace ICSharpCode.TreeView { - public class SharpTreeNode : INotifyPropertyChanged + public partial class SharpTreeNode : INotifyPropertyChanged { - #region Main - - static SharpTreeNode() - { - SelectedNodes = new List<SharpTreeNode>(); - ActiveNodes = new List<SharpTreeNode>(); - StartCuttedDataWatcher(); + SharpTreeNodeCollection modelChildren; + internal SharpTreeNode modelParent; + bool isVisible = true; + + void UpdateIsVisible(bool parentIsVisible, bool updateFlattener) + { + bool newIsVisible = parentIsVisible && !isHidden; + if (isVisible != newIsVisible) { + isVisible = newIsVisible; + + // invalidate the augmented data + SharpTreeNode node = this; + while (node != null && node.totalListLength >= 0) { + node.totalListLength = -1; + node = node.listParent; + } + // Remember the removed nodes: + List<SharpTreeNode> removedNodes = null; + if (updateFlattener && !newIsVisible) { + removedNodes = VisibleDescendantsAndSelf().ToList(); + } + // also update the model children: + UpdateChildIsVisible(false); + + // Validate our invariants: + if (updateFlattener) + CheckRootInvariants(); + + // Tell the flattener about the removed nodes: + if (removedNodes != null) { + var flattener = GetListRoot().treeFlattener; + if (flattener != null) { + flattener.NodesRemoved(GetVisibleIndexForNode(this), removedNodes); + foreach (var n in removedNodes) + n.OnIsVisibleChanged(); + } + } + // Tell the flattener about the new nodes: + if (updateFlattener && newIsVisible) { + var flattener = GetListRoot().treeFlattener; + if (flattener != null) { + flattener.NodesInserted(GetVisibleIndexForNode(this), VisibleDescendantsAndSelf()); + foreach (var n in VisibleDescendantsAndSelf()) + n.OnIsVisibleChanged(); + } + } + } } - - public static List<SharpTreeNode> SelectedNodes { get; private set; } - public static List<SharpTreeNode> ActiveNodes { get; private set; } - - static SharpTreeNode[] ActiveNodesArray + + protected virtual void OnIsVisibleChanged() {} + + void UpdateChildIsVisible(bool updateFlattener) { - get - { - return ActiveNodes.ToArray(); + if (modelChildren != null && modelChildren.Count > 0) { + bool showChildren = isVisible && isExpanded; + foreach (SharpTreeNode child in modelChildren) { + child.UpdateIsVisible(showChildren, updateFlattener); + } } } - + + #region Main + public SharpTreeNode() { - Children = new SharpTreeNodeCollection(this); } - - public SharpTreeNodeCollection Children { get; private set; } - public SharpTreeNode Parent { get; internal set; } - + + public SharpTreeNodeCollection Children { + get { + if (modelChildren == null) + modelChildren = new SharpTreeNodeCollection(this); + return modelChildren; + } + } + + public SharpTreeNode Parent { + get { return modelParent; } + } + public virtual object Text { get { return null; } } - + public virtual object Icon { get { return null; } } - + public virtual object ToolTip { get { return null; } } - + public int Level { get { return Parent != null ? Parent.Level + 1 : 0; } } - + public bool IsRoot { get { return Parent == null; } } - - //bool isSelected; - - //public bool IsSelected - //{ - // get { return isSelected; } - // set - // { - // isSelected = value; - // RaisePropertyChanged("IsSelected"); - // } - //} - - public virtual ContextMenu GetContextMenu() + + bool isHidden; + + public bool IsHidden { - return null; + get { return isHidden; } + set { + if (isHidden != value) { + isHidden = value; + if (modelParent != null) + UpdateIsVisible(modelParent.isVisible && modelParent.isExpanded, true); + RaisePropertyChanged("IsHidden"); + if (Parent != null) + Parent.RaisePropertyChanged("ShowExpander"); + } + } } - - internal protected void OnChildrenChanged(NotifyCollectionChangedEventArgs e) - { + + /// <summary> + /// Return true when this node is not hidden and when all parent nodes are expanded and not hidden. + /// </summary> + public bool IsVisible { + get { return isVisible; } + } + + bool isSelected; + + public bool IsSelected { + get { return isSelected; } + set { + if (isSelected != value) { + isSelected = value; + RaisePropertyChanged("IsSelected"); + } + } + } + + #endregion + + #region OnChildrenChanged + internal protected virtual void OnChildrenChanged(NotifyCollectionChangedEventArgs e) + { + if (e.OldItems != null) { + foreach (SharpTreeNode node in e.OldItems) { + Debug.Assert(node.modelParent == this); + node.modelParent = null; + Debug.WriteLine("Removing {0} from {1}", node, this); + SharpTreeNode removeEnd = node; + while (removeEnd.modelChildren != null && removeEnd.modelChildren.Count > 0) + removeEnd = removeEnd.modelChildren.Last(); + + List<SharpTreeNode> removedNodes = null; + int visibleIndexOfRemoval = 0; + if (node.isVisible) { + visibleIndexOfRemoval = GetVisibleIndexForNode(node); + removedNodes = node.VisibleDescendantsAndSelf().ToList(); + } + + RemoveNodes(node, removeEnd); + + if (removedNodes != null) { + var flattener = GetListRoot().treeFlattener; + if (flattener != null) { + flattener.NodesRemoved(visibleIndexOfRemoval, removedNodes); + } + } + } + } + if (e.NewItems != null) { + SharpTreeNode insertionPos; + if (e.NewStartingIndex == 0) + insertionPos = null; + else + insertionPos = modelChildren[e.NewStartingIndex - 1]; + + foreach (SharpTreeNode node in e.NewItems) { + Debug.Assert(node.modelParent == null); + node.modelParent = this; + node.UpdateIsVisible(isVisible && isExpanded, false); + //Debug.WriteLine("Inserting {0} after {1}", node, insertionPos); + + while (insertionPos != null && insertionPos.modelChildren != null && insertionPos.modelChildren.Count > 0) { + insertionPos = insertionPos.modelChildren.Last(); + } + InsertNodeAfter(insertionPos ?? this, node); + + insertionPos = node; + if (node.isVisible) { + var flattener = GetListRoot().treeFlattener; + if (flattener != null) { + flattener.NodesInserted(GetVisibleIndexForNode(node), node.VisibleDescendantsAndSelf()); + } + } + } + } + RaisePropertyChanged("ShowExpander"); RaiseIsLastChangedIfNeeded(e); } - #endregion - + #region Expanding / LazyLoading - - public event EventHandler Collapsing; - + public virtual object ExpandedIcon { get { return Icon; } } - + public virtual bool ShowExpander { - get { return Children.Count > 0 || LazyLoading; } + get { return LazyLoading || Children.Any(c => !c.isHidden); } } - - //public virtual bool ShowLoading - //{ - // get { return false; } - //} - + bool isExpanded; - + public bool IsExpanded { get { return isExpanded; } @@ -124,19 +244,21 @@ namespace ICSharpCode.TreeView isExpanded = value; if (isExpanded) { EnsureLazyChildren(); + OnExpanding(); + } else { + OnCollapsing(); } - else { - if (Collapsing != null) { - Collapsing(this, EventArgs.Empty); - } - } + UpdateChildIsVisible(true); RaisePropertyChanged("IsExpanded"); } } } - + + protected virtual void OnExpanding() {} + protected virtual void OnCollapsing() {} + bool lazyLoading; - + public bool LazyLoading { get { return lazyLoading; } @@ -145,77 +267,71 @@ namespace ICSharpCode.TreeView lazyLoading = value; if (lazyLoading) { IsExpanded = false; + if (canExpandRecursively) { + canExpandRecursively = false; + RaisePropertyChanged("CanExpandRecursively"); + } } RaisePropertyChanged("LazyLoading"); RaisePropertyChanged("ShowExpander"); } } - bool showIcon; + bool canExpandRecursively = true; - public bool ShowIcon + /// <summary> + /// Gets whether this node can be expanded recursively. + /// If not overridden, this property returns false if the node is using lazy-loading, and true otherwise. + /// </summary> + public virtual bool CanExpandRecursively { + get { return canExpandRecursively; } + } + + public virtual bool ShowIcon { - get { return showIcon; } - set { - showIcon = value; - RaisePropertyChanged("ShowIcon"); - } + get { return Icon != null; } } - - public virtual void LoadChildren() + + protected virtual void LoadChildren() { + throw new NotSupportedException(GetType().Name + " does not support lazy loading"); } - + + /// <summary> + /// Ensures the children were initialized (loads children if lazy loading is enabled) + /// </summary> public void EnsureLazyChildren() { if (LazyLoading) { - LoadChildren(); LazyLoading = false; + LoadChildren(); } } - + #endregion - + #region Ancestors / Descendants - + public IEnumerable<SharpTreeNode> Descendants() { - foreach (var child in Children) { - foreach (var child2 in child.DescendantsAndSelf()) { - yield return child2; - } - } + return TreeTraversal.PreOrder(this.Children, n => n.Children); } - + public IEnumerable<SharpTreeNode> DescendantsAndSelf() { - yield return this; - foreach (var child in Descendants()) { - yield return child; - } + return TreeTraversal.PreOrder(this, n => n.Children); } - - public IEnumerable<SharpTreeNode> ExpandedDescendants() + + internal IEnumerable<SharpTreeNode> VisibleDescendants() { - foreach (var child in Children) { - foreach (var child2 in child.ExpandedDescendantsAndSelf()) { - yield return child2; - } - } + return TreeTraversal.PreOrder(this.Children.Where(c => c.isVisible), n => n.Children.Where(c => c.isVisible)); } - - public IEnumerable<SharpTreeNode> ExpandedDescendantsAndSelf() + + internal IEnumerable<SharpTreeNode> VisibleDescendantsAndSelf() { - yield return this; - if (IsExpanded) { - foreach (var child in Children) { - foreach (var child2 in child.ExpandedDescendantsAndSelf()) { - yield return child2; - } - } - } + return TreeTraversal.PreOrder(this, n => n.Children.Where(c => c.isVisible)); } - + public IEnumerable<SharpTreeNode> Ancestors() { var node = this; @@ -224,7 +340,7 @@ namespace ICSharpCode.TreeView node = node.Parent; } } - + public IEnumerable<SharpTreeNode> AncestorsAndSelf() { yield return this; @@ -232,18 +348,18 @@ namespace ICSharpCode.TreeView yield return node; } } - + #endregion - + #region Editing - + public virtual bool IsEditable { get { return false; } } - + bool isEditing; - + public bool IsEditing { get { return isEditing; } @@ -255,42 +371,39 @@ namespace ICSharpCode.TreeView } } } - + public virtual string LoadEditText() { return null; } - + public virtual bool SaveEditText(string value) { return true; } - + #endregion - + #region Checkboxes - - public virtual bool IsCheckable - { + + public virtual bool IsCheckable { get { return false; } } - + bool? isChecked; - - public bool? IsChecked - { + + public bool? IsChecked { get { return isChecked; } - set - { + set { SetIsChecked(value, true); } } - + void SetIsChecked(bool? value, bool update) { if (isChecked != value) { isChecked = value; - + if (update) { if (IsChecked != null) { foreach (var child in Descendants()) { @@ -299,7 +412,7 @@ namespace ICSharpCode.TreeView } } } - + foreach (var parent in Ancestors()) { if (parent.IsCheckable) { if (!parent.TryValueForIsChecked(true)) { @@ -310,11 +423,11 @@ namespace ICSharpCode.TreeView } } } - + RaisePropertyChanged("IsChecked"); } } - + bool TryValueForIsChecked(bool? value) { if (Children.Where(n => n.IsCheckable).All(n => n.IsChecked == value)) { @@ -323,247 +436,188 @@ namespace ICSharpCode.TreeView } return false; } - + #endregion - + #region Cut / Copy / Paste / Delete - - static List<SharpTreeNode> cuttedNodes = new List<SharpTreeNode>(); - static IDataObject cuttedData; - static EventHandler requerySuggestedHandler; // for weak event - - static void StartCuttedDataWatcher() - { - requerySuggestedHandler = new EventHandler(CommandManager_RequerySuggested); - CommandManager.RequerySuggested += requerySuggestedHandler; - } - - static void CommandManager_RequerySuggested(object sender, EventArgs e) - { - if (cuttedData != null && !Clipboard.IsCurrent(cuttedData)) { - ClearCuttedData(); + + public bool IsCut { get { return false; } } + /* + static List<SharpTreeNode> cuttedNodes = new List<SharpTreeNode>(); + static IDataObject cuttedData; + static EventHandler requerySuggestedHandler; // for weak event + + static void StartCuttedDataWatcher() + { + requerySuggestedHandler = new EventHandler(CommandManager_RequerySuggested); + CommandManager.RequerySuggested += requerySuggestedHandler; } - } - - static void ClearCuttedData() - { - foreach (var node in cuttedNodes) { - node.IsCut = false; + + static void CommandManager_RequerySuggested(object sender, EventArgs e) + { + if (cuttedData != null && !Clipboard.IsCurrent(cuttedData)) { + ClearCuttedData(); + } } - cuttedNodes.Clear(); - cuttedData = null; - } - - //static public IEnumerable<SharpTreeNode> PurifyNodes(IEnumerable<SharpTreeNode> nodes) - //{ - // var list = nodes.ToList(); - // var array = list.ToArray(); - // foreach (var node1 in array) { - // foreach (var node2 in array) { - // if (node1.Descendants().Contains(node2)) { - // list.Remove(node2); - // } - // } - // } - // return list; - //} - - bool isCut; - - public bool IsCut - { - get { return isCut; } - private set + + static void ClearCuttedData() { - isCut = value; - RaisePropertyChanged("IsCut"); + foreach (var node in cuttedNodes) { + node.IsCut = false; + } + cuttedNodes.Clear(); + cuttedData = null; } - } - - internal bool InternalCanCut() - { - return InternalCanCopy() && InternalCanDelete(); - } - - internal void InternalCut() - { - ClearCuttedData(); - cuttedData = Copy(ActiveNodesArray); - Clipboard.SetDataObject(cuttedData); - - foreach (var node in ActiveNodes) { - node.IsCut = true; - cuttedNodes.Add(node); + + //static public IEnumerable<SharpTreeNode> PurifyNodes(IEnumerable<SharpTreeNode> nodes) + //{ + // var list = nodes.ToList(); + // var array = list.ToArray(); + // foreach (var node1 in array) { + // foreach (var node2 in array) { + // if (node1.Descendants().Contains(node2)) { + // list.Remove(node2); + // } + // } + // } + // return list; + //} + + bool isCut; + + public bool IsCut + { + get { return isCut; } + private set + { + isCut = value; + RaisePropertyChanged("IsCut"); + } } - } - - internal bool InternalCanCopy() - { - return CanCopy(ActiveNodesArray); - } - - internal void InternalCopy() - { - Clipboard.SetDataObject(Copy(ActiveNodesArray)); - } - - internal bool InternalCanPaste() - { - return CanPaste(Clipboard.GetDataObject()); - } - - internal void InternalPaste() - { - Paste(Clipboard.GetDataObject()); - - if (cuttedData != null) { - DeleteCore(cuttedNodes.ToArray()); + + internal bool InternalCanCut() + { + return InternalCanCopy() && InternalCanDelete(); + } + + internal void InternalCut() + { ClearCuttedData(); + cuttedData = Copy(ActiveNodesArray); + Clipboard.SetDataObject(cuttedData); + + foreach (var node in ActiveNodes) { + node.IsCut = true; + cuttedNodes.Add(node); + } } - } - - internal bool InternalCanDelete() - { - return CanDelete(ActiveNodesArray); - } - - internal void InternalDelete() - { - Delete(ActiveNodesArray); - } - - public virtual bool CanDelete(SharpTreeNode[] nodes) + + internal bool InternalCanCopy() + { + return CanCopy(ActiveNodesArray); + } + + internal void InternalCopy() + { + Clipboard.SetDataObject(Copy(ActiveNodesArray)); + } + + internal bool InternalCanPaste() + { + return CanPaste(Clipboard.GetDataObject()); + } + + internal void InternalPaste() + { + Paste(Clipboard.GetDataObject()); + + if (cuttedData != null) { + DeleteCore(cuttedNodes.ToArray()); + ClearCuttedData(); + } + } + */ + + public virtual bool CanDelete() { return false; } - - public virtual void Delete(SharpTreeNode[] nodes) - { - } - - public virtual void DeleteCore(SharpTreeNode[] nodes) + + public virtual void Delete() { + throw new NotSupportedException(GetType().Name + " does not support deletion"); } - - public virtual bool CanCopy(SharpTreeNode[] nodes) + + public virtual void DeleteCore() { - return false; + throw new NotSupportedException(GetType().Name + " does not support deletion"); } - + public virtual IDataObject Copy(SharpTreeNode[] nodes) { - return null; - } - - public virtual bool CanPaste(IDataObject data) - { - return false; - } - - public virtual void Paste(IDataObject data) - { - EnsureLazyChildren(); - Drop(data, Children.Count, DropEffect.Copy); + throw new NotSupportedException(GetType().Name + " does not support copy/paste or drag'n'drop"); } - + + /* + public virtual bool CanCopy(SharpTreeNode[] nodes) + { + return false; + } + + public virtual bool CanPaste(IDataObject data) + { + return false; + } + + public virtual void Paste(IDataObject data) + { + EnsureLazyChildren(); + Drop(data, Children.Count, DropEffect.Copy); + } + */ #endregion - + #region Drag and Drop - - internal bool InternalCanDrag() + public virtual bool CanDrag(SharpTreeNode[] nodes) { - return CanDrag(ActiveNodesArray); + return false; } - - internal void InternalDrag(DependencyObject dragSource) - { - DragDrop.DoDragDrop(dragSource, Copy(ActiveNodesArray), DragDropEffects.All); + + public virtual void StartDrag(DependencyObject dragSource, SharpTreeNode[] nodes) + { + DragDropEffects effects = DragDropEffects.All; + if (!nodes.All(n => n.CanDelete())) + effects &= ~DragDropEffects.Move; + DragDropEffects result = DragDrop.DoDragDrop(dragSource, Copy(nodes), effects); + if (result == DragDropEffects.Move) { + foreach (SharpTreeNode node in nodes) + node.DeleteCore(); + } } - - internal bool InternalCanDrop(DragEventArgs e, int index) + + public virtual bool CanDrop(DragEventArgs e, int index) { - var finalEffect = GetFinalEffect(e, index); - e.Effects = GetDragDropEffects(finalEffect); - return finalEffect != DropEffect.None; + return false; } - + internal void InternalDrop(DragEventArgs e, int index) { if (LazyLoading) { EnsureLazyChildren(); index = Children.Count; } - - var finalEffect = GetFinalEffect(e, index); - Drop(e.Data, index, finalEffect); - - if (finalEffect == DropEffect.Move) { - DeleteCore(ActiveNodesArray); - } + + Drop(e, index); } - - DropEffect GetFinalEffect(DragEventArgs e, int index) - { - var requestedEffect = GetDropEffect(e); - var result = CanDrop(e.Data, requestedEffect); - if (result == DropEffect.Move) { - if (!CanDelete(ActiveNodesArray)) { - return DropEffect.None; - } - } - return result; - } - - static DropEffect GetDropEffect(DragEventArgs e) - { - if (e.Data != null) { - var all = DragDropKeyStates.ControlKey | DragDropKeyStates.ShiftKey | DragDropKeyStates.AltKey; - - if ((e.KeyStates & all) == DragDropKeyStates.ControlKey) { - return DropEffect.Copy; - } - if ((e.KeyStates & all) == DragDropKeyStates.AltKey) { - return DropEffect.Link; - } - if ((e.KeyStates & all) == (DragDropKeyStates.ControlKey | DragDropKeyStates.ShiftKey)) { - return DropEffect.Link; - } - return DropEffect.Move; - } - return DropEffect.None; - } - - static DragDropEffects GetDragDropEffects(DropEffect effect) - { - switch (effect) { - case DropEffect.Copy: - return DragDropEffects.Copy; - case DropEffect.Link: - return DragDropEffects.Link; - case DropEffect.Move: - return DragDropEffects.Move; - } - return DragDropEffects.None; - } - - public virtual bool CanDrag(SharpTreeNode[] nodes) - { - return false; - } - - public virtual DropEffect CanDrop(IDataObject data, DropEffect requestedEffect) - { - return DropEffect.None; - } - - public virtual void Drop(IDataObject data, int index, DropEffect finalEffect) + + public virtual void Drop(DragEventArgs e, int index) { + throw new NotSupportedException(GetType().Name + " does not support Drop()"); } - #endregion - + #region IsLast (for TreeView lines) - + public bool IsLast { get @@ -572,7 +626,7 @@ namespace ICSharpCode.TreeView Parent.Children[Parent.Children.Count - 1] == this; } } - + void RaiseIsLastChangedIfNeeded(NotifyCollectionChangedEventArgs e) { switch (e.Action) { @@ -593,20 +647,34 @@ namespace ICSharpCode.TreeView break; } } - + #endregion - + #region INotifyPropertyChanged Members - + public event PropertyChangedEventHandler PropertyChanged; - + public void RaisePropertyChanged(string name) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(name)); } } - + #endregion + + /// <summary> + /// Gets called when the item is double-clicked. + /// </summary> + public virtual void ActivateItem(RoutedEventArgs e) + { + } + + public override string ToString() + { + // used for keyboard navigation + object text = this.Text; + return text != null ? text.ToString() : string.Empty; + } } } diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNodeCollection.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNodeCollection.cs index 9e51d94f99..3fcd25f83e 100644 --- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNodeCollection.cs +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNodeCollection.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Text; using System.Collections.ObjectModel; @@ -10,40 +11,200 @@ using System.Collections.Specialized; namespace ICSharpCode.TreeView { - public class SharpTreeNodeCollection : ObservableCollection<SharpTreeNode> + /// <summary> + /// Collection that validates that inserted nodes do not have another parent. + /// </summary> + public sealed class SharpTreeNodeCollection : IList<SharpTreeNode>, INotifyCollectionChanged { + readonly SharpTreeNode parent; + List<SharpTreeNode> list = new List<SharpTreeNode>(); + bool isRaisingEvent; + public SharpTreeNodeCollection(SharpTreeNode parent) { - Parent = parent; + this.parent = parent; } - - public SharpTreeNode Parent { get; private set; } - - protected override void InsertItem(int index, SharpTreeNode node) + + public event NotifyCollectionChangedEventHandler CollectionChanged; + + void OnCollectionChanged(NotifyCollectionChangedEventArgs e) { - node.Parent = Parent; - base.InsertItem(index, node); + Debug.Assert(!isRaisingEvent); + isRaisingEvent = true; + try { + parent.OnChildrenChanged(e); + if (CollectionChanged != null) + CollectionChanged(this, e); + } finally { + isRaisingEvent = false; + } } - - protected override void RemoveItem(int index) + + void ThrowOnReentrancy() { - var node = this[index]; - node.Parent = null; - base.RemoveItem(index); + if (isRaisingEvent) + throw new InvalidOperationException(); } - - protected override void ClearItems() + + void ThrowIfValueIsNullOrHasParent(SharpTreeNode node) { - foreach (var node in this) { - node.Parent = null; + if (node == null) + throw new ArgumentNullException("node"); + if (node.modelParent != null) + throw new ArgumentException("The node already has a parent", "node"); + } + + public SharpTreeNode this[int index] { + get { + return list[index]; + } + set { + ThrowOnReentrancy(); + var oldItem = list[index]; + if (oldItem == value) + return; + ThrowIfValueIsNullOrHasParent(value); + list[index] = value; + OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Replace, value, oldItem, index)); } - base.ClearItems(); } - - protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e) + + public int Count { + get { return list.Count; } + } + + bool ICollection<SharpTreeNode>.IsReadOnly { + get { return false; } + } + + public int IndexOf(SharpTreeNode node) + { + if (node == null || node.modelParent != parent) + return -1; + else + return list.IndexOf(node); + } + + public void Insert(int index, SharpTreeNode node) + { + ThrowOnReentrancy(); + ThrowIfValueIsNullOrHasParent(node); + list.Insert(index, node); + OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, node, index)); + } + + public void InsertRange(int index, IEnumerable<SharpTreeNode> nodes) + { + if (nodes == null) + throw new ArgumentNullException("nodes"); + ThrowOnReentrancy(); + List<SharpTreeNode> newNodes = nodes.ToList(); + if (newNodes.Count == 0) + return; + foreach (SharpTreeNode node in newNodes) { + ThrowIfValueIsNullOrHasParent(node); + } + list.InsertRange(index, newNodes); + OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, newNodes, index)); + } + + public void RemoveAt(int index) + { + ThrowOnReentrancy(); + var oldItem = list[index]; + list.RemoveAt(index); + OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, oldItem, index)); + } + + public void RemoveRange(int index, int count) + { + ThrowOnReentrancy(); + if (count == 0) + return; + var oldItems = list.GetRange(index, count); + list.RemoveRange(index, count); + OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, oldItems, index)); + } + + public void Add(SharpTreeNode node) + { + ThrowOnReentrancy(); + ThrowIfValueIsNullOrHasParent(node); + list.Add(node); + OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, node, list.Count - 1)); + } + + public void AddRange(IEnumerable<SharpTreeNode> nodes) + { + InsertRange(this.Count, nodes); + } + + public void Clear() + { + ThrowOnReentrancy(); + var oldList = list; + list = new List<SharpTreeNode>(); + OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, oldList, 0)); + } + + public bool Contains(SharpTreeNode node) + { + return IndexOf(node) >= 0; + } + + public void CopyTo(SharpTreeNode[] array, int arrayIndex) + { + list.CopyTo(array, arrayIndex); + } + + public bool Remove(SharpTreeNode item) + { + int pos = IndexOf(item); + if (pos >= 0) { + RemoveAt(pos); + return true; + } else { + return false; + } + } + + public IEnumerator<SharpTreeNode> GetEnumerator() + { + return list.GetEnumerator(); + } + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() + { + return list.GetEnumerator(); + } + + public void RemoveAll(Predicate<SharpTreeNode> match) { - base.OnCollectionChanged(e); - Parent.OnChildrenChanged(e); + if (match == null) + throw new ArgumentNullException("match"); + ThrowOnReentrancy(); + int firstToRemove = 0; + for (int i = 0; i < list.Count; i++) { + bool removeNode; + isRaisingEvent = true; + try { + removeNode = match(list[i]); + } finally { + isRaisingEvent = false; + } + if (!removeNode) { + if (firstToRemove < i) { + RemoveRange(firstToRemove, i - firstToRemove); + i = firstToRemove - 1; + } else { + firstToRemove = i + 1; + } + Debug.Assert(firstToRemove == i + 1); + } + } + if (firstToRemove < list.Count) { + RemoveRange(firstToRemove, list.Count - firstToRemove); + } } } } diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNodeView.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNodeView.cs index b85c1104ae..5ed2815e94 100644 --- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNodeView.cs +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNodeView.cs @@ -20,7 +20,7 @@ namespace ICSharpCode.TreeView static SharpTreeNodeView() { DefaultStyleKeyProperty.OverrideMetadata(typeof(SharpTreeNodeView), - new FrameworkPropertyMetadata(typeof(SharpTreeNodeView))); + new FrameworkPropertyMetadata(typeof(SharpTreeNodeView))); } public static readonly DependencyProperty TextBackgroundProperty = @@ -71,14 +71,12 @@ namespace ICSharpCode.TreeView void UpdateDataContext(SharpTreeNode oldNode, SharpTreeNode newNode) { if (newNode != null) { - newNode.Collapsing += Node_Collapsing; newNode.PropertyChanged += Node_PropertyChanged; if (Template != null) { UpdateTemplate(); } } if (oldNode != null) { - oldNode.Collapsing -= Node_Collapsing; oldNode.PropertyChanged -= Node_PropertyChanged; } } @@ -87,24 +85,21 @@ namespace ICSharpCode.TreeView { if (e.PropertyName == "IsEditing") { OnIsEditingChanged(); - } - else if (e.PropertyName == "IsLast") { + } else if (e.PropertyName == "IsLast") { if (ParentTreeView.ShowLines) { - foreach (var child in Node.ExpandedDescendantsAndSelf()) { + foreach (var child in Node.VisibleDescendantsAndSelf()) { var container = ParentTreeView.ItemContainerGenerator.ContainerFromItem(child) as SharpTreeViewItem; if (container != null) { container.NodeView.LinesRenderer.InvalidateVisual(); } } } + } else if (e.PropertyName == "IsExpanded") { + if (Node.IsExpanded) + ParentTreeView.HandleExpanding(Node); } } - void Node_Collapsing(object sender, EventArgs e) - { - ParentTreeView.HandleCollapsing(Node); - } - void OnIsEditingChanged() { var textEditorContainer = Template.FindName("textEditorContainer", this) as Border; @@ -143,7 +138,9 @@ namespace ICSharpCode.TreeView else { result -= 19; } + if (result < 0) + throw new InvalidOperationException(); return result; - } + } } } diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs index 2dc84d692e..7d44e0744b 100644 --- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs @@ -3,14 +3,18 @@ using System; using System.Collections.Generic; +using System.Collections.Specialized; +using System.Diagnostics; using System.Linq; using System.Text; -using System.Windows.Controls; using System.Windows; -using System.Windows.Media; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Threading; namespace ICSharpCode.TreeView { @@ -19,19 +23,21 @@ namespace ICSharpCode.TreeView static SharpTreeView() { DefaultStyleKeyProperty.OverrideMetadata(typeof(SharpTreeView), - new FrameworkPropertyMetadata(typeof(SharpTreeView))); + new FrameworkPropertyMetadata(typeof(SharpTreeView))); SelectionModeProperty.OverrideMetadata(typeof(SharpTreeView), - new FrameworkPropertyMetadata(SelectionMode.Extended)); + new FrameworkPropertyMetadata(SelectionMode.Extended)); AlternationCountProperty.OverrideMetadata(typeof(SharpTreeView), - new FrameworkPropertyMetadata(2)); + new FrameworkPropertyMetadata(2)); - DefaultItemContainerStyleKey = + DefaultItemContainerStyleKey = new ComponentResourceKey(typeof(SharpTreeView), "DefaultItemContainerStyleKey"); VirtualizingStackPanel.VirtualizationModeProperty.OverrideMetadata(typeof(SharpTreeView), - new FrameworkPropertyMetadata(VirtualizationMode.Recycling)); + new FrameworkPropertyMetadata(VirtualizationMode.Recycling)); + + RegisterCommands(); } public static ResourceKey DefaultItemContainerStyleKey { get; private set; } @@ -52,7 +58,7 @@ namespace ICSharpCode.TreeView public static readonly DependencyProperty ShowRootProperty = DependencyProperty.Register("ShowRoot", typeof(bool), typeof(SharpTreeView), - new FrameworkPropertyMetadata(true)); + new FrameworkPropertyMetadata(true)); public bool ShowRoot { @@ -62,7 +68,7 @@ namespace ICSharpCode.TreeView public static readonly DependencyProperty ShowRootExpanderProperty = DependencyProperty.Register("ShowRootExpander", typeof(bool), typeof(SharpTreeView), - new FrameworkPropertyMetadata(false)); + new FrameworkPropertyMetadata(false)); public bool ShowRootExpander { @@ -81,7 +87,7 @@ namespace ICSharpCode.TreeView public static readonly DependencyProperty ShowLinesProperty = DependencyProperty.Register("ShowLines", typeof(bool), typeof(SharpTreeView), - new FrameworkPropertyMetadata(true)); + new FrameworkPropertyMetadata(true)); public bool ShowLines { @@ -101,14 +107,14 @@ namespace ICSharpCode.TreeView public static readonly DependencyProperty ShowAlternationProperty = DependencyProperty.RegisterAttached("ShowAlternation", typeof(bool), typeof(SharpTreeView), - new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.Inherits)); - + new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.Inherits)); + protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) { base.OnPropertyChanged(e); - if (e.Property == RootProperty || - e.Property == ShowRootProperty || - e.Property == ShowRootExpanderProperty) { + if (e.Property == RootProperty || + e.Property == ShowRootProperty || + e.Property == ShowRootExpanderProperty) { Reload(); } } @@ -125,11 +131,34 @@ namespace ICSharpCode.TreeView Root.IsExpanded = true; } flattener = new TreeFlattener(Root, ShowRoot); - ItemsSource = flattener.List; - flattener.Start(); + flattener.CollectionChanged += flattener_CollectionChanged; + this.ItemsSource = flattener; } } - + + void flattener_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) + { + // Deselect nodes that are being hidden + if (e.Action == NotifyCollectionChangedAction.Remove) { + List<SharpTreeNode> selectedOldItems = null; + foreach (SharpTreeNode node in e.OldItems) { + if (node.IsSelected) { + if (selectedOldItems == null) + selectedOldItems = new List<SharpTreeNode>(); + selectedOldItems.Add(node); + } + } + if (selectedOldItems != null) { + var list = SelectedItems.Cast<SharpTreeNode>().Except(selectedOldItems).ToList(); + SetSelectedItems(list); + } + // reset the focus to the previous node + SelectedIndex = Math.Max(0, e.OldStartingIndex - 1); + if (SelectedItem != null) + FocusNode((SharpTreeNode)SelectedItem); + } + } + protected override DependencyObject GetContainerForItemOverride() { return new SharpTreeViewItem(); @@ -146,68 +175,155 @@ namespace ICSharpCode.TreeView SharpTreeViewItem container = element as SharpTreeViewItem; container.ParentTreeView = this; } - - internal void HandleCollapsing(SharpTreeNode Node) - { - var selectedChilds = Node.Descendants().Where(n => SharpTreeNode.SelectedNodes.Contains(n)); - if (selectedChilds.Any()) { - var list = SelectedItems.Cast<SharpTreeNode>().Except(selectedChilds).ToList(); - list.AddOnce(Node); - SetSelectedItems(list); + + bool doNotScrollOnExpanding; + + /// <summary> + /// Handles the node expanding event in the tree view. + /// This method gets called only if the node is in the visible region (a SharpTreeNodeView exists). + /// </summary> + internal void HandleExpanding(SharpTreeNode node) + { + if (doNotScrollOnExpanding) + return; + SharpTreeNode lastVisibleChild = node; + while (true) { + SharpTreeNode tmp = lastVisibleChild.Children.LastOrDefault(c => c.IsVisible); + if (tmp != null) { + lastVisibleChild = tmp; + } else { + break; + } + } + if (lastVisibleChild != node) { + // Make the the expanded children are visible; but don't scroll down + // to much (keep node itself visible) + base.ScrollIntoView(lastVisibleChild); + // For some reason, this only works properly when delaying it... + Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new Action( + delegate { + base.ScrollIntoView(node); + })); } } - - #region Track selection - protected override void OnSelectionChanged(SelectionChangedEventArgs e) - { - foreach (SharpTreeNode node in e.RemovedItems) { - SharpTreeNode.SelectedNodes.Remove(node); - } - foreach (SharpTreeNode node in e.AddedItems) { - SharpTreeNode.SelectedNodes.AddOnce(node); + protected override void OnKeyDown(KeyEventArgs e) + { + SharpTreeViewItem container = e.OriginalSource as SharpTreeViewItem; + switch (e.Key) { + case Key.Left: + if (container != null && ItemsControl.ItemsControlFromItemContainer(container) == this) { + if (container.Node.IsExpanded) { + container.Node.IsExpanded = false; + } else if (container.Node.Parent != null) { + this.FocusNode(container.Node.Parent); + } + e.Handled = true; + } + break; + case Key.Right: + if (container != null && ItemsControl.ItemsControlFromItemContainer(container) == this) { + if (!container.Node.IsExpanded && container.Node.ShowExpander) { + container.Node.IsExpanded = true; + } else if (container.Node.Children.Count > 0) { + // jump to first child: + container.MoveFocus(new TraversalRequest(FocusNavigationDirection.Down)); + } + e.Handled = true; + } + break; + case Key.Return: + case Key.Space: + if (container != null && Keyboard.Modifiers == ModifierKeys.None && this.SelectedItems.Count == 1 && this.SelectedItem == container.Node) { + container.Node.ActivateItem(e); + } + break; + case Key.Add: + if (container != null && ItemsControl.ItemsControlFromItemContainer(container) == this) { + container.Node.IsExpanded = true; + e.Handled = true; + } + break; + case Key.Subtract: + if (container != null && ItemsControl.ItemsControlFromItemContainer(container) == this) { + container.Node.IsExpanded = false; + e.Handled = true; + } + break; + case Key.Multiply: + if (container != null && ItemsControl.ItemsControlFromItemContainer(container) == this) { + container.Node.IsExpanded = true; + ExpandRecursively(container.Node); + e.Handled = true; + } + break; } - - if (IsKeyboardFocusWithin) { - foreach (SharpTreeNode node in e.RemovedItems) { - SharpTreeNode.ActiveNodes.Remove(node); - } - foreach (SharpTreeNode node in e.AddedItems) { - SharpTreeNode.ActiveNodes.AddOnce(node); + if (!e.Handled) + base.OnKeyDown(e); + } + + void ExpandRecursively(SharpTreeNode node) + { + if (node.CanExpandRecursively) { + node.IsExpanded = true; + foreach (SharpTreeNode child in node.Children) { + ExpandRecursively(child); } - SortActiveNodes(); } - base.OnSelectionChanged(e); } - - protected override void OnPreviewGotKeyboardFocus(KeyboardFocusChangedEventArgs e) - { - foreach (SharpTreeNode node in SelectedItems) { - SharpTreeNode.ActiveNodes.AddOnce(node); + + /// <summary> + /// Scrolls the specified node in view and sets keyboard focus on it. + /// </summary> + public void FocusNode(SharpTreeNode node) + { + if (node == null) + throw new ArgumentNullException("node"); + ScrollIntoView(node); + // WPF's ScrollIntoView() uses the same if/dispatcher construct, so we call OnFocusItem() after the item was brought into view. + if (this.ItemContainerGenerator.Status == GeneratorStatus.ContainersGenerated) { + OnFocusItem(node); + } else { + this.Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new DispatcherOperationCallback(this.OnFocusItem), node); } - SortActiveNodes(); } - - protected override void OnPreviewLostKeyboardFocus(KeyboardFocusChangedEventArgs e) + + public void ScrollIntoView(SharpTreeNode node) + { + if (node == null) + throw new ArgumentNullException("node"); + doNotScrollOnExpanding = true; + foreach (SharpTreeNode ancestor in node.Ancestors()) + ancestor.IsExpanded = true; + doNotScrollOnExpanding = false; + base.ScrollIntoView(node); + } + + object OnFocusItem(object item) { - foreach (SharpTreeNode node in SelectedItems) { - SharpTreeNode.ActiveNodes.Remove(node); + FrameworkElement element = this.ItemContainerGenerator.ContainerFromItem(item) as FrameworkElement; + if (element != null) { + element.Focus(); } + return null; } - void SortActiveNodes() + #region Track selection + + protected override void OnSelectionChanged(SelectionChangedEventArgs e) { - SharpTreeNode.ActiveNodes.Sort(delegate(SharpTreeNode n1, SharpTreeNode n2) { - var index1 = Items.IndexOf(n1); - var index2 = Items.IndexOf(n2); - return index1.CompareTo(index2); - }); + foreach (SharpTreeNode node in e.RemovedItems) { + node.IsSelected = false; + } + foreach (SharpTreeNode node in e.AddedItems) { + node.IsSelected = true; + } + base.OnSelectionChanged(e); } #endregion #region Drag and Drop - protected override void OnDragEnter(DragEventArgs e) { OnDragOver(e); @@ -216,20 +332,20 @@ namespace ICSharpCode.TreeView protected override void OnDragOver(DragEventArgs e) { e.Effects = DragDropEffects.None; - e.Handled = true; - - if (Root != null && !ShowRoot && Root.Children.Count == 0) { - Root.InternalCanDrop(e, 0); + + if (Root != null && !ShowRoot) { + e.Handled = true; + Root.CanDrop(e, Root.Children.Count); } } protected override void OnDrop(DragEventArgs e) { e.Effects = DragDropEffects.None; - e.Handled = true; - if (Root != null && !ShowRoot && Root.Children.Count == 0) { - Root.InternalDrop(e, 0); + if (Root != null && !ShowRoot) { + e.Handled = true; + Root.InternalDrop(e, Root.Children.Count); } } @@ -241,22 +357,27 @@ namespace ICSharpCode.TreeView internal void HandleDragOver(SharpTreeViewItem item, DragEventArgs e) { HidePreview(); - e.Handled = true; var target = GetDropTarget(item, e); if (target != null) { + e.Handled = true; ShowPreview(target.Item, target.Place); } } internal void HandleDrop(SharpTreeViewItem item, DragEventArgs e) { - HidePreview(); - e.Handled = true; + try { + HidePreview(); - var target = GetDropTarget(item, e); - if (target != null) { - target.Node.InternalDrop(e, target.Index); + var target = GetDropTarget(item, e); + if (target != null) { + e.Handled = true; + target.Node.InternalDrop(e, target.Index); + } + } catch (Exception ex) { + Debug.WriteLine(ex.ToString()); + throw; } } @@ -270,7 +391,7 @@ namespace ICSharpCode.TreeView { public SharpTreeViewItem Item; public DropPlace Place; - public double Y; + public double Y; public SharpTreeNode Node; public int Index; } @@ -293,7 +414,7 @@ namespace ICSharpCode.TreeView var node = item.Node; if (AllowDropOrder) { - TryAddDropTarget(result, item, DropPlace.Before, e); + TryAddDropTarget(result, item, DropPlace.Before, e); } TryAddDropTarget(result, item, DropPlace.Inside, e); @@ -315,11 +436,11 @@ namespace ICSharpCode.TreeView if (result.Count == 2) { if (result[0].Place == DropPlace.Inside && - result[1].Place != DropPlace.Inside) { + result[1].Place != DropPlace.Inside) { result[0].Y = y3; } else if (result[0].Place != DropPlace.Inside && - result[1].Place == DropPlace.Inside) { + result[1].Place == DropPlace.Inside) { result[0].Y = y1; } else { @@ -345,7 +466,7 @@ namespace ICSharpCode.TreeView if (node != null) { e.Effects = DragDropEffects.None; - if (node.InternalCanDrop(e, index)) { + if (node.CanDrop(e, index)) { DropTarget target = new DropTarget() { Item = item, Place = place, @@ -354,7 +475,7 @@ namespace ICSharpCode.TreeView }; targets.Add(target); } - } + } } void GetNodeAndIndex(SharpTreeViewItem item, DropPlace place, out SharpTreeNode node, out int index) @@ -392,7 +513,7 @@ namespace ICSharpCode.TreeView void ShowPreview(SharpTreeViewItem item, DropPlace place) { previewNodeView = item.NodeView; - previewPlace = place; + previewPlace = place; if (place == DropPlace.Inside) { previewNodeView.TextBackground = SystemColors.HighlightBrush; @@ -419,14 +540,14 @@ namespace ICSharpCode.TreeView insertMarker.Margin = new Thickness(p.X, p.Y, 0, 0); SharpTreeNodeView secondNodeView = null; - var index = flattener.List.IndexOf(item.Node); + var index = flattener.IndexOf(item.Node); if (place == DropPlace.Before) { if (index > 0) { secondNodeView = (ItemContainerGenerator.ContainerFromIndex(index - 1) as SharpTreeViewItem).NodeView; } } - else if (index + 1 < flattener.List.Count) { + else if (index + 1 < flattener.Count) { secondNodeView = (ItemContainerGenerator.ContainerFromIndex(index + 1) as SharpTreeViewItem).NodeView; } @@ -452,6 +573,77 @@ namespace ICSharpCode.TreeView previewNodeView = null; } } + #endregion + + #region Cut / Copy / Paste / Delete Commands + + static void RegisterCommands() + { + CommandManager.RegisterClassCommandBinding(typeof(SharpTreeView), + new CommandBinding(ApplicationCommands.Cut, HandleExecuted_Cut, HandleCanExecute_Cut)); + + CommandManager.RegisterClassCommandBinding(typeof(SharpTreeView), + new CommandBinding(ApplicationCommands.Copy, HandleExecuted_Copy, HandleCanExecute_Copy)); + + CommandManager.RegisterClassCommandBinding(typeof(SharpTreeView), + new CommandBinding(ApplicationCommands.Paste, HandleExecuted_Paste, HandleCanExecute_Paste)); + + CommandManager.RegisterClassCommandBinding(typeof(SharpTreeView), + new CommandBinding(ApplicationCommands.Delete, HandleExecuted_Delete, HandleCanExecute_Delete)); + } + + static void HandleExecuted_Cut(object sender, ExecutedRoutedEventArgs e) + { + + } + + static void HandleCanExecute_Cut(object sender, CanExecuteRoutedEventArgs e) + { + e.CanExecute = false; + } + + static void HandleExecuted_Copy(object sender, ExecutedRoutedEventArgs e) + { + + } + + static void HandleCanExecute_Copy(object sender, CanExecuteRoutedEventArgs e) + { + e.CanExecute = false; + } + + static void HandleExecuted_Paste(object sender, ExecutedRoutedEventArgs e) + { + + } + + static void HandleCanExecute_Paste(object sender, CanExecuteRoutedEventArgs e) + { + e.CanExecute = false; + } + + static void HandleExecuted_Delete(object sender, ExecutedRoutedEventArgs e) + { + SharpTreeView treeView = (SharpTreeView)sender; + foreach (SharpTreeNode node in treeView.GetTopLevelSelection().ToArray()) + node.Delete(); + } + + static void HandleCanExecute_Delete(object sender, CanExecuteRoutedEventArgs e) + { + SharpTreeView treeView = (SharpTreeView)sender; + e.CanExecute = treeView.GetTopLevelSelection().All(node => node.CanDelete()); + } + + /// <summary> + /// Gets the selected items which do not have any of their ancestors selected. + /// </summary> + public IEnumerable<SharpTreeNode> GetTopLevelSelection() + { + var selection = this.SelectedItems.OfType<SharpTreeNode>(); + var selectionHash = new HashSet<SharpTreeNode>(selection); + return selection.Where(item => item.Ancestors().All(a => !selectionHash.Contains(a))); + } #endregion } diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeViewItem.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeViewItem.cs index 4201f13938..2ee2fce53e 100644 --- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeViewItem.cs +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeViewItem.cs @@ -18,9 +18,7 @@ namespace ICSharpCode.TreeView static SharpTreeViewItem() { DefaultStyleKeyProperty.OverrideMetadata(typeof(SharpTreeViewItem), - new FrameworkPropertyMetadata(typeof(SharpTreeViewItem))); - - RegisterCommands(); + new FrameworkPropertyMetadata(typeof(SharpTreeViewItem))); } public SharpTreeNode Node @@ -29,42 +27,28 @@ namespace ICSharpCode.TreeView } public SharpTreeNodeView NodeView { get; internal set; } - public SharpTreeView ParentTreeView { get; internal set; } + public SharpTreeView ParentTreeView { get; internal set; } protected override void OnKeyDown(KeyEventArgs e) { switch (e.Key) { case Key.F2: - if (SharpTreeNode.ActiveNodes.Count == 1 && Node.IsEditable) { - Node.IsEditing = true; - } +// if (SharpTreeNode.ActiveNodes.Count == 1 && Node.IsEditable) { +// Node.IsEditing = true; +// e.Handled = true; +// } break; case Key.Escape: Node.IsEditing = false; break; - case Key.Left: - Node.IsExpanded = false; - break; - case Key.Right: - Node.IsExpanded = true; - break; } } - protected override void OnContextMenuOpening(ContextMenuEventArgs e) - { - ContextMenu = Node.GetContextMenu(); - } - - protected override void OnContextMenuClosing(ContextMenuEventArgs e) - { - ClearValue(ContextMenuProperty); - } - #region Mouse Point startPoint; bool wasSelected; + bool wasDoubleClick; protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e) { @@ -78,9 +62,7 @@ namespace ICSharpCode.TreeView CaptureMouse(); if (e.ClickCount == 2) { - if (!Node.IsRoot || ParentTreeView.ShowRootExpander) { - Node.IsExpanded = !Node.IsExpanded; - } + wasDoubleClick = true; } } } @@ -90,10 +72,11 @@ namespace ICSharpCode.TreeView if (IsMouseCaptured) { var currentPoint = e.GetPosition(null); if (Math.Abs(currentPoint.X - startPoint.X) >= SystemParameters.MinimumHorizontalDragDistance || - Math.Abs(currentPoint.Y - startPoint.Y) >= SystemParameters.MinimumVerticalDragDistance) { + Math.Abs(currentPoint.Y - startPoint.Y) >= SystemParameters.MinimumVerticalDragDistance) { - if (Node.InternalCanDrag()) { - Node.InternalDrag(this); + var selection = ParentTreeView.GetTopLevelSelection().ToArray(); + if (Node.CanDrag(selection)) { + Node.StartDrag(this, selection); } } } @@ -101,6 +84,16 @@ namespace ICSharpCode.TreeView protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e) { + if (wasDoubleClick) { + wasDoubleClick = false; + Node.ActivateItem(e); + if (!e.Handled) { + if (!Node.IsRoot || ParentTreeView.ShowRootExpander) { + Node.IsExpanded = !Node.IsExpanded; + } + } + } + ReleaseMouseCapture(); if (wasSelected) { base.OnMouseLeftButtonDown(e); @@ -108,7 +101,7 @@ namespace ICSharpCode.TreeView } #endregion - + #region Drag and Drop protected override void OnDragEnter(DragEventArgs e) @@ -132,64 +125,5 @@ namespace ICSharpCode.TreeView } #endregion - - #region Cut / Copy / Paste / Delete Commands - - static void RegisterCommands() - { - CommandManager.RegisterClassCommandBinding(typeof(SharpTreeViewItem), - new CommandBinding(ApplicationCommands.Cut, HandleExecuted_Cut, HandleCanExecute_Cut)); - - CommandManager.RegisterClassCommandBinding(typeof(SharpTreeViewItem), - new CommandBinding(ApplicationCommands.Copy, HandleExecuted_Copy, HandleCanExecute_Copy)); - - CommandManager.RegisterClassCommandBinding(typeof(SharpTreeViewItem), - new CommandBinding(ApplicationCommands.Paste, HandleExecuted_Paste, HandleCanExecute_Paste)); - - CommandManager.RegisterClassCommandBinding(typeof(SharpTreeViewItem), - new CommandBinding(ApplicationCommands.Delete, HandleExecuted_Delete, HandleCanExecute_Delete)); - } - - static void HandleExecuted_Cut(object sender, ExecutedRoutedEventArgs e) - { - (sender as SharpTreeViewItem).Node.InternalCut(); - } - - static void HandleCanExecute_Cut(object sender, CanExecuteRoutedEventArgs e) - { - e.CanExecute = (sender as SharpTreeViewItem).Node.InternalCanCut(); - } - - static void HandleExecuted_Copy(object sender, ExecutedRoutedEventArgs e) - { - (sender as SharpTreeViewItem).Node.InternalCopy(); - } - - static void HandleCanExecute_Copy(object sender, CanExecuteRoutedEventArgs e) - { - e.CanExecute = (sender as SharpTreeViewItem).Node.InternalCanCopy(); - } - - static void HandleExecuted_Paste(object sender, ExecutedRoutedEventArgs e) - { - (sender as SharpTreeViewItem).Node.InternalPaste(); - } - - static void HandleCanExecute_Paste(object sender, CanExecuteRoutedEventArgs e) - { - e.CanExecute = (sender as SharpTreeViewItem).Node.InternalCanPaste(); - } - - static void HandleExecuted_Delete(object sender, ExecutedRoutedEventArgs e) - { - (sender as SharpTreeViewItem).Node.InternalDelete(); - } - - static void HandleCanExecute_Delete(object sender, CanExecuteRoutedEventArgs e) - { - e.CanExecute = (sender as SharpTreeViewItem).Node.InternalCanDelete(); - } - - #endregion } } diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Themes/Generic.xaml b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Themes/Generic.xaml index 1bed1dd7c1..a10e19c75c 100644 --- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Themes/Generic.xaml +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Themes/Generic.xaml @@ -248,19 +248,25 @@ <StackPanel Orientation="Horizontal" Background="Transparent" ToolTip="{Binding ToolTip}"> - <ContentControl Name="icon" - Content="{Binding Icon}" - Width="16" - Height="16" - Margin="0 0 5 1" - VerticalAlignment="Center" - Focusable="False" /> + <ContentPresenter Name="icon" + Content="{Binding Icon}" + Width="16" + Height="16" + Margin="0 0 5 1" + VerticalAlignment="Center" + Focusable="False"> + <ContentPresenter.ContentTemplate> + <DataTemplate> + <Image Source="{Binding}"/> + </DataTemplate> + </ContentPresenter.ContentTemplate> + </ContentPresenter> <Border Name="textContainer" Background="{TemplateBinding TextBackground}"> - <ContentControl Content="{Binding Text}" - Margin="2 0 6 0" - VerticalAlignment="Center" - Focusable="False" /> + <ContentPresenter Content="{Binding Text}" + Margin="2 0 6 0" + VerticalAlignment="Center" + Focusable="False" /> </Border> <Border Name="textEditorContainer" /> </StackPanel> diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/TreeFlattener.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/TreeFlattener.cs index 1c6545243a..332031dfd8 100644 --- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/TreeFlattener.cs +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/TreeFlattener.cs @@ -2,148 +2,153 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using System.Collections; using System.Collections.Generic; +using System.Collections.Specialized; +using System.ComponentModel; +using System.Diagnostics; using System.Linq; using System.Text; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Collections.Specialized; namespace ICSharpCode.TreeView { - class TreeFlattener + sealed class TreeFlattener : IList, INotifyCollectionChanged { - public TreeFlattener(SharpTreeNode root, bool includeRoot) + /// <summary> + /// The root node of the flat list tree. + /// Tjis is not necessarily the root of the model! + /// </summary> + internal SharpTreeNode root; + readonly bool includeRoot; + readonly object syncRoot = new object(); + + public TreeFlattener(SharpTreeNode modelRoot, bool includeRoot) { - this.root = root; + this.root = modelRoot; + while (root.listParent != null) + root = root.listParent; + root.treeFlattener = this; this.includeRoot = includeRoot; - List = new ObservableCollection<SharpTreeNode>(); } - SharpTreeNode root; - bool includeRoot; - - public ObservableCollection<SharpTreeNode> List { get; private set; } - - public void Start() + public event NotifyCollectionChangedEventHandler CollectionChanged; + + public void RaiseCollectionChanged(NotifyCollectionChangedEventArgs e) { - if (includeRoot) { - Add(root); - } - else { - root.Children.CollectionChanged += node_ChildrenChanged; + if (CollectionChanged != null) + CollectionChanged(this, e); + } + + public void NodesInserted(int index, IEnumerable<SharpTreeNode> nodes) + { + if (!includeRoot) index--; + foreach (SharpTreeNode node in nodes) { + RaiseCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, node, index++)); } - - foreach (var node in root.ExpandedDescendants()) { - Add(node); + } + + public void NodesRemoved(int index, IEnumerable<SharpTreeNode> nodes) + { + if (!includeRoot) index--; + foreach (SharpTreeNode node in nodes) { + RaiseCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, node, index)); } } - + public void Stop() { - while (List.Count > 0) { - RemoveAt(0); + Debug.Assert(root.treeFlattener == this); + root.treeFlattener = null; + } + + public object this[int index] { + get { + if (index < 0 || index >= this.Count) + throw new ArgumentOutOfRangeException(); + return SharpTreeNode.GetNodeByVisibleIndex(root, includeRoot ? index : index + 1); + } + set { + throw new NotSupportedException(); } } - - void Add(SharpTreeNode node) - { - Insert(List.Count, node); + + public int Count { + get { + return includeRoot ? root.GetTotalListLength() : root.GetTotalListLength() - 1; + } } - - void Insert(int index, SharpTreeNode node) + + public int IndexOf(object item) { - List.Insert(index, node); - node.PropertyChanged += node_PropertyChanged; - if (node.IsExpanded) { - node.Children.CollectionChanged += node_ChildrenChanged; + SharpTreeNode node = item as SharpTreeNode; + if (node != null && node.IsVisible && node.GetListRoot() == root) { + if (includeRoot) + return SharpTreeNode.GetVisibleIndexForNode(node); + else + return SharpTreeNode.GetVisibleIndexForNode(node) - 1; + } else { + return -1; } } - - void RemoveAt(int index) - { - var node = List[index]; - List.RemoveAt(index); - node.PropertyChanged -= node_PropertyChanged; - if (node.IsExpanded) { - node.Children.CollectionChanged -= node_ChildrenChanged; + + bool IList.IsReadOnly { + get { return true; } + } + + bool IList.IsFixedSize { + get { return false; } + } + + bool ICollection.IsSynchronized { + get { return false; } + } + + object ICollection.SyncRoot { + get { + return syncRoot; } } - - void ClearDescendants(SharpTreeNode node) + + void IList.Insert(int index, object item) { - var index = List.IndexOf(node); - while (index + 1 < List.Count && List[index + 1].Level > node.Level) { - RemoveAt(index + 1); - } + throw new NotSupportedException(); } - - void node_PropertyChanged(object sender, PropertyChangedEventArgs e) + + void IList.RemoveAt(int index) { - if (e.PropertyName == "IsExpanded") { - var node = sender as SharpTreeNode; - - if (node.IsExpanded) { - var index = List.IndexOf(node); - foreach (var childNode in node.ExpandedDescendants()) { - Insert(++index, childNode); - } - node.Children.CollectionChanged += node_ChildrenChanged; - } - else { - ClearDescendants(node); - node.Children.CollectionChanged -= node_ChildrenChanged; - } - } + throw new NotSupportedException(); } - - void Insert(SharpTreeNode parent, int index, SharpTreeNode node) + + int IList.Add(object item) { - int finalIndex = 0; - if (index > 0) { - finalIndex = List.IndexOf(parent.Children[index - 1]) + 1; - while (finalIndex < List.Count && List[finalIndex].Level > node.Level) { - finalIndex++; - } - } - else { - finalIndex = List.IndexOf(parent) + 1; - } - Insert(finalIndex, node); + throw new NotSupportedException(); } - - void RemoveAt(SharpTreeNode parent, int index, SharpTreeNode node) + + void IList.Clear() { - var i = List.IndexOf(node); - foreach (var child in node.ExpandedDescendantsAndSelf()) { - RemoveAt(i); - } + throw new NotSupportedException(); } - - void node_ChildrenChanged(object sender, NotifyCollectionChangedEventArgs e) + + public bool Contains(object item) { - var collection = sender as SharpTreeNodeCollection; - var parent = collection.Parent; - var index = List.IndexOf(collection.Parent) + 1; - - switch (e.Action) { - case NotifyCollectionChangedAction.Add: - Insert(parent, e.NewStartingIndex, e.NewItems[0] as SharpTreeNode); - break; - case NotifyCollectionChangedAction.Remove: - RemoveAt(parent, e.OldStartingIndex, e.OldItems[0] as SharpTreeNode); - break; - case NotifyCollectionChangedAction.Move: - RemoveAt(parent, e.OldStartingIndex, e.OldItems[0] as SharpTreeNode); - Insert(parent, e.NewStartingIndex, e.NewItems[0] as SharpTreeNode); - break; - case NotifyCollectionChangedAction.Replace: - RemoveAt(parent, e.OldStartingIndex, e.OldItems[0] as SharpTreeNode); - Insert(parent, e.NewStartingIndex, e.NewItems[0] as SharpTreeNode); - break; - case NotifyCollectionChangedAction.Reset: - ClearDescendants(parent); - break; + return IndexOf(item) >= 0; + } + + public void CopyTo(Array array, int arrayIndex) + { + foreach (object item in this) + array.SetValue(item, arrayIndex++); + } + + void IList.Remove(object item) + { + throw new NotSupportedException(); + } + + public IEnumerator GetEnumerator() + { + for (int i = 0; i < this.Count; i++) { + yield return this[i]; } } } diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/TreeTraversal.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/TreeTraversal.cs new file mode 100644 index 0000000000..b5ae74b6bb --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/TreeTraversal.cs @@ -0,0 +1,54 @@ +// 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.Collections.Generic; + +namespace ICSharpCode.TreeView +{ + /// <summary> + /// Static helper methods for traversing trees. + /// </summary> + static class TreeTraversal + { + /// <summary> + /// Converts a tree data structure into a flat list by traversing it in pre-order. + /// </summary> + /// <param name="root">The root element of the tree.</param> + /// <param name="recursion">The function that gets the children of an element.</param> + /// <returns>Iterator that enumerates the tree structure in pre-order.</returns> + public static IEnumerable<T> PreOrder<T>(T root, Func<T, IEnumerable<T>> recursion) + { + return PreOrder(new T[] { root }, recursion); + } + + /// <summary> + /// Converts a tree data structure into a flat list by traversing it in pre-order. + /// </summary> + /// <param name="input">The root elements of the forest.</param> + /// <param name="recursion">The function that gets the children of an element.</param> + /// <returns>Iterator that enumerates the tree structure in pre-order.</returns> + public static IEnumerable<T> PreOrder<T>(IEnumerable<T> input, Func<T, IEnumerable<T>> recursion) + { + Stack<IEnumerator<T>> stack = new Stack<IEnumerator<T>>(); + try { + stack.Push(input.GetEnumerator()); + while (stack.Count > 0) { + while (stack.Peek().MoveNext()) { + T element = stack.Peek().Current; + yield return element; + IEnumerable<T> children = recursion(element); + if (children != null) { + stack.Push(children.GetEnumerator()); + } + } + stack.Pop().Dispose(); + } + } finally { + while (stack.Count > 0) { + stack.Pop().Dispose(); + } + } + } + } +} From c14a451c1daf2671ffc0aeae710de95f92d3dcc7 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Fri, 5 Aug 2011 17:14:10 +0200 Subject: [PATCH 116/168] adjust XamlOutlineNode to new SharpTreeView --- .../XamlOutlineContentHost.xaml.cs | 1 - .../XamlBinding/XamlOutlineNode.cs | 92 +++++++------------ 2 files changed, 35 insertions(+), 58 deletions(-) diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlOutlineContentHost.xaml.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlOutlineContentHost.xaml.cs index 8f2881569b..d644ab0f9e 100644 --- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlOutlineContentHost.xaml.cs +++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlOutlineContentHost.xaml.cs @@ -79,7 +79,6 @@ namespace ICSharpCode.XamlBinding XamlOutlineNode node = new XamlOutlineNode() { Name = item.Name, ElementName = item.ElementName, - ShowIcon = false, Marker = editor.Document.CreateAnchor(Utils.MinMax(item.StartOffset, 0, editor.Document.TextLength - 1)), EndMarker = editor.Document.CreateAnchor(Utils.MinMax(item.EndOffset, 0, editor.Document.TextLength - 1)), Editor = editor diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlOutlineNode.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlOutlineNode.cs index 58268015a2..a128a0e7de 100644 --- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlOutlineNode.cs +++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlOutlineNode.cs @@ -40,14 +40,9 @@ namespace ICSharpCode.XamlBinding return false; //nodes.All(node => node.Parent != null); } - public override DropEffect CanDrop(IDataObject data, DropEffect requestedEffect) + public override bool CanDrop(DragEventArgs e, int index) { - return DropEffect.None; //DropEffect.Move; - } - - public override bool CanCopy(SharpTreeNode[] nodes) - { - return true; + return false; } public string GetMarkupText() @@ -67,64 +62,47 @@ namespace ICSharpCode.XamlBinding return dataObject; } - public override bool CanDelete(SharpTreeNode[] nodes) + public override bool CanDelete() { - return nodes.All(node => node.Parent != null); + return Parent != null; } - public override void Drop(IDataObject data, int index, DropEffect finalEffect) - { - try { - string insertText = (data.GetData(typeof(string[])) as string[]) - .Aggregate((text, part) => text += part); - ITextAnchor marker; - int length = 0; - if (index == this.Children.Count) { - if (index == 0) - marker = null; - else - marker = (this.Children[index - 1] as XamlOutlineNode).EndMarker; - if (marker == null) { - marker = this.EndMarker; - length = -1; // move backwards - } else { - length = 2 + (this.Children[index - 1] as XamlOutlineNode).elementName.Length; - } - } else - marker = (this.Children[index] as XamlOutlineNode).Marker; - - int offset = marker.Offset + length; - Editor.Document.Insert(offset, insertText); - } catch (Exception ex) { - throw ex; - } - } +// public override void Drop(IDataObject data, int index, DropEffect finalEffect) +// { +// try { +// string insertText = (data.GetData(typeof(string[])) as string[]) +// .Aggregate((text, part) => text += part); +// ITextAnchor marker; +// int length = 0; +// if (index == this.Children.Count) { +// if (index == 0) +// marker = null; +// else +// marker = (this.Children[index - 1] as XamlOutlineNode).EndMarker; +// if (marker == null) { +// marker = this.EndMarker; +// length = -1; // move backwards +// } else { +// length = 2 + (this.Children[index - 1] as XamlOutlineNode).elementName.Length; +// } +// } else +// marker = (this.Children[index] as XamlOutlineNode).Marker; +// +// int offset = marker.Offset + length; +// Editor.Document.Insert(offset, insertText); +// } catch (Exception ex) { +// throw ex; +// } +// } - public override void Delete(SharpTreeNode[] nodes) + public override void Delete() { - DeleteCore(nodes); + DeleteCore(); } - public override void DeleteCore(SharpTreeNode[] nodes) + public override void DeleteCore() { - foreach (XamlOutlineNode node in nodes.OfType<XamlOutlineNode>()) { - node.Editor.Document.Remove(node.Marker.Offset, node.EndMarker.Offset - node.Marker.Offset); - } - } - - ContextMenu menu; - - public override ContextMenu GetContextMenu() - { - if (menu == null) { - menu = new ContextMenu(); - menu.Items.Add(new MenuItem() { Command = ApplicationCommands.Cut }); - menu.Items.Add(new MenuItem() { Command = ApplicationCommands.Copy }); - menu.Items.Add(new MenuItem() { Command = ApplicationCommands.Paste }); - menu.Items.Add(new Separator()); - menu.Items.Add(new MenuItem() { Command = ApplicationCommands.Delete }); - } - return menu; + Editor.Document.Remove(Marker.Offset, EndMarker.Offset - Marker.Offset); } public override object Text { From d571914b274bd4260d3f4e67769c172173358532 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Fri, 5 Aug 2011 21:06:16 +0200 Subject: [PATCH 117/168] remove dependency on Aga.Controls from Debugger.AddIn --- SharpDevelop.sln | 479 +++++++++--------- .../Debugger.AddIn/Debugger.AddIn.csproj | 8 - .../Pads/Commands/WatchPadCommands.cs | 17 +- .../Debugger/Debugger.AddIn/Pads/WatchPad.cs | 6 +- .../Debugger.AddIn/Pads/WatchPadModel.cs | 6 +- .../Service/DebuggeeExceptionForm.cs | 7 +- .../Debugger.AddIn/Service/WindowsDebugger.cs | 4 +- .../TreeModel/Adapters/TreeViewVarNode.cs | 291 ----------- .../TreeModel/ArrayRangeNode.cs | 19 +- .../TreeModel/ChildNodesOfObject.cs | 54 +- .../TreeModel/ExpressionNode.cs | 13 +- .../Debugger.AddIn/TreeModel/ICorDebug.cs | 53 +- .../TreeModel/IEnumerableNode.cs | 5 +- .../Debugger.AddIn/TreeModel/IListNode.cs | 5 +- .../Debugger.AddIn/TreeModel/SavedTreeNode.cs | 1 + .../TreeModel/StackFrameNode.cs | 9 +- .../Debugger.AddIn/TreeModel/TreeNode.cs | 15 +- 17 files changed, 352 insertions(+), 640 deletions(-) delete mode 100644 src/AddIns/Debugger/Debugger.AddIn/TreeModel/Adapters/TreeViewVarNode.cs diff --git a/SharpDevelop.sln b/SharpDevelop.sln index 7579c1c84d..42f9b60fc3 100644 --- a/SharpDevelop.sln +++ b/SharpDevelop.sln @@ -1,69 +1,69 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -# SharpDevelop 4.1.0.7374-alpha +# SharpDevelop 4.1.0.7636-alpha Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -72,195 +72,186 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{ ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "src\Libraries\Mono.Cecil\Mono.Cecil.csproj", "{D68133BD-1E63-496E-9EDE-4FBDBF77B486}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" + ProjectSection(SolutionItems) = postProject + EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "src\Libraries\Mono.Cecil\Mono.Cecil.csproj", "{D68133BD-1E63-496E-9EDE-4FBDBF77B486}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{39327899-ED91-4F7F-988C-4FE4E17C014D}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" - ProjectSection(SolutionItems) = postProject - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Irony", "src\AddIns\Misc\Reports\Irony\Irony.csproj", "{D81F5C91-D7DB-46E5-BC99-49488FB6814C}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SettingsEditor", "src\AddIns\DisplayBindings\SettingsEditor\Project\SettingsEditor.csproj", "{85226AFB-CE71-4851-9A75-7EEC663A8E8A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -269,36 +260,47 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9 ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ILSpyAddIn", "src\AddIns\Misc\ILSpyAddIn\ILSpyAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextTemplating", "src\AddIns\Misc\TextTemplating\Project\TextTemplating.csproj", "{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PackageManagement", "PackageManagement", "{50B51AAA-80E3-4C4A-8B2D-CAF440A82B78}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Cmdlets", "src\AddIns\Misc\PackageManagement\Cmdlets\Project\PackageManagement.Cmdlets.csproj", "{E0A5E80A-003B-4335-A9DC-A76E2E46D38D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement", "src\AddIns\Misc\PackageManagement\Project\PackageManagement.csproj", "{AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.PowerShell", "src\AddIns\Misc\PackageManagement\PowerShell\Project\PackageManagement.PowerShell.csproj", "{A406803B-C584-43A3-BCEE-A0BB3132CB5F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -308,194 +310,190 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\A {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ILSpyAddIn", "src\AddIns\Misc\ILSpyAddIn\ILSpyAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PackageManagement", "PackageManagement", "{50B51AAA-80E3-4C4A-8B2D-CAF440A82B78}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.PowerShell", "src\AddIns\Misc\PackageManagement\PowerShell\Project\PackageManagement.PowerShell.csproj", "{A406803B-C584-43A3-BCEE-A0BB3132CB5F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement", "src\AddIns\Misc\PackageManagement\Project\PackageManagement.csproj", "{AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SettingsEditor", "src\AddIns\DisplayBindings\SettingsEditor\Project\SettingsEditor.csproj", "{85226AFB-CE71-4851-9A75-7EEC663A8E8A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Cmdlets", "src\AddIns\Misc\PackageManagement\Cmdlets\Project\PackageManagement.Cmdlets.csproj", "{E0A5E80A-003B-4335-A9DC-A76E2E46D38D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextTemplating", "src\AddIns\Misc\TextTemplating\Project\TextTemplating.csproj", "{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Irony", "src\AddIns\Misc\Reports\Irony\Irony.csproj", "{D81F5C91-D7DB-46E5-BC99-49488FB6814C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -562,10 +560,6 @@ Global {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}.Debug|Any CPU.Build.0 = Debug|Any CPU {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}.Release|Any CPU.ActiveCfg = Release|Any CPU {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}.Release|Any CPU.Build.0 = Release|Any CPU - {E73BB233-D88B-44A7-A98F-D71EE158381D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E73BB233-D88B-44A7-A98F-D71EE158381D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E73BB233-D88B-44A7-A98F-D71EE158381D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E73BB233-D88B-44A7-A98F-D71EE158381D}.Release|Any CPU.Build.0 = Release|Any CPU {4AC2D5F1-F671-480C-A075-6BF62B3721B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4AC2D5F1-F671-480C-A075-6BF62B3721B2}.Debug|Any CPU.Build.0 = Debug|Any CPU {4AC2D5F1-F671-480C-A075-6BF62B3721B2}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -1087,110 +1081,109 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {D68133BD-1E63-496E-9EDE-4FBDBF77B486} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {D68133BD-1E63-496E-9EDE-4FBDBF77B486} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} - {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} - {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} - {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} - {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} - {85226AFB-CE71-4851-9A75-7EEC663A8E8A} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {50B51AAA-80E3-4C4A-8B2D-CAF440A82B78} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {E0A5E80A-003B-4335-A9DC-A76E2E46D38D} = {50B51AAA-80E3-4C4A-8B2D-CAF440A82B78} - {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1} = {50B51AAA-80E3-4C4A-8B2D-CAF440A82B78} - {A406803B-C584-43A3-BCEE-A0BB3132CB5F} = {50B51AAA-80E3-4C4A-8B2D-CAF440A82B78} - {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} - {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} - {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} - {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {D81F5C91-D7DB-46E5-BC99-49488FB6814C} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} - {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} + {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} + {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} + {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} + {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} + {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {D81F5C91-D7DB-46E5-BC99-49488FB6814C} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {50B51AAA-80E3-4C4A-8B2D-CAF440A82B78} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A406803B-C584-43A3-BCEE-A0BB3132CB5F} = {50B51AAA-80E3-4C4A-8B2D-CAF440A82B78} + {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1} = {50B51AAA-80E3-4C4A-8B2D-CAF440A82B78} + {E0A5E80A-003B-4335-A9DC-A76E2E46D38D} = {50B51AAA-80E3-4C4A-8B2D-CAF440A82B78} + {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {85226AFB-CE71-4851-9A75-7EEC663A8E8A} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} + {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} + {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} + {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} + {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} EndGlobalSection EndGlobal diff --git a/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.csproj b/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.csproj index f200b5f896..2975ba4394 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.csproj +++ b/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.csproj @@ -300,9 +300,6 @@ </Compile> <Compile Include="Pads\DebuggerPad.cs" /> <Compile Include="Pads\RunningThreadsPad.Menu.cs" /> - <Compile Include="TreeModel\Adapters\TreeViewVarNode.cs"> - <SubType>Component</SubType> - </Compile> <Compile Include="TreeModel\ArrayRangeNode.cs" /> <Compile Include="TreeModel\ExpressionNode.cs" /> <Compile Include="TreeModel\IContextMenu.cs" /> @@ -413,11 +410,6 @@ <Name>NRefactory</Name> <Private>False</Private> </ProjectReference> - <ProjectReference Include="..\..\..\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj"> - <Project>{E73BB233-D88B-44A7-A98F-D71EE158381D}</Project> - <Name>Aga.Controls</Name> - <Private>False</Private> - </ProjectReference> <ProjectReference Include="..\..\..\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj"> <Project>{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}</Project> <Name>ICSharpCode.Core.WinForms</Name> diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/Commands/WatchPadCommands.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/Commands/WatchPadCommands.cs index 76a52e5038..d62dde6c6e 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/Commands/WatchPadCommands.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/Commands/WatchPadCommands.cs @@ -3,12 +3,9 @@ using System; using System.Collections.Generic; -using System.Windows.Controls; using System.Windows.Forms; -using Aga.Controls.Tree; using Debugger.AddIn.Pads; -using Debugger.AddIn.Pads.Controls; using Debugger.AddIn.TreeModel; using ICSharpCode.Core; using ICSharpCode.Core.Presentation; @@ -17,7 +14,6 @@ using ICSharpCode.NRefactory; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Gui.Pads; using ICSharpCode.SharpDevelop.Project; -using ICSharpCode.SharpDevelop.Debugging; namespace Debugger.AddIn { @@ -43,7 +39,7 @@ namespace Debugger.AddIn string language = ProjectService.CurrentProject.Language; - TextNode text = new TextNode(input, + TextNode text = new TextNode(null, input, language == "VB" || language == "VBNet" ? SupportedLanguage.VBNet : SupportedLanguage.CSharp); var list = pad.WatchList; @@ -120,21 +116,22 @@ namespace Debugger.AddIn if (owner is WatchPad) { WatchPad pad = (WatchPad)owner; - TreeViewVarNode node = ((TreeViewAdv)pad.Control).SelectedNode as TreeViewVarNode; + var node = pad.WatchList.SelectedNode; if (node == null) return items.ToArray(); - while (node.Parent != ((TreeViewAdv)pad.Control).Root) + + while (node.Parent != null && node.Parent.Parent != null) { - node = node.Parent as TreeViewVarNode; + node = node.Parent; } - if (!(node.Content is TextNode)) + if (!(node is TextNode)) return items.ToArray(); foreach (string item in SupportedLanguage.GetNames(typeof(SupportedLanguage))) { - items.Add(MakeItem(item, item, node.Content as TextNode, (sender, e) => HandleItem(sender))); + items.Add(MakeItem(item, item, node as TextNode, (sender, e) => HandleItem(sender))); } } diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs index 046f3a7626..1fb2b894af 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs @@ -89,7 +89,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads string language = ProjectService.CurrentProject.Language; // FIXME languages - TextNode text = new TextNode(e.Data.GetData(DataFormats.StringFormat).ToString(), + TextNode text = new TextNode(null, e.Data.GetData(DataFormats.StringFormat).ToString(), language == "VB" || language == "VBNet" ? SupportedLanguage.VBNet : SupportedLanguage.CSharp); if (!watchList.WatchItems.Contains(text)) @@ -133,7 +133,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads // rebuild list var nodes = new List<TreeNode>(); foreach (var nod in watchList.WatchItems) - nodes.Add(new TextNode(nod.Name, + nodes.Add(new TextNode(null, nod.Name, language == "VB" || language == "VBNet" ? SupportedLanguage.VBNet : SupportedLanguage.CSharp)); watchList.WatchItems.Clear(); @@ -175,7 +175,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads LoggingService.Info("Evaluating: " + (string.IsNullOrEmpty(nod.Name) ? "is null or empty!" : nod.Name)); var nodExpression = debugger.GetExpression(nod.Name); //Value val = ExpressionEvaluator.Evaluate(nod.Name, nod.Language, debuggedProcess.SelectedStackFrame); - ExpressionNode valNode = new ExpressionNode(null, nod.Name, nodExpression); + ExpressionNode valNode = new ExpressionNode(null, null, nod.Name, nodExpression); nodes.Add(valNode); } catch (GetValueException) { diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs index ce3906bf27..14365919db 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs @@ -2,6 +2,7 @@ // This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt) using System; +using System.Collections.Generic; using Debugger.AddIn.TreeModel; using ICSharpCode.NRefactory; using ICSharpCode.SharpDevelop.Debugging; @@ -10,7 +11,8 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads { public class TextNode : TreeNode, ISetText { - public TextNode(string text, SupportedLanguage language) + public TextNode(TreeNode parent, string text, SupportedLanguage language) + : base(parent) { this.Name = text; this.Language = language; @@ -39,7 +41,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads public class ErrorInfoNode : ICorDebug.InfoNode { - public ErrorInfoNode(string name, string text) : base(name, text) + public ErrorInfoNode(string name, string text) : base(null, name, text) { IconImage = DebuggerResourceService.GetImage("Icons.16x16.Error"); } diff --git a/src/AddIns/Debugger/Debugger.AddIn/Service/DebuggeeExceptionForm.cs b/src/AddIns/Debugger/Debugger.AddIn/Service/DebuggeeExceptionForm.cs index 632275aec2..eca5787f6a 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Service/DebuggeeExceptionForm.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Service/DebuggeeExceptionForm.cs @@ -1,16 +1,13 @@ // Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) // This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt) -using ICSharpCode.Core.WinForms; using System; -using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; -using Aga.Controls.Tree; -using Aga.Controls.Tree.NodeControls; + using Debugger; -using Debugger.AddIn.TreeModel; using ICSharpCode.Core; +using ICSharpCode.Core.WinForms; using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.SharpDevelop.Services diff --git a/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs b/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs index c010a3850f..7ca47787db 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs @@ -606,7 +606,7 @@ namespace ICSharpCode.SharpDevelop.Services var tooltipExpression = GetExpression(variableName); string imageName; var image = ExpressionNode.GetImageForLocalVariable(out imageName); - ExpressionNode expressionNode = new ExpressionNode(image, variableName, tooltipExpression); + ExpressionNode expressionNode = new ExpressionNode(null, image, variableName, tooltipExpression); expressionNode.ImageName = imageName; return new DebuggerTooltipControl(logicalPosition, expressionNode); } catch (GetValueException) { @@ -627,7 +627,7 @@ namespace ICSharpCode.SharpDevelop.Services image = new ResourceServiceImage(currentImageName); imageName = currentImageName; } - ExpressionNode expressionNode = new ExpressionNode(image, variable, expression); + ExpressionNode expressionNode = new ExpressionNode(null, image, variable, expression); expressionNode.ImageName = imageName; return expressionNode; } catch (GetValueException) { diff --git a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/Adapters/TreeViewVarNode.cs b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/Adapters/TreeViewVarNode.cs deleted file mode 100644 index da531692d9..0000000000 --- a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/Adapters/TreeViewVarNode.cs +++ /dev/null @@ -1,291 +0,0 @@ -// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) -// This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt) - -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Drawing; -using System.Windows.Forms; - -using Aga.Controls.Tree; -using Aga.Controls.Tree.NodeControls; -using ICSharpCode.Core; -using TreeNode = Debugger.AddIn.TreeModel.TreeNode; - -namespace Debugger.AddIn.TreeModel -{ - public sealed class ItemIcon: NodeIcon { - protected override Image GetIcon(TreeNodeAdv node) - { - return ((TreeViewVarNode)node).Content.Image; - } - } - - public sealed class ItemName: NodeTextBox { - protected override bool CanEdit(TreeNodeAdv node) - { - return false; - } - public override object GetValue(TreeNodeAdv node) - { - if (node is TreeViewVarNode) { - return ((TreeViewVarNode)node).Content.Name; - } else { - // Happens during incremental search - return base.GetValue(node); - } - } - } - - public sealed class ItemText: NodeTextBox { - public ItemText() - { - this.EditEnabled = true; - this.EditOnClick = true; - } - protected override bool CanEdit(TreeNodeAdv node) - { - TreeNode content = ((TreeViewVarNode)node).Content; - return (content is ISetText) && ((ISetText)content).CanSetText; - } - public override object GetValue(TreeNodeAdv node) - { - if (node is TreeViewVarNode) { - return ((TreeViewVarNode)node).Content.Text; - } else { - // Happens during incremental search - return base.GetValue(node); - } - } - public override void SetValue(TreeNodeAdv node, object value) - { - ISetText content = (ISetText)((TreeViewVarNode)node).Content; - if (content.CanSetText) { - content.SetText(value.ToString()); - } - } - protected override void OnDrawText(DrawEventArgs args) - { - TreeNode content = ((TreeViewVarNode)args.Node).Content; - if (content is ExpressionNode && ((ExpressionNode)content).Error != null) { - args.TextColor = Color.Red; - } else if (((TreeViewVarNode)args.Node).TextChanged) { - args.TextColor = Color.Blue; - } - base.OnDrawText(args); - } - public override void MouseDown(TreeNodeAdvMouseEventArgs args) - { - TreeNode content = ((TreeViewVarNode)args.Node).Content; - if (content is IContextMenu && args.Button == MouseButtons.Right) { - ContextMenuStrip menu = ((IContextMenu)content).GetContextMenu(); - if (menu != null) { - menu.Show(args.Node.Tree, args.Location); - args.Handled = true; - } - } else { - base.MouseDown(args); - } - } - } - - public sealed class ItemType: NodeTextBox { - protected override bool CanEdit(TreeNodeAdv node) - { - return false; - } - public override object GetValue(TreeNodeAdv node) - { - if (node is TreeViewVarNode) { - return ((TreeViewVarNode)node).Content.Type; - } else { - // Happens during incremental search - return base.GetValue(node); - } - } - } - - /// <summary> - /// A child class of TreeNodeAdv that displays exceptions. - /// </summary> - public class TreeViewVarNode: TreeNodeAdv - { - static Dictionary<string, bool> expandedNodes = new Dictionary<string, bool>(); - - TreeViewAdv localVarList; - Process process; - TreeNode content; - - bool childsLoaded; - bool textChanged; - - public TreeNode Content { - get { return content; } - } - - public bool TextChanged { - get { return textChanged; } - } - - string FullName { - get { - if (this.Parent != null && this.Parent is TreeViewVarNode) { - return ((TreeViewVarNode)this.Parent).FullName + "." + Content.Name; - } else { - return Content.Name; - } - } - } - - public TreeViewVarNode(Process process, TreeViewAdv localVarList, TreeNode content): base(localVarList, new object()) - { - this.process = process; - this.localVarList = localVarList; - SetContentRecursive(content); - } - - static TimeSpan workTime = TimeSpan.FromMilliseconds(40); - static Stopwatch timeSinceLastRepaintEnd; - - #region SetContentRecursive - - /// <summary> - /// A simple form of SetContentRecursive that changes the current ChildViewNode to - /// display the data provided by <c>content</c>. If the node had any children and is expanded, - /// it will recureively set those as well. - /// </summary> - /// <param name="content">Contains the name value and type of the variable stored in this particular TreeViewNode.</param> - private void SetContentRecursive(TreeNode content) - { - this.textChanged = - this.content != null && - this.content.Name == content.Name && - this.content.Text != content.Text; - this.content = content; - this.IsLeaf = (content.ChildNodes == null); - childsLoaded = false; - this.IsExpandedOnce = false; - if (!IsLeaf && expandedNodes.ContainsKey(this.FullName) && expandedNodes[this.FullName]) { - LoadChildren(); - this.Expand(); - } else { - this.Children.Clear(); - this.Collapse(); - } - // Process user commands - Utils.DoEvents(process); - // Repaint - if (timeSinceLastRepaintEnd == null || timeSinceLastRepaintEnd.Elapsed > workTime) { - using(new PrintTime("Repainting Local Variables Pad")) { - try { - this.Tree.EndUpdate(); // Enable painting - Utils.DoEvents(process); // Paint - } finally { - this.Tree.BeginUpdate(); // Disable painting - timeSinceLastRepaintEnd = new Stopwatch(); - timeSinceLastRepaintEnd.Start(); - } - } - } - } - - /// <summary> - /// Private form of SetContentRecursive. This form contains an extra parameter used by LoadChildren. - /// This adds the childNodes parameter, which can be set to the children of a particular child element. - /// </summary> - /// <param name="process"></param> - /// <param name="localVarList"></param> - /// <param name="childNodes"></param> - /// <param name="contentEnum"></param> - private static void SetContentRecursive(Process process, TreeViewAdv localVarList, IList<TreeNodeAdv> childNodes, IEnumerable<TreeNode> contentEnum) - { - contentEnum = contentEnum ?? new TreeNode[0]; - - int index = 0; - foreach(TreeNode content in contentEnum) { - // Add or overwrite existing items - if (index < childNodes.Count) { - // Overwrite - ((TreeViewVarNode)childNodes[index]).SetContentRecursive(content); - } else { - // Add - childNodes.Add(new TreeViewVarNode(process, localVarList, content)); - } - index++; - } - int count = index; - // Delete other nodes - while(childNodes.Count > count) { - childNodes.RemoveAt(count); - } - } - - /// <summary> - /// Function for setting the root treenode of a TreeViewAdv ment to display debugger variables. - /// </summary> - /// <param name="process">The process that contains the stackframe with the given variables.</param> - /// <param name="localVarList">A list of local variables.</param> - /// <param name="contentEnum">A list of local variables.</param> - public static void SetContentRecursive(Process process, TreeViewAdv localVarList, IEnumerable<TreeNode> contentEnum) { - IList<TreeNodeAdv> childNodes = localVarList.Root.Children; - SetContentRecursive(process, localVarList, childNodes, contentEnum); - } - - #endregion SetContentRecursive - - protected override void OnExpanding() - { - base.OnExpanding(); - } - - - /// <summary> - /// This displays all the immediate children of a TreeViewNode in its containing TreeViewAdv. - /// </summary> - void LoadChildren() - { - if (!childsLoaded) { - childsLoaded = true; - this.IsExpandedOnce = true; - SetContentRecursive(process, this.localVarList, this.Children, this.Content.ChildNodes); - } - } - - - /// <summary> - /// Expands the current treenode and displays all its immediate children. - /// </summary> - protected override void OnExpanded() - { - base.OnExpanded(); - if (process == null) - return; - expandedNodes[FullName] = true; - if (process.IsRunning) { - MessageService.ShowMessage( - "${res:MainWindow.Windows.Debug.LocalVariables.CannotExploreVariablesWhileRunning}", - "${res:MainWindow.Windows.Debug.LocalVariables}" - ); - return; - } - try { - this.Tree.BeginUpdate(); - LoadChildren(); - } catch (AbortedBecauseDebuggeeResumedException) { - } finally { - this.Tree.EndUpdate(); - } - } - - protected override void OnCollapsing() - { - base.OnCollapsing(); - } - - protected override void OnCollapsed() - { - base.OnCollapsed(); - expandedNodes[FullName] = false; - } - } -} diff --git a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ArrayRangeNode.cs b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ArrayRangeNode.cs index 814b3ce198..e341b77e21 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ArrayRangeNode.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ArrayRangeNode.cs @@ -11,12 +11,12 @@ namespace Debugger.AddIn.TreeModel { public partial class Utils { - public static IEnumerable<TreeNode> LazyGetChildNodesOfArray(Expression expression, ArrayDimensions dimensions) + public static IEnumerable<TreeNode> LazyGetChildNodesOfArray(TreeNode parent, Expression expression, ArrayDimensions dimensions) { if (dimensions.TotalElementCount == 0) - return new TreeNode[] { new TreeNode(null, "(empty)", null, null, null) }; + return new TreeNode[] { new TreeNode(null, "(empty)", null, null, parent, null) }; - return new ArrayRangeNode(expression, dimensions, dimensions).ChildNodes; + return new ArrayRangeNode(parent, expression, dimensions, dimensions).ChildNodes; } } @@ -29,14 +29,19 @@ namespace Debugger.AddIn.TreeModel ArrayDimensions bounds; ArrayDimensions originalBounds; - public ArrayRangeNode(Expression arrayTarget, ArrayDimensions bounds, ArrayDimensions originalBounds) + public ArrayRangeNode(TreeNode parent, Expression arrayTarget, ArrayDimensions bounds, ArrayDimensions originalBounds) + : base(parent) { this.arrayTarget = arrayTarget; this.bounds = bounds; this.originalBounds = originalBounds; this.Name = GetName(); - this.ChildNodes = LazyGetChildren(); + this.childNodes = LazyGetChildren(); + } + + public override IEnumerable<TreeNode> ChildNodes { + get { return base.ChildNodes; } } string GetName() @@ -87,7 +92,7 @@ namespace Debugger.AddIn.TreeModel foreach(int[] indices in bounds.Indices) { string imageName; var image = ExpressionNode.GetImageForArrayIndexer(out imageName); - var expression = new ExpressionNode(image, GetName(indices), arrayTarget.AppendIndexer(indices)); + var expression = new ExpressionNode(this, image, GetName(indices), arrayTarget.AppendIndexer(indices)); expression.ImageName = imageName; yield return expression; } @@ -112,7 +117,7 @@ namespace Debugger.AddIn.TreeModel for(int i = splitDim.LowerBound; i <= splitDim.UpperBound; i += elementsPerSegment) { List<ArrayDimension> newDims = new List<ArrayDimension>(bounds); newDims[splitDimensionIndex] = new ArrayDimension(i, Math.Min(i + elementsPerSegment - 1, splitDim.UpperBound)); - yield return new ArrayRangeNode(arrayTarget, new ArrayDimensions(newDims), originalBounds); + yield return new ArrayRangeNode(this, arrayTarget, new ArrayDimensions(newDims), originalBounds); } yield break; } diff --git a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ChildNodesOfObject.cs b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ChildNodesOfObject.cs index c96c5d35dc..2dcc272963 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ChildNodesOfObject.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ChildNodesOfObject.cs @@ -17,7 +17,7 @@ namespace Debugger.AddIn.TreeModel { public partial class Utils { - public static IEnumerable<TreeNode> LazyGetChildNodesOfObject(Expression targetObject, DebugType shownType) + public static IEnumerable<TreeNode> LazyGetChildNodesOfObject(TreeNode current, Expression targetObject, DebugType shownType) { MemberInfo[] publicStatic = shownType.GetFieldsAndNonIndexedProperties(BindingFlags.Public | BindingFlags.Static | BindingFlags.DeclaredOnly); MemberInfo[] publicInstance = shownType.GetFieldsAndNonIndexedProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly); @@ -31,7 +31,8 @@ namespace Debugger.AddIn.TreeModel StringParser.Parse("${res:MainWindow.Windows.Debug.LocalVariables.BaseClass}"), baseType.Name, baseType.FullName, - baseType.FullName == "System.Object" ? null : Utils.LazyGetChildNodesOfObject(targetObject, baseType) + current, + newNode => baseType.FullName == "System.Object" ? null : Utils.LazyGetChildNodesOfObject(newNode, targetObject, baseType) ); } @@ -41,53 +42,58 @@ namespace Debugger.AddIn.TreeModel StringParser.Parse("${res:MainWindow.Windows.Debug.LocalVariables.NonPublicMembers}"), string.Empty, string.Empty, - Utils.LazyGetMembersOfObject(targetObject, nonPublicInstance) + current, + newNode => Utils.LazyGetMembersOfObject(newNode, targetObject, nonPublicInstance) ); } if (publicStatic.Length > 0 || nonPublicStatic.Length > 0) { - IEnumerable<TreeNode> childs = Utils.LazyGetMembersOfObject(targetObject, publicStatic); - if (nonPublicStatic.Length > 0) { - TreeNode nonPublicStaticNode = new TreeNode( - null, - StringParser.Parse("${res:MainWindow.Windows.Debug.LocalVariables.NonPublicStaticMembers}"), - string.Empty, - string.Empty, - Utils.LazyGetMembersOfObject(targetObject, nonPublicStatic) - ); - childs = Utils.PrependNode(nonPublicStaticNode, childs); - } yield return new TreeNode( null, StringParser.Parse("${res:MainWindow.Windows.Debug.LocalVariables.StaticMembers}"), string.Empty, string.Empty, - childs + current, + p => { + var children = Utils.LazyGetMembersOfObject(p, targetObject, publicStatic); + if (nonPublicStatic.Length > 0) { + TreeNode nonPublicStaticNode = new TreeNode( + null, + StringParser.Parse("${res:MainWindow.Windows.Debug.LocalVariables.NonPublicStaticMembers}"), + string.Empty, + string.Empty, + p, + newNode => Utils.LazyGetMembersOfObject(newNode, targetObject, nonPublicStatic) + ); + children = Utils.PrependNode(nonPublicStaticNode, children); + } + return children; + } ); } DebugType iListType = (DebugType)shownType.GetInterface(typeof(IList).FullName); if (iListType != null) { - yield return new IListNode(targetObject); + yield return new IListNode(current, targetObject); } else { DebugType iEnumerableType, itemType; if (shownType.ResolveIEnumerableImplementation(out iEnumerableType, out itemType)) { - yield return new IEnumerableNode(targetObject, itemType); + yield return new IEnumerableNode(current, targetObject, itemType); } } - foreach(TreeNode node in LazyGetMembersOfObject(targetObject, publicInstance)) { + foreach(TreeNode node in LazyGetMembersOfObject(current, targetObject, publicInstance)) { yield return node; } } - public static IEnumerable<TreeNode> LazyGetMembersOfObject(Expression expression, MemberInfo[] members) + public static IEnumerable<TreeNode> LazyGetMembersOfObject(TreeNode parent, Expression expression, MemberInfo[] members) { List<TreeNode> nodes = new List<TreeNode>(); foreach(MemberInfo memberInfo in members) { string imageName; var image = ExpressionNode.GetImageForMember((IDebugMemberInfo)memberInfo, out imageName); - var exp = new ExpressionNode(image, memberInfo.Name, expression.AppendMemberReference((IDebugMemberInfo)memberInfo)); + var exp = new ExpressionNode(parent, image, memberInfo.Name, expression.AppendMemberReference((IDebugMemberInfo)memberInfo)); exp.ImageName = imageName; nodes.Add(exp); } @@ -96,7 +102,7 @@ namespace Debugger.AddIn.TreeModel } - public static IEnumerable<TreeNode> LazyGetItemsOfIList(Expression targetObject) + public static IEnumerable<TreeNode> LazyGetItemsOfIList(TreeNode parent, Expression targetObject) { // Add a cast, so that we are sure the expression has an indexer. // (The expression can be e.g. of type 'object' but its value is a List. @@ -111,14 +117,14 @@ namespace Debugger.AddIn.TreeModel error = e; } if (error != null) { - yield return new TreeNode(null, "(error)", error.Message, null, null); + yield return new TreeNode(null, "(error)", error.Message, null, null, null); } else if (count == 0) { - yield return new TreeNode(null, "(empty)", null, null, null); + yield return new TreeNode(null, "(empty)", null, null, null, null); } else { for(int i = 0; i < count; i++) { string imageName; var image = ExpressionNode.GetImageForArrayIndexer(out imageName); - var itemNode = new ExpressionNode(image, "[" + i + "]", targetObject.AppendIndexer(i)); + var itemNode = new ExpressionNode(parent, image, "[" + i + "]", targetObject.AppendIndexer(i)); itemNode.ImageName = imageName; yield return itemNode; } diff --git a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ExpressionNode.cs b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ExpressionNode.cs index 813135904c..4ea5a976b5 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ExpressionNode.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ExpressionNode.cs @@ -141,7 +141,8 @@ namespace Debugger.AddIn.TreeModel } } - public ExpressionNode(IImage image, string name, Expression expression) + public ExpressionNode(TreeNode parent, IImage image, string name, Expression expression) + : base(parent) { this.IconImage = image; this.Name = name; @@ -172,24 +173,24 @@ namespace Debugger.AddIn.TreeModel } else if (val.Type.IsPrimitive || val.Type.FullName == typeof(string).FullName) { // Must be before IsClass } else if (val.Type.IsArray) { // Must be before IsClass if (val.ArrayLength > 0) - this.ChildNodes = Utils.LazyGetChildNodesOfArray(this.Expression, val.ArrayDimensions); + this.childNodes = Utils.LazyGetChildNodesOfArray(this, this.Expression, val.ArrayDimensions); } else if (val.Type.IsClass || val.Type.IsValueType) { if (val.Type.FullNameWithoutGenericArguments == typeof(List<>).FullName) { if ((int)val.GetMemberValue("_size").PrimitiveValue > 0) - this.ChildNodes = Utils.LazyGetItemsOfIList(this.expression); + this.childNodes = Utils.LazyGetItemsOfIList(this, this.expression); } else { - this.ChildNodes = Utils.LazyGetChildNodesOfObject(this.Expression, val.Type); + this.childNodes = Utils.LazyGetChildNodesOfObject(this, this.Expression, val.Type); } } else if (val.Type.IsPointer) { Value deRef = val.Dereference(); if (deRef != null) { - this.ChildNodes = new ExpressionNode [] { new ExpressionNode(this.IconImage, "*" + this.Name, this.Expression.AppendDereference()) }; + this.childNodes = new ExpressionNode [] { new ExpressionNode(this, this.IconImage, "*" + this.Name, this.Expression.AppendDereference()) }; } } if (DebuggingOptions.Instance.ICorDebugVisualizerEnabled) { TreeNode info = ICorDebug.GetDebugInfoRoot(val.AppDomain, val.CorValue); - this.ChildNodes = Utils.PrependNode(info, this.ChildNodes); + this.childNodes = Utils.PrependNode(info, this.ChildNodes); } // Do last since it may expire the object diff --git a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ICorDebug.cs b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ICorDebug.cs index cfd1a5dc56..abe6b6a0e8 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ICorDebug.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ICorDebug.cs @@ -15,56 +15,59 @@ namespace Debugger.AddIn.TreeModel { List<TreeNode> children; - public InfoNode(string name, string text): this(name, text, null) + public InfoNode(TreeNode parent, string name, string text) + : this(parent, name, text, null) { } - public InfoNode(string name, string text, List<TreeNode> children) + public InfoNode(TreeNode parent, string name, string text, Func<TreeNode, List<TreeNode>> children) + : base(parent) { this.Name = name; this.Text = text; - this.ChildNodes = children; - this.children = children; + this.children = children(this); + } + + public override IEnumerable<TreeNode> ChildNodes { + get { return children; } } public void AddChild(string name, string text) { if (children == null) { children = new List<TreeNode>(); - this.ChildNodes = children; } - children.Add(new InfoNode(name, text)); + children.Add(new InfoNode(this, name, text)); } - public void AddChild(string name, string text, List<TreeNode> subChildren) + public void AddChild(string name, string text, Func<TreeNode, List<TreeNode>> subChildren) { if (children == null) { children = new List<TreeNode>(); - this.ChildNodes = children; } - children.Add(new InfoNode(name, text, subChildren)); + children.Add(new InfoNode(this, name, text, p => subChildren(p))); } } public static InfoNode GetDebugInfoRoot(AppDomain appDomain, ICorDebugValue corValue) { - return new InfoNode("ICorDebug", "", GetDebugInfo(appDomain, corValue)); + return new InfoNode(null, "ICorDebug", "", p => GetDebugInfo(p, appDomain, corValue)); } - public static List<TreeNode> GetDebugInfo(AppDomain appDomain, ICorDebugValue corValue) + public static List<TreeNode> GetDebugInfo(TreeNode parent, AppDomain appDomain, ICorDebugValue corValue) { List<TreeNode> items = new List<TreeNode>(); if (corValue is ICorDebugValue) { - InfoNode info = new InfoNode("ICorDebugValue", ""); + InfoNode info = new InfoNode(parent, "ICorDebugValue", ""); info.AddChild("Address", corValue.GetAddress().ToString("X8")); info.AddChild("Type", ((CorElementType)corValue.GetTheType()).ToString()); info.AddChild("Size", corValue.GetSize().ToString()); items.Add(info); } if (corValue is ICorDebugValue2) { - InfoNode info = new InfoNode("ICorDebugValue2", ""); + InfoNode info = new InfoNode(parent, "ICorDebugValue2", ""); ICorDebugValue2 corValue2 = (ICorDebugValue2)corValue; string fullname; try { @@ -76,7 +79,7 @@ namespace Debugger.AddIn.TreeModel items.Add(info); } if (corValue is ICorDebugGenericValue) { - InfoNode info = new InfoNode("ICorDebugGenericValue", ""); + InfoNode info = new InfoNode(parent, "ICorDebugGenericValue", ""); try { byte[] bytes = ((ICorDebugGenericValue)corValue).GetRawValue(); for(int i = 0; i < bytes.Length; i += 8) { @@ -92,13 +95,13 @@ namespace Debugger.AddIn.TreeModel items.Add(info); } if (corValue is ICorDebugReferenceValue) { - InfoNode info = new InfoNode("ICorDebugReferenceValue", ""); + InfoNode info = new InfoNode(parent, "ICorDebugReferenceValue", ""); ICorDebugReferenceValue refValue = (ICorDebugReferenceValue)corValue; info.AddChild("IsNull", (refValue.IsNull() != 0).ToString()); if (refValue.IsNull() == 0) { info.AddChild("Value", refValue.GetValue().ToString("X8")); if (refValue.Dereference() != null) { - info.AddChild("Dereference", "", GetDebugInfo(appDomain, refValue.Dereference())); + info.AddChild("Dereference", "", p => GetDebugInfo(p, appDomain, refValue.Dereference())); } else { info.AddChild("Dereference", "N/A"); } @@ -106,44 +109,44 @@ namespace Debugger.AddIn.TreeModel items.Add(info); } if (corValue is ICorDebugHeapValue) { - InfoNode info = new InfoNode("ICorDebugHeapValue", ""); + InfoNode info = new InfoNode(parent, "ICorDebugHeapValue", ""); items.Add(info); } if (corValue is ICorDebugHeapValue2) { - InfoNode info = new InfoNode("ICorDebugHeapValue2", ""); + InfoNode info = new InfoNode(parent, "ICorDebugHeapValue2", ""); items.Add(info); } if (corValue is ICorDebugObjectValue) { - InfoNode info = new InfoNode("ICorDebugObjectValue", ""); + InfoNode info = new InfoNode(parent, "ICorDebugObjectValue", ""); ICorDebugObjectValue objValue = (ICorDebugObjectValue)corValue; info.AddChild("Class", objValue.GetClass().GetToken().ToString("X8")); info.AddChild("IsValueClass", (objValue.IsValueClass() != 0).ToString()); items.Add(info); } if (corValue is ICorDebugObjectValue2) { - InfoNode info = new InfoNode("ICorDebugObjectValue2", ""); + InfoNode info = new InfoNode(parent, "ICorDebugObjectValue2", ""); items.Add(info); } if (corValue is ICorDebugBoxValue) { - InfoNode info = new InfoNode("ICorDebugBoxValue", ""); + InfoNode info = new InfoNode(parent, "ICorDebugBoxValue", ""); ICorDebugBoxValue boxValue = (ICorDebugBoxValue)corValue; - info.AddChild("Object", "", GetDebugInfo(appDomain, boxValue.GetObject())); + info.AddChild("Object", "", p => GetDebugInfo(p, appDomain, boxValue.GetObject())); items.Add(info); } if (corValue is ICorDebugStringValue) { - InfoNode info = new InfoNode("ICorDebugStringValue", ""); + InfoNode info = new InfoNode(parent, "ICorDebugStringValue", ""); ICorDebugStringValue stringValue = (ICorDebugStringValue)corValue; info.AddChild("Length", stringValue.GetLength().ToString()); info.AddChild("String", stringValue.GetString()); items.Add(info); } if (corValue is ICorDebugArrayValue) { - InfoNode info = new InfoNode("ICorDebugArrayValue", ""); + InfoNode info = new InfoNode(parent, "ICorDebugArrayValue", ""); info.AddChild("...", "..."); items.Add(info); } if (corValue is ICorDebugHandleValue) { - InfoNode info = new InfoNode("ICorDebugHandleValue", ""); + InfoNode info = new InfoNode(parent, "ICorDebugHandleValue", ""); ICorDebugHandleValue handleValue = (ICorDebugHandleValue)corValue; info.AddChild("HandleType", handleValue.GetHandleType().ToString()); items.Add(info); diff --git a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/IEnumerableNode.cs b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/IEnumerableNode.cs index eb316a3f7f..35845151c9 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/IEnumerableNode.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/IEnumerableNode.cs @@ -17,7 +17,8 @@ namespace Debugger.AddIn.TreeModel Expression targetObject; Expression debugListExpression; - public IEnumerableNode(Expression targetObject, DebugType itemType) + public IEnumerableNode(TreeNode parent, Expression targetObject, DebugType itemType) + : base(parent) { this.targetObject = targetObject; @@ -25,7 +26,7 @@ namespace Debugger.AddIn.TreeModel this.Text = "Expanding will enumerate the IEnumerable"; DebugType debugListType; this.debugListExpression = DebuggerHelpers.CreateDebugListExpression(targetObject, itemType, out debugListType); - this.ChildNodes = Utils.LazyGetItemsOfIList(this.debugListExpression); + this.childNodes = Utils.LazyGetItemsOfIList(this, this.debugListExpression); } } } diff --git a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/IListNode.cs b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/IListNode.cs index 7a1b1b26ad..41d21d86ac 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/IListNode.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/IListNode.cs @@ -16,13 +16,14 @@ namespace Debugger.AddIn.TreeModel Expression targetList; int listCount; - public IListNode(Expression targetListObject) + public IListNode(TreeNode parent, Expression targetListObject) + : base(parent) { this.targetList = targetListObject; this.Name = "IList"; this.listCount = this.targetList.GetIListCount(); - this.ChildNodes = Utils.LazyGetItemsOfIList(this.targetList); + this.childNodes = Utils.LazyGetItemsOfIList(this, this.targetList); } public override bool HasChildNodes { diff --git a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/SavedTreeNode.cs b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/SavedTreeNode.cs index d81712624b..40a6e5bb5d 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/SavedTreeNode.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/SavedTreeNode.cs @@ -16,6 +16,7 @@ namespace Debugger.AddIn.TreeModel } public SavedTreeNode(IImage image, string fullname, string text) + : base(null) { base.IconImage = image; FullName = fullname; diff --git a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/StackFrameNode.cs b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/StackFrameNode.cs index 99affbdabe..98fd140388 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/StackFrameNode.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/StackFrameNode.cs @@ -17,11 +17,12 @@ namespace Debugger.AddIn.TreeModel } public StackFrameNode(StackFrame stackFrame) + : base(null) { this.stackFrame = stackFrame; this.Name = stackFrame.MethodInfo.Name; - this.ChildNodes = LazyGetChildNodes(); + this.childNodes = LazyGetChildNodes(); } IEnumerable<TreeNode> LazyGetChildNodes() @@ -29,19 +30,19 @@ namespace Debugger.AddIn.TreeModel foreach(DebugParameterInfo par in stackFrame.MethodInfo.GetParameters()) { string imageName; var image = ExpressionNode.GetImageForParameter(out imageName); - var expression = new ExpressionNode(image, par.Name, par.GetExpression()); + var expression = new ExpressionNode(this, image, par.Name, par.GetExpression()); expression.ImageName = imageName; yield return expression; } foreach(DebugLocalVariableInfo locVar in stackFrame.MethodInfo.GetLocalVariables(this.StackFrame.IP)) { string imageName; var image = ExpressionNode.GetImageForLocalVariable(out imageName); - var expression = new ExpressionNode(image, locVar.Name, locVar.GetExpression()); + var expression = new ExpressionNode(this, image, locVar.Name, locVar.GetExpression()); expression.ImageName = imageName; yield return expression; } if (stackFrame.Thread.CurrentException != null) { - yield return new ExpressionNode(null, "__exception", new IdentifierExpression("__exception")); + yield return new ExpressionNode(this, null, "__exception", new IdentifierExpression("__exception")); } } } diff --git a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/TreeNode.cs b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/TreeNode.cs index a02329c1b1..5d23b06ec8 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/TreeNode.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/TreeNode.cs @@ -15,7 +15,7 @@ namespace Debugger.AddIn.TreeModel { /// <summary> /// A node in the variable tree. - /// The node is imutable. + /// The node is immutable. /// </summary> public class TreeNode : ITreeNode { @@ -24,7 +24,7 @@ namespace Debugger.AddIn.TreeModel string imageName = string.Empty; string text = string.Empty; string type = string.Empty; - IEnumerable<TreeNode> childNodes = null; + protected IEnumerable<TreeNode> childNodes = null; /// <summary> /// The image displayed for this node. @@ -78,9 +78,10 @@ namespace Debugger.AddIn.TreeModel protected set { type = value; } } + public virtual TreeNode Parent { get; protected set; } + public virtual IEnumerable<TreeNode> ChildNodes { get { return childNodes; } - protected set { childNodes = value; } } IEnumerable<ITreeNode> ITreeNode.ChildNodes { @@ -109,17 +110,19 @@ namespace Debugger.AddIn.TreeModel public bool IsPinned { get; set; } - public TreeNode() + public TreeNode(TreeNode parent) { + this.Parent = parent; } - public TreeNode(IImage iconImage, string name, string text, string type, IEnumerable<TreeNode> childNodes) + public TreeNode(IImage iconImage, string name, string text, string type, TreeNode parent, Func<TreeNode, IEnumerable<TreeNode>> childNodes) + : this(parent) { this.iconImage = iconImage; this.name = name; this.text = text; this.type = type; - this.childNodes = childNodes; + this.childNodes = childNodes(this); } public int CompareTo(ITreeNode other) From 9b9a0379f6c0a3c081c93eb81a2411f7fee813c3 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Fri, 5 Aug 2011 21:10:17 +0200 Subject: [PATCH 118/168] remove TreeViewAdv (Aga.Controls) --- .../Aga.Controls/Aga.Controls.csproj | 215 --- .../Aga.Controls/Aga.Controls.csproj.user | 12 - .../TreeViewAdv/Aga.Controls/BitmapHelper.cs | 46 - .../TreeViewAdv/Aga.Controls/GifDecoder.cs | 864 ----------- .../Aga.Controls/NumericTextBox.cs | 189 --- .../Aga.Controls/PerformanceAnalyzer.cs | 136 -- .../Aga.Controls/Properties/AssemblyInfo.cs | 15 - .../Properties/Resources.Designer.cs | 133 -- .../Aga.Controls/Properties/Resources.resx | 151 -- .../Aga.Controls/ResourceHelper.cs | 48 - .../Aga.Controls/Resources/DVSplit.cur | Bin 326 -> 0 bytes .../Aga.Controls/Resources/Folder.bmp | Bin 1334 -> 0 bytes .../Aga.Controls/Resources/FolderClosed.bmp | Bin 822 -> 0 bytes .../Aga.Controls/Resources/Leaf.bmp | Bin 1334 -> 0 bytes .../Aga.Controls/Resources/Thumbs.db | Bin 10752 -> 0 bytes .../Aga.Controls/Resources/check.bmp | Bin 574 -> 0 bytes .../Aga.Controls/Resources/loading_icon | Bin 6979 -> 0 bytes .../Aga.Controls/Resources/minus.bmp | Bin 306 -> 0 bytes .../Aga.Controls/Resources/plus.bmp | Bin 306 -> 0 bytes .../Aga.Controls/Resources/uncheck.bmp | Bin 574 -> 0 bytes .../Aga.Controls/Resources/unknown.bmp | Bin 574 -> 0 bytes .../Aga.Controls/StringCollectionEditor.cs | 24 - .../TreeViewAdv/Aga.Controls/TextHelper.cs | 45 - .../Threading/AbortableThreadPool.cs | 118 -- .../Aga.Controls/Threading/WorkItem.cs | 45 - .../Aga.Controls/Threading/WorkItemStatus.cs | 14 - .../TreeViewAdv/Aga.Controls/TimeCounter.cs | 59 - .../Aga.Controls/Tree/AutoRowHeightLayout.cs | 151 -- .../Aga.Controls/Tree/ClassDiagram.cd | 84 -- .../Aga.Controls/Tree/ColumnCollection.cs | 21 - .../Aga.Controls/Tree/DrawContext.cs | 60 - .../Tree/DropNodeValidatingEventArgs.cs | 28 - .../Aga.Controls/Tree/DropPosition.cs | 23 - .../Aga.Controls/Tree/EditorContext.cs | 47 - .../TreeViewAdv/Aga.Controls/Tree/Enums.cs | 65 - .../Aga.Controls/Tree/FixedRowHeightLayout.cs | 61 - .../Aga.Controls/Tree/IRowLayout.cs | 34 - .../Aga.Controls/Tree/IToolTipProvider.cs | 12 - .../Aga.Controls/Tree/ITreeModel.cs | 18 - .../Aga.Controls/Tree/IncrementalSearch.cs | 144 -- .../Tree/Input/ClickColumnState.cs | 45 - .../Aga.Controls/Tree/Input/ColumnState.cs | 21 - .../Aga.Controls/Tree/Input/InputState.cs | 33 - .../Tree/Input/InputWithControl.cs | 30 - .../Aga.Controls/Tree/Input/InputWithShift.cs | 69 - .../Tree/Input/NormalInputState.cs | 202 --- .../Tree/Input/ReorderColumnState.cs | 101 -- .../Tree/Input/ResizeColumnState.cs | 52 - .../Aga.Controls/Tree/NativeMethods.cs | 74 - .../TreeViewAdv/Aga.Controls/Tree/Node.cs | 257 ---- .../Aga.Controls/Tree/NodeControlInfo.cs | 38 - .../Tree/NodeControls/BaseTextControl.cs | 288 ---- .../Tree/NodeControls/BindableControl.cs | 194 --- .../Tree/NodeControls/ClassDiagram.cd | 105 -- .../Tree/NodeControls/DrawEventArgs.cs | 58 - .../Tree/NodeControls/EditableControl.cs | 190 --- .../Tree/NodeControls/ExpandingIcon.cs | 83 -- .../Tree/NodeControls/InteractiveControl.cs | 38 - .../Tree/NodeControls/NodeCheckBox.cs | 184 --- .../Tree/NodeControls/NodeComboBox.cs | 80 -- .../Tree/NodeControls/NodeControl.cs | 169 --- .../NodeControls/NodeControlValueEventArgs.cs | 21 - .../NodeControls/NodeControlsCollection.cs | 94 -- .../Tree/NodeControls/NodeDecimalTextBox.cs | 46 - .../Tree/NodeControls/NodeEventArgs.cs | 20 - .../Tree/NodeControls/NodeIcon.cs | 99 -- .../Tree/NodeControls/NodeIntegerTextBox.cs | 37 - .../Tree/NodeControls/NodeNumericUpDown.cs | 111 -- .../Tree/NodeControls/NodePlusMinus.cs | 71 - .../Tree/NodeControls/NodeStateIcon.cs | 41 - .../Tree/NodeControls/NodeTextBox.cs | 121 -- .../Aga.Controls/Tree/SortedTreeModel.cs | 81 -- .../Aga.Controls/Tree/TreeColumn.cs | 371 ----- .../Aga.Controls/Tree/TreeColumnCollection.cs | 98 -- .../Aga.Controls/Tree/TreeColumnEventArgs.cs | 20 - .../Aga.Controls/Tree/TreeListAdapter.cs | 65 - .../Aga.Controls/Tree/TreeModel.cs | 127 -- .../Aga.Controls/Tree/TreeModelBase.cs | 41 - .../Aga.Controls/Tree/TreeModelEventArgs.cs | 50 - .../Aga.Controls/Tree/TreeNodeAdv.cs | 426 ------ .../Tree/TreeNodeAdvMouseEventArgs.cs | 59 - .../TreeViewAdv/Aga.Controls/Tree/TreePath.cs | 60 - .../Aga.Controls/Tree/TreePathEventArgs.cs | 28 - .../Aga.Controls/Tree/TreeViewAdv.Designer.cs | 60 - .../Aga.Controls/Tree/TreeViewAdv.Draw.cs | 284 ---- .../Aga.Controls/Tree/TreeViewAdv.Input.cs | 553 ------- .../Tree/TreeViewAdv.Properties.cs | 712 ---------- .../Aga.Controls/Tree/TreeViewAdv.cs | 1265 ----------------- .../Tree/TreeViewAdvCancelEventArgs.cs | 23 - .../Aga.Controls/Tree/TreeViewAdvEventArgs.cs | 21 - .../Tree/TreeViewRowDrawEventArgs.cs | 46 - .../TreeViewAdv/Aga.Controls/key.snk | Bin 596 -> 0 bytes src/Libraries/TreeViewAdv/ReleaseNotes.txt | 88 -- .../SampleApp/AdvancedExample.Designer.cs | 103 -- .../TreeViewAdv/SampleApp/AdvancedExample.cs | 34 - .../SampleApp/AdvancedExample.resx | 120 -- .../SampleApp/BackgroundExpand.Designer.cs | 138 -- .../TreeViewAdv/SampleApp/BackgroundExpand.cs | 46 - .../SampleApp/BackgroundExpand.resx | 120 -- .../SampleApp/ColumnHandling.Designer.cs | 123 -- .../TreeViewAdv/SampleApp/ColumnHandling.cs | 23 - .../TreeViewAdv/SampleApp/ColumnHandling.resx | 120 -- .../TreeViewAdv/SampleApp/DataRowNode.cs | 40 - .../SampleApp/DataTableExample/DataRowNode.cs | 40 - .../DataTableExample/DataTableTreeExample.cs | 102 -- .../DataTableTreeExample.designer.cs | 216 --- .../DataTableTreeExample.resx | 203 --- .../DataTableExample/DataTableTreeModel.cs | 107 -- .../SampleApp/DataTableTreeExample.cs | 103 -- .../DataTableTreeExample.designer.cs | 216 --- .../SampleApp/DataTableTreeExample.resx | 203 --- .../SampleApp/DataTableTreeModel.cs | 107 -- .../SampleApp/FolderBrowser.Designer.cs | 203 --- .../TreeViewAdv/SampleApp/FolderBrowser.cs | 88 -- .../TreeViewAdv/SampleApp/FolderBrowser.resx | 120 -- .../SampleApp/FolderBrowserModel.cs | 157 -- .../TreeViewAdv/SampleApp/FolderItemSorter.cs | 49 - .../TreeViewAdv/SampleApp/FolderItems.cs | 159 --- .../SampleApp/MainForm.Designer.cs | 243 ---- .../TreeViewAdv/SampleApp/MainForm.cs | 18 - .../TreeViewAdv/SampleApp/MainForm.resx | 120 -- src/Libraries/TreeViewAdv/SampleApp/MyNode.cs | 37 - .../SampleApp/PerformaceTestModel.cs | 33 - .../SampleApp/PerformanceTest.Designer.cs | 210 --- .../TreeViewAdv/SampleApp/PerformanceTest.cs | 116 -- .../SampleApp/PerformanceTest.resx | 120 -- .../TreeViewAdv/SampleApp/Program.cs | 22 - .../SampleApp/Properties/AssemblyInfo.cs | 33 - .../Properties/Resources.Designer.cs | 70 - .../SampleApp/Properties/Resources.resx | 124 -- .../SampleApp/Properties/Settings.Designer.cs | 26 - .../SampleApp/Properties/Settings.settings | 7 - .../SampleApp/Resources/loading_icon | Bin 592 -> 0 bytes .../TreeViewAdv/SampleApp/SampleApp.csproj | 168 --- .../SampleApp/SimpleExample.Designer.cs | 378 ----- .../TreeViewAdv/SampleApp/SimpleExample.cs | 287 ---- .../TreeViewAdv/SampleApp/SimpleExample.resx | 123 -- .../TreeViewAdv/SampleApp/SlowModel.cs | 43 - src/Libraries/TreeViewAdv/TreeViewAdv.sln | 174 --- .../UnitTests/Aga.Controls.UnitTests.csproj | 62 - .../TreeViewAdv/UnitTests/NodeTest.cs | 135 -- .../TreeViewAdv/UnitTests/PerformanceTest.cs | 43 - .../UnitTests/Properties/AssemblyInfo.cs | 23 - .../UnitTests/SerializationTest.cs | 41 - .../TreeViewAdv/UnitTests/TreeNodeAdvTest.cs | 98 -- .../UnitTests/VSCodeGenAccessors.cs | 260 ---- src/Libraries/TreeViewAdv/VBSample.sln | 25 - 147 files changed, 16291 deletions(-) delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Aga.Controls.csproj delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Aga.Controls.csproj.user delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/BitmapHelper.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/GifDecoder.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/NumericTextBox.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/PerformanceAnalyzer.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Properties/AssemblyInfo.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Properties/Resources.Designer.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Properties/Resources.resx delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/ResourceHelper.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Resources/DVSplit.cur delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Resources/Folder.bmp delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Resources/FolderClosed.bmp delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Resources/Leaf.bmp delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Resources/Thumbs.db delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Resources/check.bmp delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Resources/loading_icon delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Resources/minus.bmp delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Resources/plus.bmp delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Resources/uncheck.bmp delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Resources/unknown.bmp delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/StringCollectionEditor.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/TextHelper.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Threading/AbortableThreadPool.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Threading/WorkItem.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Threading/WorkItemStatus.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/TimeCounter.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/AutoRowHeightLayout.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/ClassDiagram.cd delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/ColumnCollection.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/DrawContext.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/DropNodeValidatingEventArgs.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/DropPosition.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/EditorContext.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/Enums.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/FixedRowHeightLayout.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/IRowLayout.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/IToolTipProvider.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/ITreeModel.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/IncrementalSearch.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ClickColumnState.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ColumnState.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/InputState.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/InputWithControl.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/InputWithShift.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/NormalInputState.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ReorderColumnState.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ResizeColumnState.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NativeMethods.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/Node.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControlInfo.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/BaseTextControl.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/BindableControl.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/ClassDiagram.cd delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/DrawEventArgs.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/EditableControl.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/ExpandingIcon.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/InteractiveControl.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeCheckBox.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeComboBox.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeControl.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeControlValueEventArgs.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeControlsCollection.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeDecimalTextBox.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeEventArgs.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeIcon.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeIntegerTextBox.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeNumericUpDown.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodePlusMinus.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeStateIcon.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeTextBox.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/SortedTreeModel.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeColumn.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeColumnCollection.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeColumnEventArgs.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeListAdapter.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeModel.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeModelBase.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeModelEventArgs.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeNodeAdv.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeNodeAdvMouseEventArgs.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreePath.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreePathEventArgs.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Designer.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Draw.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Input.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Properties.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdvCancelEventArgs.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdvEventArgs.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewRowDrawEventArgs.cs delete mode 100644 src/Libraries/TreeViewAdv/Aga.Controls/key.snk delete mode 100644 src/Libraries/TreeViewAdv/ReleaseNotes.txt delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/AdvancedExample.Designer.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/AdvancedExample.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/AdvancedExample.resx delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/BackgroundExpand.Designer.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/BackgroundExpand.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/BackgroundExpand.resx delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/ColumnHandling.Designer.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/ColumnHandling.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/ColumnHandling.resx delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/DataRowNode.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataRowNode.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeExample.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeExample.designer.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeExample.resx delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeModel.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/DataTableTreeExample.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/DataTableTreeExample.designer.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/DataTableTreeExample.resx delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/DataTableTreeModel.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/FolderBrowser.Designer.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/FolderBrowser.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/FolderBrowser.resx delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/FolderBrowserModel.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/FolderItemSorter.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/FolderItems.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/MainForm.Designer.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/MainForm.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/MainForm.resx delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/MyNode.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/PerformaceTestModel.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/PerformanceTest.Designer.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/PerformanceTest.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/PerformanceTest.resx delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/Program.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/Properties/AssemblyInfo.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/Properties/Resources.Designer.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/Properties/Resources.resx delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/Properties/Settings.Designer.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/Properties/Settings.settings delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/Resources/loading_icon delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/SampleApp.csproj delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/SimpleExample.Designer.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/SimpleExample.cs delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/SimpleExample.resx delete mode 100644 src/Libraries/TreeViewAdv/SampleApp/SlowModel.cs delete mode 100644 src/Libraries/TreeViewAdv/TreeViewAdv.sln delete mode 100644 src/Libraries/TreeViewAdv/UnitTests/Aga.Controls.UnitTests.csproj delete mode 100644 src/Libraries/TreeViewAdv/UnitTests/NodeTest.cs delete mode 100644 src/Libraries/TreeViewAdv/UnitTests/PerformanceTest.cs delete mode 100644 src/Libraries/TreeViewAdv/UnitTests/Properties/AssemblyInfo.cs delete mode 100644 src/Libraries/TreeViewAdv/UnitTests/SerializationTest.cs delete mode 100644 src/Libraries/TreeViewAdv/UnitTests/TreeNodeAdvTest.cs delete mode 100644 src/Libraries/TreeViewAdv/UnitTests/VSCodeGenAccessors.cs delete mode 100644 src/Libraries/TreeViewAdv/VBSample.sln diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Aga.Controls.csproj b/src/Libraries/TreeViewAdv/Aga.Controls/Aga.Controls.csproj deleted file mode 100644 index ac8c2a8228..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Aga.Controls.csproj +++ /dev/null @@ -1,215 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProductVersion>8.0.50727</ProductVersion> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{E73BB233-D88B-44A7-A98F-D71EE158381D}</ProjectGuid> - <OutputType>Library</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <RootNamespace>Aga.Controls</RootNamespace> - <AssemblyName>Aga.Controls</AssemblyName> - <SccProjectName> - </SccProjectName> - <SccLocalPath> - </SccLocalPath> - <SccAuxPath> - </SccAuxPath> - <SccProvider> - </SccProvider> - <SignAssembly>true</SignAssembly> - <AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> - <TargetFrameworkProfile> - </TargetFrameworkProfile> - <!-- workaround for bug compiling with 32-bit MSBuild 4.0 on 64-bit Windows without having VS2010 installed --> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugSymbols>true</DebugSymbols> - <DebugType>Full</DebugType> - <Optimize>false</Optimize> - <OutputPath>..\..\..\..\bin\</OutputPath> - <DefineConstants>TRACE;DEBUG;PERF_TEST</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - <CodeAnalysisRules>-Microsoft.Design#CA1020;-Microsoft.Design#CA1060;-Microsoft.Design#CA1062;-Microsoft.Globalization#CA1301;-Microsoft.Globalization#CA1302;-Microsoft.Globalization#CA1303;-Microsoft.Globalization#CA1306;-Microsoft.Globalization#CA1304;-Microsoft.Globalization#CA1305;-Microsoft.Globalization#CA1300;-Microsoft.Maintainability#CA1501;-Microsoft.Mobility#CA1601;-Microsoft.Performance#CA1805;-Microsoft.Performance#CA1815;-Microsoft.Performance#CA1819;-Microsoft.Usage#CA2208</CodeAnalysisRules> - <AllowUnsafeBlocks>true</AllowUnsafeBlocks> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>PdbOnly</DebugType> - <Optimize>true</Optimize> - <OutputPath>..\..\..\..\bin\</OutputPath> - <DefineConstants>TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - <AllowUnsafeBlocks>true</AllowUnsafeBlocks> - </PropertyGroup> - <ItemGroup> - <Reference Include="System" /> - <Reference Include="System.Data" /> - <Reference Include="System.Design" /> - <Reference Include="System.Drawing" /> - <Reference Include="System.Windows.Forms" /> - <Reference Include="System.Xml" /> - </ItemGroup> - <ItemGroup> - <Compile Include="GifDecoder.cs" /> - <Compile Include="PerformanceAnalyzer.cs" /> - <Compile Include="ResourceHelper.cs" /> - <Compile Include="StringCollectionEditor.cs" /> - <Compile Include="Properties\Resources.Designer.cs"> - <AutoGen>True</AutoGen> - <DesignTime>True</DesignTime> - <DependentUpon>Resources.resx</DependentUpon> - </Compile> - <Compile Include="BitmapHelper.cs" /> - <Compile Include="Threading\AbortableThreadPool.cs" /> - <Compile Include="Threading\WorkItemStatus.cs" /> - <Compile Include="Threading\WorkItem.cs" /> - <Compile Include="TimeCounter.cs" /> - <Compile Include="Tree\Input\ReorderColumnState.cs" /> - <Compile Include="Tree\NodeControls\NodeIntegerTextBox.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\NodeControls\NodeDecimalTextBox.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="NumericTextBox.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\NodeControls\ExpandingIcon.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\NodeControls\InteractiveControl.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\NodeControls\DrawEventArgs.cs" /> - <Compile Include="Tree\NodeControls\NodeEventArgs.cs" /> - <Compile Include="Tree\SortedTreeModel.cs" /> - <Compile Include="Tree\TreeModelBase.cs" /> - <Compile Include="Tree\AutoRowHeightLayout.cs" /> - <Compile Include="Tree\Input\ClickColumnState.cs" /> - <Compile Include="Tree\Input\ColumnState.cs" /> - <Compile Include="Tree\TreeViewAdv.Draw.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\TreeViewAdv.Input.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\IRowLayout.cs" /> - <Compile Include="Tree\FixedRowHeightLayout.cs" /> - <Compile Include="Tree\NodeControlInfo.cs" /> - <Compile Include="Tree\NodeControls\NodeControlValueEventArgs.cs" /> - <Compile Include="Tree\NodeControls\NodeNumericUpDown.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\IncrementalSearch.cs" /> - <Compile Include="TextHelper.cs" /> - <Compile Include="Tree\TreeViewAdv.Properties.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\TreeListAdapter.cs" /> - <Compile Include="Tree\TreeNodeAdvMouseEventArgs.cs" /> - <Compile Include="Tree\Node.cs" /> - <Compile Include="Tree\NodeControls\BaseTextControl.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\NodeControls\EditableControl.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\NodeControls\NodeComboBox.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\NodeControls\NodeControlsCollection.cs" /> - <Compile Include="Tree\Input\InputState.cs" /> - <Compile Include="Tree\IToolTipProvider.cs" /> - <Compile Include="Tree\Input\ResizeColumnState.cs" /> - <Compile Include="Tree\TreeColumn.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\TreeColumnCollection.cs" /> - <Compile Include="Tree\TreeColumnEventArgs.cs" /> - <Compile Include="Tree\TreeModel.cs" /> - <Compile Include="Tree\TreeViewAdvCancelEventArgs.cs" /> - <Compile Include="Tree\DropNodeValidatingEventArgs.cs" /> - <Compile Include="Tree\TreeViewAdvEventArgs.cs" /> - <Compile Include="Tree\TreePathEventArgs.cs" /> - <Compile Include="Tree\EditorContext.cs" /> - <Compile Include="Tree\Input\InputWithShift.cs" /> - <Compile Include="Tree\Enums.cs" /> - <Compile Include="Tree\Input\NormalInputState.cs" /> - <Compile Include="Tree\Input\InputWithControl.cs" /> - <Compile Include="Tree\NodeControls\NodeControl.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\DropPosition.cs" /> - <Compile Include="Tree\NodeControls\BindableControl.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\NodeControls\NodeCheckBox.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\NodeControls\NodeIcon.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\DrawContext.cs" /> - <Compile Include="Tree\ITreeModel.cs" /> - <Compile Include="Tree\NodeControls\NodePlusMinus.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\NodeControls\NodeTextBox.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Properties\AssemblyInfo.cs" /> - <Compile Include="Tree\NodeControls\NodeStateIcon.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\TreeModelEventArgs.cs" /> - <Compile Include="Tree\TreeNodeAdv.cs" /> - <Compile Include="Tree\TreePath.cs" /> - <Compile Include="Tree\TreeViewAdv.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Tree\TreeViewAdv.Designer.cs"> - <DependentUpon>TreeViewAdv.cs</DependentUpon> - </Compile> - <Compile Include="Tree\TreeViewRowDrawEventArgs.cs" /> - <Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" /> - <Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" /> - </ItemGroup> - <ItemGroup> - <None Include="key.snk" /> - <None Include="Resources\minus.bmp" /> - <None Include="Resources\plus.bmp" /> - <None Include="Resources\check.bmp" /> - <None Include="Resources\uncheck.bmp" /> - <None Include="Resources\Leaf.bmp" /> - <None Include="Resources\Folder.bmp" /> - <None Include="Resources\FolderClosed.bmp" /> - </ItemGroup> - <ItemGroup> - <EmbeddedResource Include="Properties\Resources.resx"> - <SubType>Designer</SubType> - <Generator>ResXFileCodeGenerator</Generator> - <LastGenOutput>Resources.Designer.cs</LastGenOutput> - </EmbeddedResource> - </ItemGroup> - <ItemGroup> - <None Include="Resources\loading_icon" /> - <None Include="Tree\ClassDiagram.cd" /> - <None Include="Tree\NodeControls\ClassDiagram.cd" /> - <None Include="Resources\unknown.bmp" /> - </ItemGroup> - <ItemGroup> - <Content Include="Resources\DVSplit.cur" /> - </ItemGroup> - <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> - <!-- To modify your build process, add your task inside one of the targets below and uncomment it. - Other similar extension points exist, see Microsoft.Common.targets. - <Target Name="BeforeBuild"> - </Target> - <Target Name="AfterBuild"> - </Target> - --> -</Project> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Aga.Controls.csproj.user b/src/Libraries/TreeViewAdv/Aga.Controls/Aga.Controls.csproj.user deleted file mode 100644 index 5b923b0708..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Aga.Controls.csproj.user +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <StartProgram> - </StartProgram> - <StartWorkingDirectory> - </StartWorkingDirectory> - <StartArguments> - </StartArguments> - <StartAction>Project</StartAction> - </PropertyGroup> -</Project> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/BitmapHelper.cs b/src/Libraries/TreeViewAdv/Aga.Controls/BitmapHelper.cs deleted file mode 100644 index a29b1c2ad3..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/BitmapHelper.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using System.Runtime.InteropServices; -using System.Drawing.Imaging; - -namespace Aga.Controls -{ - public static class BitmapHelper - { - [StructLayout(LayoutKind.Sequential)] - private struct PixelData - { - public byte B; - public byte G; - public byte R; - public byte A; - } - - public static void SetAlphaChanelValue(Bitmap image, byte value) - { - if (image == null) - throw new ArgumentNullException("image"); - if (image.PixelFormat != PixelFormat.Format32bppArgb) - throw new ArgumentException("Wrong PixelFormat"); - - BitmapData bitmapData = image.LockBits(new Rectangle(0, 0, image.Width, image.Height), - ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); - unsafe - { - PixelData* pPixel = (PixelData*)bitmapData.Scan0; - for (int i = 0; i < bitmapData.Height; i++) - { - for (int j = 0; j < bitmapData.Width; j++) - { - pPixel->A = value; - pPixel++; - } - pPixel += bitmapData.Stride - (bitmapData.Width * 4); - } - } - image.UnlockBits(bitmapData); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/GifDecoder.cs b/src/Libraries/TreeViewAdv/Aga.Controls/GifDecoder.cs deleted file mode 100644 index e611155cac..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/GifDecoder.cs +++ /dev/null @@ -1,864 +0,0 @@ -#pragma warning disable 675 // Bitwise-or operator used on a sign-extended operand - -#region Java Info -/** - * Class GifDecoder - Decodes a GIF file into one or more frames. - * <br><pre> - * Example: - * GifDecoder d = new GifDecoder(); - * d.read("sample.gif"); - * int n = d.getFrameCount(); - * for (int i = 0; i < n; i++) { - * BufferedImage frame = d.getFrame(i); // frame i - * int t = d.getDelay(i); // display duration of frame in milliseconds - * // do something with frame - * } - * </pre> - * No copyright asserted on the source code of this class. May be used for - * any purpose, however, refer to the Unisys LZW patent for any additional - * restrictions. Please forward any corrections to kweiner@fmsware.com. - * - * @author Kevin Weiner, FM Software; LZW decoder adapted from John Cristy's ImageMagick. - * @version 1.03 November 2003 - * - */ -#endregion - -using System; -using System.Collections; -using System.Drawing; -using System.Drawing.Imaging; -using System.IO; - -namespace Aga.Controls -{ - public class GifFrame - { - private Image _image; - public Image Image - { - get { return _image; } - } - - private int _delay; - public int Delay - { - get { return _delay; } - } - - public GifFrame(Image im, int del) - { - _image = im; - _delay = del; - } - } - - public class GifDecoder - { - public const int StatusOK = 0;//File read status: No errors. - public const int StatusFormatError = 1; //File read status: Error decoding file (may be partially decoded) - public const int StatusOpenError = 2; //Unable to open source. - - private Stream inStream; - private int status; - - private int width; // full image width - private int height; // full image height - private bool gctFlag; // global color table used - private int gctSize; // size of global color table - private int loopCount = 1; // iterations; 0 = repeat forever - - private int[] gct; // global color table - private int[] lct; // local color table - private int[] act; // active color table - - private int bgIndex; // background color index - private int bgColor; // background color - private int lastBgColor; // previous bg color - private int pixelAspect; // pixel aspect ratio - - private bool lctFlag; // local color table flag - private bool interlace; // interlace flag - private int lctSize; // local color table size - - private int ix, iy, iw, ih; // current image rectangle - private Rectangle lastRect; // last image rect - private Image image; // current frame - private Bitmap bitmap; - private Image lastImage; // previous frame - - private byte[] block = new byte[256]; // current data block - private int blockSize = 0; // block size - - // last graphic control extension info - private int dispose = 0; - // 0=no action; 1=leave in place; 2=restore to bg; 3=restore to prev - private int lastDispose = 0; - private bool transparency = false; // use transparent color - private int delay = 0; // delay in milliseconds - private int transIndex; // transparent color index - - private const int MaxStackSize = 4096; - // max decoder pixel stack size - - // LZW decoder working arrays - private short[] prefix; - private byte[] suffix; - private byte[] pixelStack; - private byte[] pixels; - - private ArrayList frames; // frames read from current file - private int frameCount; - private bool _makeTransparent; - - /** - * Gets the number of frames read from file. - * @return frame count - */ - public int FrameCount - { - get - { - return frameCount; - } - } - - /** - * Gets the first (or only) image read. - * - * @return BufferedImage containing first frame, or null if none. - */ - public Image Image - { - get - { - return GetFrame(0).Image; - } - } - - /** - * Gets the "Netscape" iteration count, if any. - * A count of 0 means repeat indefinitiely. - * - * @return iteration count if one was specified, else 1. - */ - public int LoopCount - { - get - { - return loopCount; - } - } - - public GifDecoder(Stream stream, bool makeTransparent) - { - _makeTransparent = makeTransparent; - if (Read(stream) != 0) - throw new InvalidOperationException(); - } - - /** - * Creates new frame image from current data (and previous - * frames as specified by their disposition codes). - */ - private int[] GetPixels(Bitmap bitmap) - { - int [] pixels = new int [ 3 * image.Width * image.Height ]; - int count = 0; - for (int th = 0; th < image.Height; th++) - { - for (int tw = 0; tw < image.Width; tw++) - { - Color color = bitmap.GetPixel(tw, th); - pixels[count] = color.R; - count++; - pixels[count] = color.G; - count++; - pixels[count] = color.B; - count++; - } - } - return pixels; - } - - private void SetPixels(int[] pixels) - { - int count = 0; - for (int th = 0; th < image.Height; th++) - { - for (int tw = 0; tw < image.Width; tw++) - { - Color color = Color.FromArgb( pixels[count++] ); - bitmap.SetPixel( tw, th, color ); - } - } - if (_makeTransparent) - bitmap.MakeTransparent(bitmap.GetPixel(0, 0)); - } - - private void SetPixels() - { - // expose destination image's pixels as int array - // int[] dest = - // (( int ) image.getRaster().getDataBuffer()).getData(); - int[] dest = GetPixels( bitmap ); - - // fill in starting image contents based on last image's dispose code - if (lastDispose > 0) - { - if (lastDispose == 3) - { - // use image before last - int n = frameCount - 2; - if (n > 0) - { - lastImage = GetFrame(n - 1).Image; - } - else - { - lastImage = null; - } - } - - if (lastImage != null) - { - // int[] prev = - // ((DataBufferInt) lastImage.getRaster().getDataBuffer()).getData(); - int[] prev = GetPixels( new Bitmap( lastImage ) ); - Array.Copy(prev, 0, dest, 0, width * height); - // copy pixels - - if (lastDispose == 2) - { - // fill last image rect area with background color - Graphics g = Graphics.FromImage( image ); - Color c = Color.Empty; - if (transparency) - { - c = Color.FromArgb( 0, 0, 0, 0 ); // assume background is transparent - } - else - { - c = Color.FromArgb( lastBgColor ) ; - // c = new Color(lastBgColor); // use given background color - } - Brush brush = new SolidBrush( c ); - g.FillRectangle( brush, lastRect ); - brush.Dispose(); - g.Dispose(); - } - } - } - - // copy each source line to the appropriate place in the destination - int pass = 1; - int inc = 8; - int iline = 0; - for (int i = 0; i < ih; i++) - { - int line = i; - if (interlace) - { - if (iline >= ih) - { - pass++; - switch (pass) - { - case 2 : - iline = 4; - break; - case 3 : - iline = 2; - inc = 4; - break; - case 4 : - iline = 1; - inc = 2; - break; - } - } - line = iline; - iline += inc; - } - line += iy; - if (line < height) - { - int k = line * width; - int dx = k + ix; // start of line in dest - int dlim = dx + iw; // end of dest line - if ((k + width) < dlim) - { - dlim = k + width; // past dest edge - } - int sx = i * iw; // start of line in source - while (dx < dlim) - { - // map color and insert in destination - int index = ((int) pixels[sx++]) & 0xff; - int c = act[index]; - if (c != 0) - { - dest[dx] = c; - } - dx++; - } - } - } - SetPixels( dest ); - } - - /** - * Gets the image contents of frame n. - * - * @return BufferedImage representation of frame. - */ - public GifFrame GetFrame(int n) - { - if ((n >= 0) && (n < frameCount)) - return (GifFrame)frames[n]; - else - throw new ArgumentOutOfRangeException(); - } - - /** - * Gets image size. - * - * @return GIF image dimensions - */ - public Size FrameSize - { - get - { - return new Size(width, height); - } - } - - /** - * Reads GIF image from stream - * - * @param BufferedInputStream containing GIF file. - * @return read status code (0 = no errors) - */ - private int Read( Stream inStream ) - { - Init(); - if ( inStream != null) - { - this.inStream = inStream; - ReadHeader(); - if (!Error()) - { - ReadContents(); - if (frameCount < 0) - { - status = StatusFormatError; - } - } - inStream.Close(); - } - else - { - status = StatusOpenError; - } - return status; - } - - - /** - * Decodes LZW image data into pixel array. - * Adapted from John Cristy's ImageMagick. - */ - private void DecodeImageData() - { - int NullCode = -1; - int npix = iw * ih; - int available, - clear, - code_mask, - code_size, - end_of_information, - in_code, - old_code, - bits, - code, - count, - i, - datum, - data_size, - first, - top, - bi, - pi; - - if ((pixels == null) || (pixels.Length < npix)) - { - pixels = new byte[npix]; // allocate new pixel array - } - if (prefix == null) prefix = new short[MaxStackSize]; - if (suffix == null) suffix = new byte[MaxStackSize]; - if (pixelStack == null) pixelStack = new byte[MaxStackSize + 1]; - - // Initialize GIF data stream decoder. - - data_size = Read(); - clear = 1 << data_size; - end_of_information = clear + 1; - available = clear + 2; - old_code = NullCode; - code_size = data_size + 1; - code_mask = (1 << code_size) - 1; - for (code = 0; code < clear; code++) - { - prefix[code] = 0; - suffix[code] = (byte) code; - } - - // Decode GIF pixel stream. - - datum = bits = count = first = top = pi = bi = 0; - - for (i = 0; i < npix;) - { - if (top == 0) - { - if (bits < code_size) - { - // Load bytes until there are enough bits for a code. - if (count == 0) - { - // Read a new data block. - count = ReadBlock(); - if (count <= 0) - break; - bi = 0; - } - datum += (((int) block[bi]) & 0xff) << bits; - bits += 8; - bi++; - count--; - continue; - } - - // Get the next code. - - code = datum & code_mask; - datum >>= code_size; - bits -= code_size; - - // Interpret the code - - if ((code > available) || (code == end_of_information)) - break; - if (code == clear) - { - // Reset decoder. - code_size = data_size + 1; - code_mask = (1 << code_size) - 1; - available = clear + 2; - old_code = NullCode; - continue; - } - if (old_code == NullCode) - { - pixelStack[top++] = suffix[code]; - old_code = code; - first = code; - continue; - } - in_code = code; - if (code == available) - { - pixelStack[top++] = (byte) first; - code = old_code; - } - while (code > clear) - { - pixelStack[top++] = suffix[code]; - code = prefix[code]; - } - first = ((int) suffix[code]) & 0xff; - - // Add a new string to the string table, - - if (available >= MaxStackSize) - break; - pixelStack[top++] = (byte) first; - prefix[available] = (short) old_code; - suffix[available] = (byte) first; - available++; - if (((available & code_mask) == 0) - && (available < MaxStackSize)) - { - code_size++; - code_mask += available; - } - old_code = in_code; - } - - // Pop a pixel off the pixel stack. - - top--; - pixels[pi++] = pixelStack[top]; - i++; - } - - for (i = pi; i < npix; i++) - { - pixels[i] = 0; // clear missing pixels - } - - } - - /** - * Returns true if an error was encountered during reading/decoding - */ - private bool Error() - { - return status != StatusOK; - } - - /** - * Initializes or re-initializes reader - */ - private void Init() - { - status = StatusOK; - frameCount = 0; - frames = new ArrayList(); - gct = null; - lct = null; - } - - /** - * Reads a single byte from the input stream. - */ - private int Read() - { - int curByte = 0; - try - { - curByte = inStream.ReadByte(); - } - catch (IOException) - { - status = StatusFormatError; - } - return curByte; - } - - /** - * Reads next variable length block from input. - * - * @return number of bytes stored in "buffer" - */ - private int ReadBlock() - { - blockSize = Read(); - int n = 0; - if (blockSize > 0) - { - try - { - int count = 0; - while (n < blockSize) - { - count = inStream.Read(block, n, blockSize - n); - if (count == -1) - break; - n += count; - } - } - catch (IOException) - { - } - - if (n < blockSize) - { - status = StatusFormatError; - } - } - return n; - } - - /** - * Reads color table as 256 RGB integer values - * - * @param ncolors int number of colors to read - * @return int array containing 256 colors (packed ARGB with full alpha) - */ - private int[] ReadColorTable(int ncolors) - { - int nbytes = 3 * ncolors; - int[] tab = null; - byte[] c = new byte[nbytes]; - int n = 0; - try - { - n = inStream.Read(c, 0, c.Length ); - } - catch (IOException) - { - } - if (n < nbytes) - { - status = StatusFormatError; - } - else - { - tab = new int[256]; // max size to avoid bounds checks - int i = 0; - int j = 0; - while (i < ncolors) - { - int r = ((int) c[j++]) & 0xff; - int g = ((int) c[j++]) & 0xff; - int b = ((int) c[j++]) & 0xff; - tab[i++] = ( int ) ( 0xff000000 | (r << 16) | (g << 8) | b ); - } - } - return tab; - } - - /** - * Main file parser. Reads GIF content blocks. - */ - private void ReadContents() - { - // read GIF file content blocks - bool done = false; - while (!(done || Error())) - { - int code = Read(); - switch (code) - { - - case 0x2C : // image separator - ReadImage(); - break; - - case 0x21 : // extension - code = Read(); - switch (code) - { - case 0xf9 : // graphics control extension - ReadGraphicControlExt(); - break; - - case 0xff : // application extension - ReadBlock(); - String app = ""; - for (int i = 0; i < 11; i++) - { - app += (char) block[i]; - } - if (app.Equals("NETSCAPE2.0")) - { - ReadNetscapeExt(); - } - else - Skip(); // don't care - break; - - default : // uninteresting extension - Skip(); - break; - } - break; - - case 0x3b : // terminator - done = true; - break; - - case 0x00 : // bad byte, but keep going and see what happens - break; - - default : - status = StatusFormatError; - break; - } - } - } - - /** - * Reads Graphics Control Extension values - */ - private void ReadGraphicControlExt() - { - Read(); // block size - int packed = Read(); // packed fields - dispose = (packed & 0x1c) >> 2; // disposal method - if (dispose == 0) - { - dispose = 1; // elect to keep old image if discretionary - } - transparency = (packed & 1) != 0; - delay = ReadShort() * 10; // delay in milliseconds - transIndex = Read(); // transparent color index - Read(); // block terminator - } - - /** - * Reads GIF file header information. - */ - private void ReadHeader() - { - String id = ""; - for (int i = 0; i < 6; i++) - { - id += (char) Read(); - } - if (!id.StartsWith("GIF")) - { - status = StatusFormatError; - return; - } - - ReadLSD(); - if (gctFlag && !Error()) - { - gct = ReadColorTable(gctSize); - bgColor = gct[bgIndex]; - } - } - - /** - * Reads next frame image - */ - private void ReadImage() - { - ix = ReadShort(); // (sub)image position & size - iy = ReadShort(); - iw = ReadShort(); - ih = ReadShort(); - - int packed = Read(); - lctFlag = (packed & 0x80) != 0; // 1 - local color table flag - interlace = (packed & 0x40) != 0; // 2 - interlace flag - // 3 - sort flag - // 4-5 - reserved - lctSize = 2 << (packed & 7); // 6-8 - local color table size - - if (lctFlag) - { - lct = ReadColorTable(lctSize); // read table - act = lct; // make local table active - } - else - { - act = gct; // make global table active - if (bgIndex == transIndex) - bgColor = 0; - } - int save = 0; - if (transparency) - { - save = act[transIndex]; - act[transIndex] = 0; // set transparent color if specified - } - - if (act == null) - { - status = StatusFormatError; // no color table defined - } - - if (Error()) return; - - DecodeImageData(); // decode pixel data - Skip(); - - if (Error()) return; - - frameCount++; - - // create new image to receive frame data - // image = - // new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB_PRE); - - bitmap = new Bitmap( width, height ); - image = bitmap; - SetPixels(); // transfer pixel data to image - - frames.Add(new GifFrame(bitmap, delay)); // add image to frame list - - if (transparency) - { - act[transIndex] = save; - } - ResetFrame(); - - } - - /** - * Reads Logical Screen Descriptor - */ - private void ReadLSD() - { - - // logical screen size - width = ReadShort(); - height = ReadShort(); - - // packed fields - int packed = Read(); - gctFlag = (packed & 0x80) != 0; // 1 : global color table flag - // 2-4 : color resolution - // 5 : gct sort flag - gctSize = 2 << (packed & 7); // 6-8 : gct size - - bgIndex = Read(); // background color index - pixelAspect = Read(); // pixel aspect ratio - } - - /** - * Reads Netscape extenstion to obtain iteration count - */ - private void ReadNetscapeExt() - { - do - { - ReadBlock(); - if (block[0] == 1) - { - // loop count sub-block - int b1 = ((int) block[1]) & 0xff; - int b2 = ((int) block[2]) & 0xff; - loopCount = (b2 << 8) | b1; - } - } while ((blockSize > 0) && !Error()); - } - - /** - * Reads next 16-bit value, LSB first - */ - private int ReadShort() - { - // read 16-bit value, LSB first - return Read() | (Read() << 8); - } - - /** - * Resets frame state for reading next image. - */ - private void ResetFrame() - { - lastDispose = dispose; - lastRect = new Rectangle(ix, iy, iw, ih); - lastImage = image; - lastBgColor = bgColor; - // int dispose = 0; - lct = null; - } - - /** - * Skips variable length blocks up to and including - * next zero length block. - */ - private void Skip() - { - do - { - ReadBlock(); - } while ((blockSize > 0) && !Error()); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/NumericTextBox.cs b/src/Libraries/TreeViewAdv/Aga.Controls/NumericTextBox.cs deleted file mode 100644 index 6ada6a427b..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/NumericTextBox.cs +++ /dev/null @@ -1,189 +0,0 @@ -using System; -using System.ComponentModel; -using System.Windows.Forms; -using System.Globalization; - - -namespace Aga.Controls -{ - /// <summary> - /// Restricts the entry of characters to digits, the negative sign, - /// the decimal point, and editing keystrokes (backspace). - /// It does not handle the AltGr key so any keys that can be created in any - /// combination with AltGr these are not filtered - /// </summary> - public class NumericTextBox : TextBox - { - private const int WM_PASTE = 0x302; - private NumberStyles numberStyle = NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign; - - /// <summary> - /// Restricts the entry of characters to digits, the negative sign, - /// the decimal point, and editing keystrokes (backspace). - /// It does not handle the AltGr key - /// </summary> - /// <param name="e"></param> - protected override void OnKeyPress(KeyPressEventArgs e) - { - base.OnKeyPress(e); - - e.Handled = invalidNumeric(e.KeyChar); - } - - - /// <summary> - /// Main method for verifying allowed keypresses. - /// This does not catch cut paste copy ... operations. - /// </summary> - /// <param name="key"></param> - /// <returns></returns> - private bool invalidNumeric(char key) - { - bool handled = false; - - NumberFormatInfo numberFormatInfo = CultureInfo.CurrentCulture.NumberFormat; - string decimalSeparator = numberFormatInfo.NumberDecimalSeparator; - string negativeSign = numberFormatInfo.NegativeSign; - - string keyString = key.ToString(); - - if (Char.IsDigit(key)) - { - // Digits are OK - } - else if (AllowDecimalSeperator && keyString.Equals(decimalSeparator)) - { - if (Text.IndexOf(decimalSeparator) >= 0) - { - handled = true; - } - } - else if (AllowNegativeSign && keyString.Equals(negativeSign)) - { - if (Text.IndexOf(negativeSign) >= 0) - { - handled = true; - } - } - else if (key == '\b') - { - // Backspace key is OK - } - else if ((ModifierKeys & (Keys.Control)) != 0) - { - // Let the edit control handle control and alt key combinations - } - else - { - // Swallow this invalid key and beep - handled = true; - } - return handled; - } - - - /// <summary> - /// Method invoked when Windows sends a message. - /// </summary> - /// <param name="m">Message from Windows.</param> - /// <remarks> - /// This is over-ridden so that the user can not use - /// cut or paste operations to bypass the TextChanging event. - /// This catches ContextMenu Paste, Shift+Insert, Ctrl+V, - /// While it is generally frowned upon to override WndProc, no - /// other simple mechanism was apparent to simultaneously and - /// transparently intercept so many different operations. - /// </remarks> - protected override void WndProc(ref Message m) - { - // Switch to handle message... - switch (m.Msg) - { - case WM_PASTE: - { - // Get clipboard object to paste - IDataObject clipboardData = Clipboard.GetDataObject(); - - // Get text from clipboard data - string pasteText = (string)clipboardData.GetData( - DataFormats.UnicodeText); - - // Get the number of characters to replace - int selectionLength = SelectionLength; - - // If no replacement or insertion, we are done - if (pasteText.Length == 0) - { - break; - } - else if (selectionLength != 0) - { - base.Text = base.Text.Remove(SelectionStart, selectionLength); - } - - bool containsInvalidChars = false; - foreach (char c in pasteText) - { - if (containsInvalidChars) - { - break; - } - else if (invalidNumeric(c)) - { - containsInvalidChars = true; - } - } - - if (!containsInvalidChars) - { - base.Text = base.Text.Insert(SelectionStart, pasteText); - } - - return; - } - - } - base.WndProc(ref m); - } - - - public int IntValue - { - get - { - int intValue; - Int32.TryParse(this.Text, numberStyle, CultureInfo.CurrentCulture.NumberFormat, out intValue); - return intValue; - } - } - - public decimal DecimalValue - { - get - { - decimal decimalValue; - Decimal.TryParse(this.Text, numberStyle, CultureInfo.CurrentCulture.NumberFormat, out decimalValue); - return decimalValue; - } - } - - - private bool allowNegativeSign; - [DefaultValue(true)] - public bool AllowNegativeSign - { - get { return allowNegativeSign; } - set { allowNegativeSign = value; } - } - - private bool allowDecimalSeperator; - [DefaultValue(true)] - public bool AllowDecimalSeperator - { - get { return allowDecimalSeperator; } - set { allowDecimalSeperator = value; } - } - - } - -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/PerformanceAnalyzer.cs b/src/Libraries/TreeViewAdv/Aga.Controls/PerformanceAnalyzer.cs deleted file mode 100644 index 94fdd6e744..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/PerformanceAnalyzer.cs +++ /dev/null @@ -1,136 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Diagnostics; - -namespace Aga.Controls -{ - /// <summary> - /// Is used to analyze code performance - /// </summary> - public static class PerformanceAnalyzer - { - public class PerformanceInfo - { - private string _name; - public string Name - { - get { return _name; } - } - - private int _count = 0; - public int Count - { - get { return _count; } - set { _count = value; } - } - - private double _totalTime = 0; - public double TotalTime - { - get { return _totalTime; } - set { _totalTime = value; } - } - - private Int64 _start; - public Int64 Start - { - get { return _start; } - set { _start = value; } - } - - public PerformanceInfo(string name) - { - _name = name; - } - } - - private static Dictionary<string, PerformanceInfo> _performances = new Dictionary<string, PerformanceInfo>(); - - public static IEnumerable<PerformanceInfo> Performances - { - get - { - return _performances.Values; - } - } - - [Conditional("DEBUG")] - public static void Start(string pieceOfCode) - { - PerformanceInfo info = null; - lock(_performances) - { - if (_performances.ContainsKey(pieceOfCode)) - info = _performances[pieceOfCode]; - else - { - info = new PerformanceInfo(pieceOfCode); - _performances.Add(pieceOfCode, info); - } - - info.Count++; - info.Start = TimeCounter.GetStartValue(); - } - } - - [Conditional("DEBUG")] - public static void Finish(string pieceOfCode) - { - lock (_performances) - { - if (_performances.ContainsKey(pieceOfCode)) - { - PerformanceInfo info = _performances[pieceOfCode]; - info.Count++; - info.TotalTime += TimeCounter.Finish(info.Start); - } - } - } - - public static void Reset() - { - _performances.Clear(); - } - - public static string GenerateReport() - { - return GenerateReport(0); - } - - public static string GenerateReport(string mainPieceOfCode) - { - if (_performances.ContainsKey(mainPieceOfCode)) - return GenerateReport(_performances[mainPieceOfCode].TotalTime); - else - return GenerateReport(0); - } - - public static string GenerateReport(double totalTime) - { - StringBuilder sb = new StringBuilder(); - int len = 0; - foreach (PerformanceInfo info in Performances) - len = Math.Max(info.Name.Length, len); - - sb.AppendLine("Name".PadRight(len) + " Count Total Time, ms Avg. Time, ms Percentage, %"); - sb.AppendLine("----------------------------------------------------------------------------------------------"); - foreach (PerformanceInfo info in Performances) - { - sb.Append(info.Name.PadRight(len)); - double p = 0; - double avgt = 0; - if (totalTime != 0) - p = info.TotalTime / totalTime; - if (info.Count > 0) - avgt = info.TotalTime * 1000 / info.Count; - string c = info.Count.ToString("0,0").PadRight(20); - string tt = (info.TotalTime * 1000).ToString("0,0.00").PadRight(20); - string t = avgt.ToString("0.0000").PadRight(20); - string sp = (p * 100).ToString("###").PadRight(20); - sb.AppendFormat(" " + c + tt + t + sp + "\n"); - } - return sb.ToString(); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Properties/AssemblyInfo.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Properties/AssemblyInfo.cs deleted file mode 100644 index bde8506cfd..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using System; -using System.Security.Permissions; - -[assembly: ComVisible(false)] -[assembly: CLSCompliant(false)] -[assembly: SecurityPermission(SecurityAction.RequestMinimum, Execution = true)] - -[assembly: AssemblyTitle("Aga.Controls")] -[assembly: AssemblyCopyright("Copyright © Andrey Gliznetsov 2006 - 2007")] -[assembly: AssemblyDescription("http://sourceforge.net/projects/treeviewadv/")] - -[assembly: AssemblyVersion("1.6.1.0")] diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Properties/Resources.Designer.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Properties/Resources.Designer.cs deleted file mode 100644 index 31d13735e3..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Properties/Resources.Designer.cs +++ /dev/null @@ -1,133 +0,0 @@ -//------------------------------------------------------------------------------ -// <auto-generated> -// This code was generated by a tool. -// Runtime Version:2.0.50727.42 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// </auto-generated> -//------------------------------------------------------------------------------ - -namespace Aga.Controls.Properties { - using System; - - - /// <summary> - /// A strongly-typed resource class, for looking up localized strings, etc. - /// </summary> - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// <summary> - /// Returns the cached ResourceManager instance used by this class. - /// </summary> - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Aga.Controls.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// <summary> - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// </summary> - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - internal static System.Drawing.Bitmap check { - get { - object obj = ResourceManager.GetObject("check", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static byte[] DVSplit { - get { - object obj = ResourceManager.GetObject("DVSplit", resourceCulture); - return ((byte[])(obj)); - } - } - - internal static System.Drawing.Bitmap Folder { - get { - object obj = ResourceManager.GetObject("Folder", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap FolderClosed { - get { - object obj = ResourceManager.GetObject("FolderClosed", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap Leaf { - get { - object obj = ResourceManager.GetObject("Leaf", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static byte[] loading_icon { - get { - object obj = ResourceManager.GetObject("loading_icon", resourceCulture); - return ((byte[])(obj)); - } - } - - internal static System.Drawing.Bitmap minus { - get { - object obj = ResourceManager.GetObject("minus", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap plus { - get { - object obj = ResourceManager.GetObject("plus", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap uncheck { - get { - object obj = ResourceManager.GetObject("uncheck", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap unknown { - get { - object obj = ResourceManager.GetObject("unknown", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Properties/Resources.resx b/src/Libraries/TreeViewAdv/Aga.Controls/Properties/Resources.resx deleted file mode 100644 index cf9fb45fd4..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Properties/Resources.resx +++ /dev/null @@ -1,151 +0,0 @@ -<?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> - <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <data name="check" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\check.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="DVSplit" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\resources\dvsplit.cur;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="Folder" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\Folder.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="FolderClosed" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\FolderClosed.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="Leaf" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\resources\leaf.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="loading_icon" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\loading_icon;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="minus" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\minus.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="plus" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\plus.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="uncheck" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\uncheck.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="unknown" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\resources\unknown.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> -</root> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/ResourceHelper.cs b/src/Libraries/TreeViewAdv/Aga.Controls/ResourceHelper.cs deleted file mode 100644 index 6f865e039f..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/ResourceHelper.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System; -using System.IO; -using System.Reflection; -using System.Windows.Forms; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls -{ - public static class ResourceHelper - { - // VSpilt Cursor with Innerline (symbolisize hidden column) - private static Cursor _dVSplitCursor = GetCursor(Properties.Resources.DVSplit); - public static Cursor DVSplitCursor - { - get { return _dVSplitCursor; } - } - - private static GifDecoder _loadingIcon = GetGifDecoder(Properties.Resources.loading_icon); - public static GifDecoder LoadingIcon - { - get { return _loadingIcon; } - } - - /// <summary> - /// Help function to convert byte[] from resource into Cursor Type - /// </summary> - /// <param name="data"></param> - /// <returns></returns> - private static Cursor GetCursor(byte[] data) - { - using (MemoryStream s = new MemoryStream(data)) - return new Cursor(s); - } - - /// <summary> - /// Help function to convert byte[] from resource into GifDecoder Type - /// </summary> - /// <param name="data"></param> - /// <returns></returns> - private static GifDecoder GetGifDecoder(byte[] data) - { - using(MemoryStream ms = new MemoryStream(data)) - return new GifDecoder(ms, true); - } - - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Resources/DVSplit.cur b/src/Libraries/TreeViewAdv/Aga.Controls/Resources/DVSplit.cur deleted file mode 100644 index 2e25be2b35ef246ff4315eb180f7ac0e8afa3db2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 326 zcmbu3yAgme3`3PvumBYtDJdC&&B$m>z$lD>kdiKCknhQ#v+oQ<1f&EE7_kRn0<Z~< qaEPF=a`9?W$yg+7(d(BE|DbdI(5-hRTb_lyXENg~xc02wb8mfUgnv^2 diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Resources/Folder.bmp b/src/Libraries/TreeViewAdv/Aga.Controls/Resources/Folder.bmp deleted file mode 100644 index f515f9e954ae098417dabeae123e6069d8fc4456..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1334 zcmeH{p;E&@5QevbETL_}HJ9enBNaF*YdTX~$qa@^z#@4CBobL08HvP3A|qpwk&)rw z3kXm+O!nrx-TiNG#m&tgZg)O8+no|!BT`>XC>RbVMEA1+LM&uO1>R{>)U*XzS<@BR zfUIn2``Xa{?St;XO(nE+Y+5S8L(|bCDB6yCtf#i8XYeAvg9nB9zNaH7K?Q2ikBo0H z{(*o01MzR;!2cm}sAn=)zD1tem4ZQZ5>GGFBuSvm-9_fe7zj}2QoxFBnhqs$gAGTE zMdk|5CAW&vK1#J#3I%KpdR=g&wO*dM+!#nqp6AJVzOw6evQ+9!+Q)vF=OG3jrkTs* K0PTk8FZ(AAWA-ut diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Resources/FolderClosed.bmp b/src/Libraries/TreeViewAdv/Aga.Controls/Resources/FolderClosed.bmp deleted file mode 100644 index 7e848d4e562060cfcbec2642acaafdfa5537cfec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 822 zcmZ?rHDhJ~12Z700mK4O%*Y@C7H5FULpTufKf`}oBiW{{(v6!X>NbegtP`$WEl{?C zw|FUc;bM-w1#CI<ShD6YWz1qsp9yh>Qv0s-GyfG@cg+0%KmQ7LWWC@rP!^&^wQDa> zy?W1nph)!t?8s&19iS}G7N8Xxy$68mbtfGKinPAQj{G)11Ihv&22`)re+a1Fc*bd< z$i(m1QTU$sKv|$)fa-xJ1D$O$^9)b~7fLw#11JUbK2W{>l;c2W19kn!4H}<;<bWXt zRBt%#B+%JF5ug?{1oWCp=N@3t$uw>O1~?D_)dO7)bavkt6oh6KFkXNvAqePlpe(Y> sfm~o91LH-$Wjj17;p%}5h!(h+zz{>0#mWY10Xhum7ohjCDxjMn05e(+1^@s6 diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Resources/Leaf.bmp b/src/Libraries/TreeViewAdv/Aga.Controls/Resources/Leaf.bmp deleted file mode 100644 index 79254b2c68a30ede753ef98c6d6e9d084933787c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1334 zcmeH_F;Bu!6on58BBBJMK_zGdL@Y=MV4-hzH1U@>GO~7L?8wT<*s<#y-`KHh$BvBk z+@jINf52_N-1FW0+M#)GABz(5S`-1Bss2p?=Z8fB=vEJaSxC3<(B3D)^%BNkA`O<v z^b(=Bg7#N1n-v1jL$LOk+5I*2)<<f5?1|oPm^aKM+CcBNFk~OG2RlSWhdVln>0y9a z&;b&X3MSy5!~rsrnvgj}5^HvnXe7oUi43#!h&@6kq(V#*WP2ecdt@1rCp&Wd2gf_` z-yLw>%HMKbw>}y4d#z@pR;yiCav$0KZnMEbL;PkomO+bygTIbP1G|?GWPiJujekyv z-zkT04D5cZ*%WW9xiifN-PXZ5$iLa^i9aZ%<};qK?XLJET?W(1^S!twt{i84b$RjY kYB4-1qQL!AzE|p{Tsoz?*4)W!Sgwk?R)=L-o%Wg77dq$wh5!Hn diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Resources/Thumbs.db b/src/Libraries/TreeViewAdv/Aga.Controls/Resources/Thumbs.db deleted file mode 100644 index 983f52698cfb74fa579f8e23fa32a9a2b73ef6a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10752 zcmeI23p|u*7r@_{F&LK^<Cbfp8#cM*9+h0iwG<Ol36&;kl5|nhMbXxlqRVdSepSkC zl)hAos8}Ik#n5K6sTsu7VD>zi*7j@nlfK>G=lkaHpJ!&A=Y8JuKF@RBbI$9>5_0{C zYbq@46S2VvSP!3si4OQ42k#NRB8y>oc!NIo@cI0{FEI?>3S}5wfo?cg@%}j!ftCoM zITr&+fD9l3NCHxTG%x~y>F=F)GPH64rT_CVGF^D8a0NWEF!))Gjl%4)70|B2*1=2; zUKC-)2reXAKYt~AHO{?!9#McJfYMa8K25{F>M)4EiC}n~V0_dLqD!yJJ><MVjQW}( zzoPMx4@5Q%c6_vtyif-a<GyCduS2n41x9o4A0M4Nx)kW+r~4oI1>^$+`ycsv!Tv{n z0r`M|`(GYDD*%ds5}*u>1W-R!Xwj6b0~&xPFbdEDMg!V_4lo873ycF$zX{Ol0(yWx z@C`5#FaRb2X#Jo$MAy*-m<*tPX3&}g7JwyS1y}=902{y-m<mh-rUR(Y3~22E2Otb^ z0;qs9-~zY;Zh$-B0n7wu0iFQrKL=Vbz#E_ea{(W~7w`k-0sg>zU;(fYK>Zd$8wdme z!N6i*39u9h0hR%DU^x&9tN>8ImHjQe9kQUch}J+h9@g(Oemy4Z>_BzEaImNsq7&rT zV0IV*k4L{CBJfKTClW<Oh!SFAqT*5#Qc{u<l9JLR<Yc8skVi;L$|}l|De?*m3Q{sk z%8K&Ja`FoD=pZ-(^bsMFh(waSw4}8B7YqM3Miz(lNFv}yV|X%-K*sU!p>>2K!r7t| z?iU;$&QVlMoFpL$3YoI7LkR@D2mzfnXm5nSV<KdtoR;A<QOc|UvC#~9qnLds#I>hi zyQAP)%GNPnv}y}ULQzS1q{^7F<Hk?WHJNN`W^Q3=H^bh+(TVCjdybbkZLW`RU{LVl zB}+q=g|CiS6S;QX`mNix$L`n}7oV{IKw{FtLx+!?Jazia*>mSFTue*P$joA9U%zoT z@813Vf(L~~Ps++Go>o4qs%AAbzWDiN(=V@@IjwE&?>aiU?>`{Ba2TP_tdEv`Viy_g z!i$IyM8uF?ID8~PAd3*S3`OOp%@PY>P(~ZYh|5pkcjDR|lD4rYTVc_vQVB&J6V@0G zGOgFL!5Ow?NS1vx?037WF)0ELCXYad4fx?L>tLSW_irV+BOAH4>`E{8yW+&NRL13I zl^8c_MN5NmQD|<uy2{jiR|2E0Ual~^rHgYi{)6S5qoy^H*IDJ~&n7rOwdGd{CVnWb zVEt1G!(;tRW75L)-@C7e{rYdSt@<@D`C5Jq&x{-G%`Ic)#C5Id(Y(%~+*qbmnw6^5 zk=b%!rtfK*cx;4e>4oXCp#fTpE*TfJrMB#5KP_P~<D$e~L|O8&?Ou^rxIuK<d`0@N zyO<emll9t}a@MU@ac(KzIpweO-aKObaJ+&`=S6V$vzRe9>T4JDD7?+%W0V4RPe;>C zcE_0pX``1L9#UT>`S^F9DVmVyve&fUWacfidwa}NtG9L>=g?Y~G<MtG?=dKA-)QBT zR;K;r)UFw^b59uRq!lU0joJIA*7(~OQn&)osb97s1^aLMFxh{yn5=OB{cr5Qj#Sd7 z;#`@`+-<(1moCzkRBV_RYSuNd&U&7XwZN$ovW$;)mrTCf<<fm5^``d8hbgZT+$JW5 zQrxVo_d8P3ILx4BF5$;^Z+%ctyBKB2eOq4=%g08Tn7>nZs%<U_RU0em)#fW+x=P{d zq;uid3uY%TmoenN<IS++n7OE!CWcPQ+<C}4-4%a0F+79#Vl%b2u!O*V%X;Lo)4W(K z{*+}MEh6}_ZoGTK_Ufec(yA!KUET>Uk9v+5>2loW)t<l3Q?l@XY^LFt(XwHA7PY$j zyP@0(QOx``g7Oat9ee8qC<q<QvBravApb$}`q#)%@*h(eP!s$O5<4savfcoQt;2d_ z?!Ipa{|eFN$NYD&_S?bX=k$lG=v=-=ko~A;gYvY&j_(M%_tB(*2>kDGiGPItSCH2X z`}n7mZcr6=XZ^vv90q;E6_19)DUAo}YMwo2(AA1hPTjN5f#>iP+g)?jZs7|;;{x&~ zj1KO#{eJnFwg^@GhaT4JLu+rYX_naRe=gpzaG|JiiCWN-XI%syjZ43)p}|wT+U)6G zqMEELKZ?kVwGPT|S{=qEw<{-)v<>N&X|UZA;imYc%ySR@5<||K;~+aJdyDH27UngS zJx857wNtekWXSA8MXN6bTzc$&@@3PRaq7MvG?_IMqV*H}UPn6zA9`+>7kFx9{^<)v z>)WPfE`I&)=T4g6*o2|QKNMm7Bh0`5tg!I+<lj7l4$CL)59>DHSY4U5a-Na@yesbm zr5G<Mdp2b@EyzsG<Apju=iT$(TWuc_5~fU2o}lk4N!TnZaV@xH%0)i*y0o#|U>a9@ zNkHVqDqnYliJFB+SmX!#lUBMjo~GMO<`x(DvlahEymg9hWuoS&*8J#Mur;<ZeZhI( zObxBe^W{Q#KGCmSKe(2u&X&yg(ooNS_^VNc|CD7p%{TlUvgnQ{1`*K6Lgaz!lneVo zwZq<9Ymc1O^F{f%P^h4-z#_14s2VPU>KUq;^;H;qZ-D(;flzA;h8i6G4_YWr=?xS5 zwHzQuSPoUXV5pK0JQ|9jpt1x-xxO(6>e=;17U9q*=ns8#Kpow;1$|sWBLFIY1CNVz zL<i`sgkybbiQxWy9n2Bd?}YWc&lV>C9{=&d?)D}^<%*j$cEZz2*0`7mTYTMGyB5o& z%WK7snq)s|Gb!L%+?_W*>21-D;`_Iaa&9i3q{k{6pL*&HwJemm;h4H}e2C8Fz(MSC zv<W^hg7t4POzxlmZS_0!oaAc+@{cdhe`dpg_Pvg^?-|Wkj*mnBANk3_=05?TJEMR6 zuNhm=7mX_r!FT^;D;OKKUplVv`Nf|;nfZ6mFPftlrasfF_sCDKvbz1;h;uL|H!F&I zVPj59WNvjQd)+br?t9c$d&}c@9ky;CneU-<<UOHBB8E-5ot(}rs3qh@%d9rwI=1_z zO4T$|{5Ga-I9irj@zZkN*~oyzc*D(%*7iaR8+`PgnKl!8it9-220L!4{%Eba;p8tp z(N#?q`fpBWhncP$7yA0(_;b>Fxb14V^46&6j^o|ut-W|YTt4Q(iQd)Tt?6E#lJTJZ zd_$>L(s);@ep>8kYLFGvwGn(KqkON-f5iWq3;nM!fB9$gm$tepddE7hbVF`cQ=Y~s zPUUvUR+!#QTKGI^hgR)Xmo_r+x;o*yZ}2+Gw;T6&&4_x%3+vKlci#1go3CCLWx>kj z+J6(4A^wh(Q5G@zj*rTlSMo`Rt72LkcWI9b(mbFR|2>P=QrWm*+cAt?w=JVin(Hz9 z8oO)1OJMj#pP#5JFYBl3$rV~&cz@dby<_d{ifO5~-N*UZQd{z-C-aTdIA(Dv89Ayv zw<#tszN5xFH5jHOIFaO>n$`rb2>%vWkfQU(t71r1+uyxB`riojzgmJkA_B6V&u248 h6WuAXiaC4qqVjP_lMaMok?=Y&??6gI`Tw{AzX6T{gt-6! diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Resources/check.bmp b/src/Libraries/TreeViewAdv/Aga.Controls/Resources/check.bmp deleted file mode 100644 index 11c9cfac82d00204547ebb890083f5b9a48f32af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 574 zcmZ?rwPRuc12Z700mQse%*Y@C7UzJ<gE=%M{^JHH_QI6`Md54+1B*Ji5VBIZAcz5! yK;a{qiXskI2WLPuBXdC-AbcPR0dO;bTsRx54yFc0DPeUG6-23nn2cgC^*8{NW3;yb diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Resources/loading_icon b/src/Libraries/TreeViewAdv/Aga.Controls/Resources/loading_icon deleted file mode 100644 index ca716ed46f63415b94cbc14946d9ab1b376d0fe0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6979 zcmeI$cTALb90u@X9NdA*2`C6Cdn2HTqRfM19UR+*H~^LDKpZ&Pd&>||P*eo9%CagN z2Le_F#A;2cnh32;FgC4eRnmachkNbo^*AoXQBCmo$D7|>NXT98ljr$<on4(Q<_9t; z3`#%cJ&%Zph^VNjn3x!qN~O_g($dnCCQV{681nM+3JMA;Dk{^bPoFVkhN`Nnnwpxr zy1IsjhNh;bmX?-|j*gz5o}r<kv9YnKsp+g)vu2NS%mke|+%tFX+<Ein&7VKt($dn} z+S=CE*52OU!NGyWVmUfGIypHxJ3G6$xVXByve|4mH#c{8cMgZ+;o;%w>FMR=<?Ze5 z<KyG&>+9#|w{YRYMT-_KUc7k8k|j%*F7@~KU$$&nKtRCq<;z#BSg~^D%2lgY1qKEN z1qH2My?PDztmU4NkdV;O(6F$uh=_>D$jEi;)~#Q^e#3?h8#iu@ii+B_X;XA`^ybZ* zw`|$6b?eq`+qT8T#BATbeaDU+J9qBfwQJYz-Mjbf*%KQZ8y6QBA0MBPkdT;|n3R;1 zoSdAJl9HO5nwFN9o}QkOk&&61nU$55ot>SRmsea|Tv}RMUS3{VSy@$8b>hT{Q>RYV z)zvjLG&D9go)L7u<vC~1o;`Q&+@(vG+S=Og-Mjbn>C=IMfj8sq3=IvDpBQ)bA!!ds zKVJu?m*Z?>Q!x>MQ2$$;N}~)>jD~RxGojD|DE)Mm^CnEu1R7mwPRYhYdfrrp-x~wP zdRtN_>-v1t_gtenTg6i6s0$<5AwJ~xZx?Cxfwu~cJTLo&`5a^C)6|&_eNl%z%C)V7 z2Aj<K*tvF|*R8?|d#=Qah>ZM)slr+E>Z8-?&^K}7L|IwcDO08>DJel5l#PYhDDs58 zEeNIH_Xw)y=H`S}3k!<{3l>;eS=rdw*xA`ZE1W_oYzk2clJE$LFc=&hOd2F4@;(Wb zd`}?70n+gBa3F<H@Py5es4^!fCpR}2HuLlI_wL<WP*6}<SXfk4v~S<O67B(5oU*dA z{rmSHK71Gk@87@w?AfzduU-uf4w65`aem=bN%Q1_^Gu!e7Tl_MQGjzRkl+W`UH8O> zQ|2zqO82R<E7o6Lk#+oTfo|zQ<b%TFf9ZH0v`Ca4>^D&pW{lt@E-o%1At5O#i97=; zDJdzqnlNDkXd&BVWMmL;lP6CGGdVdq<Q%X~ojMh1r>LknZQ3-zQ&v_UnS6*nZEbC2 zo`HeE%$YNVXC5I>uqQJ!QWOz>yqpkw2t0%wQVnLt0)`jQ81H<#guEo+5djH%$Vdbv z(h<>!Ttp%w3z34zKOxD7*n=*(f+!>(DT;8#`y`CvdEmeSL?dz$p@=j*fBt++OG{5r z&x;o?#yK#2e12mdTw}Ey<+sLqvXx=%-cdTgF&9(2xD+vF{DY9YTI?c&WfhUM=qk6u z0l%Lg-E6GxI%v23&42=fOH7hCH-}@4%qsXoS^N~l$Z`p2NIqR%U2xOa*M~TypplUg z-0{^-f*1jcY?A<mLWzh%r$kDjRwAgFOy+x+OEgQ=N(30%BzmOq03!^JW{LzwBpI(J zG)r_!^hgv(l*O@l;kCniM?_UrR6tO5b@j=UCu?hK>+9=<G)tmTHZ?U}xpJkwz5Vgy z$Nl~N<2lv%iMex${qeo#zr9h(9K;4*j3kyPk)1;4l(CljXtx)e$ca)IzC9hK<{R#I zG&LUUIym%(DlRy~z8qjCCMIOO0T^`gwm*z(A05~jr#D`B1TcaVSq$HMdc)|3xeenQ zW;G(N&;j`hATKcDPR12^A?hLQ9XWD@nCbve&^UL780RityoedDv$ONz!-wdSFJHbK zC+bE4_JjVvJ+X>SRhavz|9N0*y1ZeKR%p~Om(4<~q{QhyS~v4_yffr2g0J5yp6PgP zGo5nvdWm^NMn_n5NLTz<U>~*~A&mhTbn#Zd4_S|(9>Ntw5$z9PK!tEpQ&V&L^l7A% zz<?sx9z;f=2{t!3-??+Ax3?EszLvq!z5#w<+>+>0cc?j0Qs3KtiC3k4ir94HB)#YA zZT87}Qmtv;n%`y3V1~<wUe97uC{o2nt_*E<f+6R2NqyHEcFF9JySvi8bUE2((qu{e z&vND6t^-L%Y!p9ZN&I3n3>(N#L~P^+63a%+TbQLl3=2m1x^Uq_YinzFcXwZ3-&a1P z*%{;e{KPoJC6P;vCT9?Eqpq^qF;iZGRwtvuN|Mv{&x$eCY|EtU%CeGf^khw=y6)AA z`SXcO(LhJZPe023+74nDSS8Uq4yDwg*U~h>EpfDkBDwp(;sYxW>^t6j(=o;|48q8* zKRJdGMG-r~&)5?GPhosJegqn}^4L>ge0u%*^%#FgU;k{hZ-8IeyAY$v$g1V#^;}Dy uNVQq57^T{pAr^M$YK?brTaL1Aiu{eVe5TpjcOho%e}*T-Iy2senB_m&So>Q5 diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Resources/minus.bmp b/src/Libraries/TreeViewAdv/Aga.Controls/Resources/minus.bmp deleted file mode 100644 index c6539d992d44c85f22b4f5abae2f7e01b7a068e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmZ?rHDY7{12Z700mPh8%*Y@C7XJe#QHk1Ae_V(GDDfW~0E$y6hw26fpe2->iRn_P KnLr9FVgLZXq^slr diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Resources/plus.bmp b/src/Libraries/TreeViewAdv/Aga.Controls/Resources/plus.bmp deleted file mode 100644 index d54ab873826cfdbf97141078edbd8bf68ead084d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmZ?rHDY7{12Z700mPh8%*Y@C7XJe#QHk1Ae_V(GDDfW~0E(l?0ZoJ}BTf$04Itgb T>4R8<&px<A5M~06#)=pK&_18= diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Resources/uncheck.bmp b/src/Libraries/TreeViewAdv/Aga.Controls/Resources/uncheck.bmp deleted file mode 100644 index 673b1ba36f545d307bcadcd684b8337c415e07d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 574 ycmZ?rwPRuc12Z700mQse%*Y@C7UzJ<gE=%M{^JHH_TpCde^edzz(ENY>Tv-0kMno{ diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Resources/unknown.bmp b/src/Libraries/TreeViewAdv/Aga.Controls/Resources/unknown.bmp deleted file mode 100644 index ed34bd406de7741d81f1bcb6fcb7bc78e93cd848..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 574 zcmZ?rwPRuc12Z700mQse%*Y@C7UzJ<gE=%MPF%Qx3!&HxSJcqZ0B1uOSkwU(K>)H+ ybagN_=t{Ax1DXWafZbl8G~7C5rRe6t6+svfr9d_TbwCvm8wjg|7>uHhdK>@%5VAV} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/StringCollectionEditor.cs b/src/Libraries/TreeViewAdv/Aga.Controls/StringCollectionEditor.cs deleted file mode 100644 index 411fa491a8..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/StringCollectionEditor.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.ComponentModel.Design; - -namespace Aga.Controls -{ - public class StringCollectionEditor : CollectionEditor - { - public StringCollectionEditor(Type type): base(type) - { - } - - protected override Type CreateCollectionItemType() - { - return typeof(string); - } - - protected override object CreateInstance(Type itemType) - { - return ""; - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/TextHelper.cs b/src/Libraries/TreeViewAdv/Aga.Controls/TextHelper.cs deleted file mode 100644 index 9f7ba4eb95..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/TextHelper.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; -using System.Drawing; - -namespace Aga.Controls -{ - public static class TextHelper - { - public static StringAlignment TranslateAligment(HorizontalAlignment aligment) - { - if (aligment == HorizontalAlignment.Left) - return StringAlignment.Near; - else if (aligment == HorizontalAlignment.Right) - return StringAlignment.Far; - else - return StringAlignment.Center; - } - - public static TextFormatFlags TranslateAligmentToFlag(HorizontalAlignment aligment) - { - if (aligment == HorizontalAlignment.Left) - return TextFormatFlags.Left; - else if (aligment == HorizontalAlignment.Right) - return TextFormatFlags.Right; - else - return TextFormatFlags.HorizontalCenter; - } - - public static TextFormatFlags TranslateTrimmingToFlag(StringTrimming trimming) - { - if (trimming == StringTrimming.EllipsisCharacter) - return TextFormatFlags.EndEllipsis; - else if (trimming == StringTrimming.EllipsisPath) - return TextFormatFlags.PathEllipsis; - if (trimming == StringTrimming.EllipsisWord) - return TextFormatFlags.WordEllipsis; - if (trimming == StringTrimming.Word) - return TextFormatFlags.WordBreak; - else - return TextFormatFlags.Default; - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Threading/AbortableThreadPool.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Threading/AbortableThreadPool.cs deleted file mode 100644 index 5424e8974d..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Threading/AbortableThreadPool.cs +++ /dev/null @@ -1,118 +0,0 @@ -// Stephen Toub -// stoub@microsoft.com - -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading; - -namespace Aga.Controls.Threading -{ - public class AbortableThreadPool - { - private LinkedList<WorkItem> _callbacks = new LinkedList<WorkItem>(); - private Dictionary<WorkItem, Thread> _threads = new Dictionary<WorkItem, Thread>(); - - public WorkItem QueueUserWorkItem(WaitCallback callback) - { - return QueueUserWorkItem(callback, null); - } - - public WorkItem QueueUserWorkItem(WaitCallback callback, object state) - { - if (callback == null) throw new ArgumentNullException("callback"); - - WorkItem item = new WorkItem(callback, state, ExecutionContext.Capture()); - lock (_callbacks) - { - _callbacks.AddLast(item); - } - ThreadPool.QueueUserWorkItem(new WaitCallback(HandleItem)); - return item; - } - - private void HandleItem(object ignored) - { - WorkItem item = null; - try - { - lock (_callbacks) - { - if (_callbacks.Count > 0) - { - item = _callbacks.First.Value; - _callbacks.RemoveFirst(); - } - if (item == null) - return; - _threads.Add(item, Thread.CurrentThread); - - } - ExecutionContext.Run(item.Context, - delegate { item.Callback(item.State); }, null); - } - finally - { - lock (_callbacks) - { - if (item != null) - _threads.Remove(item); - } - } - } - - public bool IsMyThread(Thread thread) - { - lock (_callbacks) - { - foreach (Thread t in _threads.Values) - { - if (t == thread) - return true; - } - return false; - } - } - - public WorkItemStatus Cancel(WorkItem item, bool allowAbort) - { - if (item == null) - throw new ArgumentNullException("item"); - lock (_callbacks) - { - LinkedListNode<WorkItem> node = _callbacks.Find(item); - if (node != null) - { - _callbacks.Remove(node); - return WorkItemStatus.Queued; - } - else if (_threads.ContainsKey(item)) - { - if (allowAbort) - { - _threads[item].Abort(); - _threads.Remove(item); - return WorkItemStatus.Aborted; - } - else - return WorkItemStatus.Executing; - } - else - return WorkItemStatus.Completed; - } - } - - public void CancelAll(bool allowAbort) - { - lock (_callbacks) - { - _callbacks.Clear(); - if (allowAbort) - { - foreach (Thread t in _threads.Values) - t.Abort(); - } - } - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Threading/WorkItem.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Threading/WorkItem.cs deleted file mode 100644 index 0bcaf4c664..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Threading/WorkItem.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading; - -namespace Aga.Controls.Threading -{ - public sealed class WorkItem - { - private WaitCallback _callback; - private object _state; - private ExecutionContext _ctx; - - internal WorkItem(WaitCallback wc, object state, ExecutionContext ctx) - { - _callback = wc; - _state = state; - _ctx = ctx; - } - - internal WaitCallback Callback - { - get - { - return _callback; - } - } - - internal object State - { - get - { - return _state; - } - } - - internal ExecutionContext Context - { - get - { - return _ctx; - } - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Threading/WorkItemStatus.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Threading/WorkItemStatus.cs deleted file mode 100644 index ec4becb633..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Threading/WorkItemStatus.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Threading -{ - public enum WorkItemStatus - { - Completed, - Queued, - Executing, - Aborted - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/TimeCounter.cs b/src/Libraries/TreeViewAdv/Aga.Controls/TimeCounter.cs deleted file mode 100644 index e06c18055c..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/TimeCounter.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Runtime.InteropServices; -using System.Diagnostics.CodeAnalysis; - -namespace Aga.Controls -{ - /// <summary> - /// High resolution timer, used to test performance - /// </summary> - public static class TimeCounter - { - private static Int64 _start; - - /// <summary> - /// Start time counting - /// </summary> - public static void Start() - { - _start = 0; - QueryPerformanceCounter(ref _start); - } - - public static Int64 GetStartValue() - { - Int64 t = 0; - QueryPerformanceCounter(ref t); - return t; - } - - /// <summary> - /// Finish time counting - /// </summary> - /// <returns>time in seconds elapsed from Start till Finish </returns> - public static double Finish() - { - return Finish(_start); - } - - public static double Finish(Int64 start) - { - Int64 finish = 0; - QueryPerformanceCounter(ref finish); - - Int64 freq = 0; - QueryPerformanceFrequency(ref freq); - return (finish - start) / (double)freq; - } - - [DllImport("Kernel32.dll")] - [return: MarshalAs(UnmanagedType.Bool)] - static extern bool QueryPerformanceCounter(ref Int64 performanceCount); - - [DllImport("Kernel32.dll")] - [return: MarshalAs(UnmanagedType.Bool)] - static extern bool QueryPerformanceFrequency(ref Int64 frequency); - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/AutoRowHeightLayout.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/AutoRowHeightLayout.cs deleted file mode 100644 index 953df024e4..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/AutoRowHeightLayout.cs +++ /dev/null @@ -1,151 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using Aga.Controls.Tree.NodeControls; - -namespace Aga.Controls.Tree -{ - public class AutoRowHeightLayout: IRowLayout - { - private DrawContext _measureContext; - private TreeViewAdv _treeView; - private List<Rectangle> _rowCache; - - public AutoRowHeightLayout(TreeViewAdv treeView, int rowHeight) - { - _rowCache = new List<Rectangle>(); - _treeView = treeView; - PreferredRowHeight = rowHeight; - _measureContext = new DrawContext(); - _measureContext.Graphics = Graphics.FromImage(new Bitmap(1, 1)); - } - - private int _rowHeight; - public int PreferredRowHeight - { - get { return _rowHeight; } - set { _rowHeight = value; } - } - - - public int PageRowCount - { - get - { - if (_treeView.RowCount == 0) - return 0; - else - { - int pageHeight = _treeView.DisplayRectangle.Height - _treeView.ColumnHeaderHeight; - int y = 0; - for (int i = _treeView.RowCount - 1; i >= 0; i--) - { - y += GetRowHeight(i); - if (y > pageHeight) - return Math.Max(0, _treeView.RowCount - 1 - i); - } - return _treeView.RowCount; - } - } - } - - public int CurrentPageSize - { - get - { - if (_treeView.RowCount == 0) - return 0; - else - { - int pageHeight = _treeView.DisplayRectangle.Height - _treeView.ColumnHeaderHeight; - int y = 0; - for (int i = _treeView.FirstVisibleRow; i < _treeView.RowCount; i++) - { - y += GetRowHeight(i); - if (y > pageHeight) - return Math.Max(0, i - _treeView.FirstVisibleRow); - } - return Math.Max(0, _treeView.RowCount - _treeView.FirstVisibleRow); - } - } - } - - public Rectangle GetRowBounds(int rowNo) - { - if (rowNo >= _rowCache.Count) - { - int count = _rowCache.Count; - int y = count > 0 ? _rowCache[count - 1].Bottom : 0; - for (int i = count; i <= rowNo; i++) - { - int height = GetRowHeight(i); - _rowCache.Add(new Rectangle(0, y, 0, height)); - y += height; - } - if (rowNo < _rowCache.Count - 1) - return Rectangle.Empty; - } - if (rowNo >= 0 && rowNo < _rowCache.Count) - return _rowCache[rowNo]; - else - return Rectangle.Empty; - } - - private int GetRowHeight(int rowNo) - { - if (rowNo < _treeView.RowMap.Count) - { - TreeNodeAdv node = _treeView.RowMap[rowNo]; - if (node.Height == null) - { - int res = 0; - _measureContext.Font = _treeView.Font; - foreach (NodeControl nc in _treeView.NodeControls) - { - int h = nc.GetActualSize(node, _measureContext).Height; - if (h > res) - res = h; - } - node.Height = res; - } - return node.Height.Value; - } - else - return 0; - } - - public int GetRowAt(Point point) - { - int py = point.Y - _treeView.ColumnHeaderHeight; - int y = 0; - for (int i = _treeView.FirstVisibleRow; i < _treeView.RowCount; i++) - { - int h = GetRowHeight(i); - if (py >= y && py < y + h) - return i; - else - y += h; - } - return -1; - } - - public int GetFirstRow(int lastPageRow) - { - int pageHeight = _treeView.DisplayRectangle.Height - _treeView.ColumnHeaderHeight; - int y = 0; - for (int i = lastPageRow; i >= 0; i--) - { - y += GetRowHeight(i); - if (y > pageHeight) - return Math.Max(0, i + 1); - } - return 0; - } - - public void ClearCache() - { - _rowCache.Clear(); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/ClassDiagram.cd b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/ClassDiagram.cd deleted file mode 100644 index 0bd16eff16..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/ClassDiagram.cd +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ClassDiagram MajorVersion="1" MinorVersion="1" MembersFormat="FullSignature"> - <Font Name="Microsoft Sans Serif" Size="8.25" /> - <Class Name="Aga.Controls.Tree.TreeModel" BaseTypeListCollapsed="true"> - <Position X="0.5" Y="7" Width="3.75" /> - <TypeIdentifier> - <FileName>Tree\TreeModel.cs</FileName> - <HashCode>AAAkgAAAAAAQAGQAAAAAEAAAEAACQAAAUAAAAAAAAQE=</HashCode> - </TypeIdentifier> - <Members> - <Field Name="_root" Hidden="true" /> - </Members> - <Compartments> - <Compartment Name="Fields" Collapsed="true" /> - </Compartments> - <Lollipop Position="0.2" /> - </Class> - <Class Name="Aga.Controls.Tree.TreePath"> - <Position X="4.5" Y="4.25" Width="2" /> - <TypeIdentifier> - <FileName>Tree\TreePath.cs</FileName> - <HashCode>GABAAAAAAAACAAAAAAIAAAAAAAAACAAAAAAAAAAAAAA=</HashCode> - </TypeIdentifier> - <Members> - <Field Name="_path" Hidden="true" /> - <Field Name="Empty" Hidden="true" /> - <Method Name="TreePath" Hidden="true" /> - </Members> - <Compartments> - <Compartment Name="Fields" Collapsed="true" /> - </Compartments> - </Class> - <Class Name="Aga.Controls.Tree.Node"> - <Position X="4.75" Y="7" Width="2.5" /> - <TypeIdentifier> - <FileName>Tree\Node.cs</FileName> - <HashCode>AAAgABAAgCAAAAAAAgAEVAAQAAAQAAAIAAsgCAAAAAA=</HashCode> - </TypeIdentifier> - <Members> - <Field Name="_checkState" Hidden="true" /> - <Field Name="_model" Hidden="true" /> - <Field Name="_nodes" Hidden="true" /> - <Field Name="_parent" Hidden="true" /> - <Field Name="_text" Hidden="true" /> - </Members> - <Compartments> - <Compartment Name="Fields" Collapsed="true" /> - </Compartments> - <NestedTypes> - <Class Name="Aga.Controls.Tree.Node.NodeCollection" Collapsed="true"> - <TypeIdentifier> - <NewMemberFileName>Tree\Node.cs</NewMemberFileName> - </TypeIdentifier> - </Class> - </NestedTypes> - </Class> - <Class Name="Aga.Controls.Tree.NodeControls.NodeControl"> - <Position X="0.5" Y="0.5" Width="3.75" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\NodeControl.cs</FileName> - <HashCode>AAAAAAAAgAAAgsIAAAhAQAAwAAAAEAAAAEAIAAAAAAA=</HashCode> - </TypeIdentifier> - <Members> - <Field Name="_column" Hidden="true" /> - <Field Name="_parent" Hidden="true" /> - <Field Name="_toolTipProvider" Hidden="true" /> - <Method Name="AssignParent" Hidden="true" /> - </Members> - </Class> - <Interface Name="Aga.Controls.Tree.ITreeModel"> - <Position X="0.5" Y="4.25" Width="3.5" /> - <TypeIdentifier> - <FileName>Tree\ITreeModel.cs</FileName> - <HashCode>AAAEAAAAAAAAAEQAAAAAEAAAEAAAQAAAAAAAAAAAAAA=</HashCode> - </TypeIdentifier> - </Interface> - <Interface Name="Aga.Controls.Tree.IToolTipProvider"> - <Position X="4.5" Y="0.5" Width="2.75" /> - <TypeIdentifier> - <FileName>Tree\IToolTipProvider.cs</FileName> - <HashCode>AAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode> - </TypeIdentifier> - </Interface> -</ClassDiagram> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/ColumnCollection.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/ColumnCollection.cs deleted file mode 100644 index b5c6aff048..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/ColumnCollection.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Collections.ObjectModel; - -namespace Aga.Controls.Tree -{ - /*internal class ColumnCollection: Collection<Column> - { - public int TotalWidth - { - get - { - int res = 0; - foreach (Column c in Items) - res += c.Width; - return res; - } - } - }*/ -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/DrawContext.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/DrawContext.cs deleted file mode 100644 index 4fe8b1df4d..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/DrawContext.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using Aga.Controls.Tree.NodeControls; - -namespace Aga.Controls.Tree -{ - public struct DrawContext - { - private Graphics _graphics; - public Graphics Graphics - { - get { return _graphics; } - set { _graphics = value; } - } - - private Rectangle _bounds; - public Rectangle Bounds - { - get { return _bounds; } - set { _bounds = value; } - } - - private Font _font; - public Font Font - { - get { return _font; } - set { _font = value; } - } - - private DrawSelectionMode _drawSelection; - public DrawSelectionMode DrawSelection - { - get { return _drawSelection; } - set { _drawSelection = value; } - } - - private bool _drawFocus; - public bool DrawFocus - { - get { return _drawFocus; } - set { _drawFocus = value; } - } - - private NodeControl _currentEditorOwner; - public NodeControl CurrentEditorOwner - { - get { return _currentEditorOwner; } - set { _currentEditorOwner = value; } - } - - private bool _enabled; - public bool Enabled - { - get { return _enabled; } - set { _enabled = value; } - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/DropNodeValidatingEventArgs.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/DropNodeValidatingEventArgs.cs deleted file mode 100644 index fb7ef00452..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/DropNodeValidatingEventArgs.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using System.Drawing; - -namespace Aga.Controls.Tree -{ - public class DropNodeValidatingEventArgs: EventArgs - { - Point _point; - TreeNodeAdv _node; - - public DropNodeValidatingEventArgs(Point point, TreeNodeAdv node) - { - _point = point; - _node = node; - } - - public Point Point - { - get { return _point; } - } - - public TreeNodeAdv Node - { - get { return _node; } - set { _node = value; } - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/DropPosition.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/DropPosition.cs deleted file mode 100644 index 7356326e67..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/DropPosition.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Tree -{ - public struct DropPosition - { - private TreeNodeAdv _node; - public TreeNodeAdv Node - { - get { return _node; } - set { _node = value; } - } - - private NodePosition _position; - public NodePosition Position - { - get { return _position; } - set { _position = value; } - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/EditorContext.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/EditorContext.cs deleted file mode 100644 index ffea2fadc4..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/EditorContext.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; -using System.Drawing; -using Aga.Controls.Tree.NodeControls; - -namespace Aga.Controls.Tree -{ - public struct EditorContext - { - private TreeNodeAdv _currentNode; - public TreeNodeAdv CurrentNode - { - get { return _currentNode; } - set { _currentNode = value; } - } - - private Control _editor; - public Control Editor - { - get { return _editor; } - set { _editor = value; } - } - - private NodeControl _owner; - public NodeControl Owner - { - get { return _owner; } - set { _owner = value; } - } - - private Rectangle _bounds; - public Rectangle Bounds - { - get { return _bounds; } - set { _bounds = value; } - } - - private DrawContext _drawContext; - public DrawContext DrawContext - { - get { return _drawContext; } - set { _drawContext = value; } - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Enums.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Enums.cs deleted file mode 100644 index 3a83e9a7cf..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Enums.cs +++ /dev/null @@ -1,65 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Tree -{ - public enum DrawSelectionMode - { - None, Active, Inactive, FullRowSelect - } - - public enum TreeSelectionMode - { - Single, Multi, MultiSameParent - } - - public enum NodePosition - { - Inside, Before, After - } - - public enum VerticalAlignment - { - Top, Bottom, Center - } - - public enum IncrementalSearchMode - { - None, Standard, Continuous - } - - [Flags] - public enum GridLineStyle - { - None = 0, - Horizontal = 1, - Vertical = 2, - HorizontalAndVertical = 3 - } - - public enum ImageScaleMode - { - /// <summary> - /// Don't scale - /// </summary> - Clip, - /// <summary> - /// Scales image to fit the display rectangle, aspect ratio is not fixed. - /// </summary> - Fit, - /// <summary> - /// Scales image down if it is larger than display rectangle, taking aspect ratio into account - /// </summary> - ScaleDown, - /// <summary> - /// Scales image up if it is smaller than display rectangle, taking aspect ratio into account - /// </summary> - ScaleUp, - /// <summary> - /// Scales image to match the display rectangle, taking aspect ratio into account - /// </summary> - AlwaysScale, - - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/FixedRowHeightLayout.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/FixedRowHeightLayout.cs deleted file mode 100644 index 316b3dc7d5..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/FixedRowHeightLayout.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; - -namespace Aga.Controls.Tree -{ - internal class FixedRowHeightLayout : IRowLayout - { - private TreeViewAdv _treeView; - - public FixedRowHeightLayout(TreeViewAdv treeView, int rowHeight) - { - _treeView = treeView; - PreferredRowHeight = rowHeight; - } - - private int _rowHeight; - public int PreferredRowHeight - { - get { return _rowHeight; } - set { _rowHeight = value; } - } - - public Rectangle GetRowBounds(int rowNo) - { - return new Rectangle(0, rowNo * _rowHeight, 0, _rowHeight); - } - - public int PageRowCount - { - get - { - return Math.Max((_treeView.DisplayRectangle.Height - _treeView.ColumnHeaderHeight) / _rowHeight, 0); - } - } - - public int CurrentPageSize - { - get - { - return PageRowCount; - } - } - - public int GetRowAt(Point point) - { - point = new Point(point.X, point.Y + (_treeView.FirstVisibleRow * _rowHeight) - _treeView.ColumnHeaderHeight); - return point.Y / _rowHeight; - } - - public int GetFirstRow(int lastPageRow) - { - return Math.Max(0, lastPageRow - PageRowCount + 1); - } - - public void ClearCache() - { - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/IRowLayout.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/IRowLayout.cs deleted file mode 100644 index 9a9018f25e..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/IRowLayout.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; - -namespace Aga.Controls.Tree -{ - internal interface IRowLayout - { - int PreferredRowHeight - { - get; - set; - } - - int PageRowCount - { - get; - } - - int CurrentPageSize - { - get; - } - - Rectangle GetRowBounds(int rowNo); - - int GetRowAt(Point point); - - int GetFirstRow(int lastPageRow); - - void ClearCache(); - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/IToolTipProvider.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/IToolTipProvider.cs deleted file mode 100644 index 3f3e0869cb..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/IToolTipProvider.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Aga.Controls.Tree.NodeControls; - -namespace Aga.Controls.Tree -{ - public interface IToolTipProvider - { - string GetToolTip(TreeNodeAdv node, NodeControl nodeControl); - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/ITreeModel.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/ITreeModel.cs deleted file mode 100644 index 680d255544..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/ITreeModel.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Collections; - -namespace Aga.Controls.Tree -{ - public interface ITreeModel - { - IEnumerable GetChildren(TreePath treePath); - bool IsLeaf(TreePath treePath); - - event EventHandler<TreeModelEventArgs> NodesChanged; - event EventHandler<TreeModelEventArgs> NodesInserted; - event EventHandler<TreeModelEventArgs> NodesRemoved; - event EventHandler<TreePathEventArgs> StructureChanged; - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/IncrementalSearch.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/IncrementalSearch.cs deleted file mode 100644 index 1390562e11..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/IncrementalSearch.cs +++ /dev/null @@ -1,144 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Aga.Controls.Tree.NodeControls; -using System.ComponentModel; -using System.Drawing; -using System.Windows.Forms; - -namespace Aga.Controls.Tree -{ - internal class IncrementalSearch - { - private const int SearchTimeout = 300; //end of incremental search timeot in msec - - private TreeViewAdv _tree; - private TreeNodeAdv _currentNode; - private string _searchString = ""; - private DateTime _lastKeyPressed = DateTime.Now; - - public IncrementalSearch(TreeViewAdv tree) - { - _tree = tree; - } - - public void Search(Char value) - { - if (!Char.IsControl(value)) - { - Char ch = Char.ToLowerInvariant(value); - DateTime dt = DateTime.Now; - TimeSpan ts = dt - _lastKeyPressed; - _lastKeyPressed = dt; - if (ts.TotalMilliseconds < SearchTimeout) - { - if (_searchString == value.ToString()) - FirstCharSearch(ch); - else - ContinuousSearch(ch); - } - else - { - FirstCharSearch(ch); - } - } - } - - private void ContinuousSearch(Char value) - { - if (value == ' ' && String.IsNullOrEmpty(_searchString)) - return; //Ingnore leading space - - _searchString += value; - DoContinuousSearch(); - } - - private void FirstCharSearch(Char value) - { - if (value == ' ') - return; - - _searchString = value.ToString(); - TreeNodeAdv node = null; - if (_tree.SelectedNode != null) - node = _tree.SelectedNode.NextVisibleNode; - if (node == null) - node = _tree.Root.NextVisibleNode; - - if (node != null) - foreach (string label in IterateNodeLabels(node)) - { - if (label.StartsWith(_searchString)) - { - _tree.SelectedNode = _currentNode; - return; - } - } - } - - public virtual void EndSearch() - { - _currentNode = null; - _searchString = ""; - } - - protected IEnumerable<string> IterateNodeLabels(TreeNodeAdv start) - { - _currentNode = start; - while(_currentNode != null) - { - foreach (string label in GetNodeLabels(_currentNode)) - yield return label; - - _currentNode = _currentNode.NextVisibleNode; - if (_currentNode == null) - _currentNode = _tree.Root; - - if (start == _currentNode) - break; - } - } - - private IEnumerable<string> GetNodeLabels(TreeNodeAdv node) - { - foreach (NodeControl nc in _tree.NodeControls) - { - BindableControl bc = nc as BindableControl; - if (bc != null && bc.IncrementalSearchEnabled) - { - object obj = bc.GetValue(node); - if (obj != null) - yield return obj.ToString().ToLowerInvariant(); - } - } - } - - private bool DoContinuousSearch() - { - bool found = false; - if (!String.IsNullOrEmpty(_searchString)) - { - TreeNodeAdv node = null; - if (_tree.SelectedNode != null) - node = _tree.SelectedNode; - if (node == null) - node = _tree.Root.NextVisibleNode; - - if (!String.IsNullOrEmpty(_searchString)) - { - foreach (string label in IterateNodeLabels(node)) - { - if (label.StartsWith(_searchString)) - { - found = true; - _tree.SelectedNode = _currentNode; - break; - } - } - } - } - return found; - } - - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ClickColumnState.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ClickColumnState.cs deleted file mode 100644 index 12146c91cb..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ClickColumnState.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; -using System.Drawing; - -namespace Aga.Controls.Tree -{ - internal class ClickColumnState : ColumnState - { - private Point _location; - - public ClickColumnState(TreeViewAdv tree, TreeColumn column, Point location) - : base(tree, column) - { - _location = location; - } - - public override void KeyDown(KeyEventArgs args) - { - } - - public override void MouseDown(TreeNodeAdvMouseEventArgs args) - { - } - - public override bool MouseMove(MouseEventArgs args) - { - if (TreeViewAdv.Dist(_location, args.Location) > TreeViewAdv.ItemDragSensivity - && Tree.AllowColumnReorder) - { - Tree.Input = new ReorderColumnState(Tree, Column, args.Location); - Tree.UpdateView(); - } - return true; - } - - public override void MouseUp(TreeNodeAdvMouseEventArgs args) - { - Tree.ChangeInput(); - Tree.UpdateView(); - Tree.OnColumnClicked(Column); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ColumnState.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ColumnState.cs deleted file mode 100644 index 2b8fc7d554..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ColumnState.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Tree -{ - internal abstract class ColumnState : InputState - { - private TreeColumn _column; - public TreeColumn Column - { - get { return _column; } - } - - public ColumnState(TreeViewAdv tree, TreeColumn column) - : base(tree) - { - _column = column; - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/InputState.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/InputState.cs deleted file mode 100644 index 0f248eb3d2..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/InputState.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using System.Windows.Forms; -namespace Aga.Controls.Tree -{ - internal abstract class InputState - { - private TreeViewAdv _tree; - - public TreeViewAdv Tree - { - get { return _tree; } - } - - public InputState(TreeViewAdv tree) - { - _tree = tree; - } - - public abstract void KeyDown(System.Windows.Forms.KeyEventArgs args); - public abstract void MouseDown(TreeNodeAdvMouseEventArgs args); - public abstract void MouseUp(TreeNodeAdvMouseEventArgs args); - - /// <summary> - /// handle OnMouseMove event - /// </summary> - /// <param name="args"></param> - /// <returns>true if event was handled and should be dispatched</returns> - public virtual bool MouseMove(MouseEventArgs args) - { - return false; - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/InputWithControl.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/InputWithControl.cs deleted file mode 100644 index 6559b67d03..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/InputWithControl.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Tree -{ - internal class InputWithControl: NormalInputState - { - public InputWithControl(TreeViewAdv tree): base(tree) - { - } - - protected override void DoMouseOperation(TreeNodeAdvMouseEventArgs args) - { - if (Tree.SelectionMode == TreeSelectionMode.Single) - { - base.DoMouseOperation(args); - } - else if (CanSelect(args.Node)) - { - args.Node.IsSelected = !args.Node.IsSelected; - Tree.SelectionStart = args.Node; - } - } - - protected override void MouseDownAtEmptySpace(TreeNodeAdvMouseEventArgs args) - { - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/InputWithShift.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/InputWithShift.cs deleted file mode 100644 index 777fc7afd8..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/InputWithShift.cs +++ /dev/null @@ -1,69 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Tree -{ - internal class InputWithShift: NormalInputState - { - public InputWithShift(TreeViewAdv tree): base(tree) - { - } - - protected override void FocusRow(TreeNodeAdv node) - { - Tree.SuspendSelectionEvent = true; - try - { - if (Tree.SelectionMode == TreeSelectionMode.Single || Tree.SelectionStart == null) - base.FocusRow(node); - else if (CanSelect(node)) - { - SelectAllFromStart(node); - Tree.CurrentNode = node; - Tree.ScrollTo(node); - } - } - finally - { - Tree.SuspendSelectionEvent = false; - } - } - - protected override void DoMouseOperation(TreeNodeAdvMouseEventArgs args) - { - if (Tree.SelectionMode == TreeSelectionMode.Single || Tree.SelectionStart == null) - { - base.DoMouseOperation(args); - } - else if (CanSelect(args.Node)) - { - Tree.SuspendSelectionEvent = true; - try - { - SelectAllFromStart(args.Node); - } - finally - { - Tree.SuspendSelectionEvent = false; - } - } - } - - protected override void MouseDownAtEmptySpace(TreeNodeAdvMouseEventArgs args) - { - } - - private void SelectAllFromStart(TreeNodeAdv node) - { - Tree.ClearSelectionInternal(); - int a = node.Row; - int b = Tree.SelectionStart.Row; - for (int i = Math.Min(a, b); i <= Math.Max(a, b); i++) - { - if (Tree.SelectionMode == TreeSelectionMode.Multi || Tree.RowMap[i].Parent == node.Parent) - Tree.RowMap[i].IsSelected = true; - } - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/NormalInputState.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/NormalInputState.cs deleted file mode 100644 index b946c062bd..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/NormalInputState.cs +++ /dev/null @@ -1,202 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; - -namespace Aga.Controls.Tree -{ - internal class NormalInputState : InputState - { - private bool _mouseDownFlag = false; - - public NormalInputState(TreeViewAdv tree) : base(tree) - { - } - - public override void KeyDown(KeyEventArgs args) - { - if (Tree.CurrentNode == null && Tree.Root.Nodes.Count > 0) - Tree.CurrentNode = Tree.Root.Nodes[0]; - - if (Tree.CurrentNode != null) - { - switch (args.KeyCode) - { - case Keys.Right: - if (!Tree.CurrentNode.IsExpanded) - Tree.CurrentNode.IsExpanded = true; - else if (Tree.CurrentNode.Nodes.Count > 0) - Tree.SelectedNode = Tree.CurrentNode.Nodes[0]; - args.Handled = true; - break; - case Keys.Left: - if (Tree.CurrentNode.IsExpanded) - Tree.CurrentNode.IsExpanded = false; - else if (Tree.CurrentNode.Parent != Tree.Root) - Tree.SelectedNode = Tree.CurrentNode.Parent; - args.Handled = true; - break; - case Keys.Down: - NavigateForward(1); - args.Handled = true; - break; - case Keys.Up: - NavigateBackward(1); - args.Handled = true; - break; - case Keys.PageDown: - NavigateForward(Math.Max(1, Tree.CurrentPageSize - 1)); - args.Handled = true; - break; - case Keys.PageUp: - NavigateBackward(Math.Max(1, Tree.CurrentPageSize - 1)); - args.Handled = true; - break; - case Keys.Home: - if (Tree.RowMap.Count > 0) - FocusRow(Tree.RowMap[0]); - args.Handled = true; - break; - case Keys.End: - if (Tree.RowMap.Count > 0) - FocusRow(Tree.RowMap[Tree.RowMap.Count-1]); - args.Handled = true; - break; - case Keys.Subtract: - Tree.CurrentNode.Collapse(); - args.Handled = true; - args.SuppressKeyPress = true; - break; - case Keys.Add: - Tree.CurrentNode.Expand(); - args.Handled = true; - args.SuppressKeyPress = true; - break; - case Keys.Multiply: - Tree.CurrentNode.ExpandAll(); - args.Handled = true; - args.SuppressKeyPress = true; - break; - case Keys.A: - if (args.Modifiers == Keys.Control) - Tree.SelectAllNodes(); - break; - } - } - } - - public override void MouseDown(TreeNodeAdvMouseEventArgs args) - { - if (args.Node != null) - { - Tree.ItemDragMode = true; - Tree.ItemDragStart = args.Location; - - if (args.Button == MouseButtons.Left || args.Button == MouseButtons.Right) - { - Tree.BeginUpdate(); - try - { - Tree.CurrentNode = args.Node; - if (args.Node.IsSelected) - _mouseDownFlag = true; - else - { - _mouseDownFlag = false; - DoMouseOperation(args); - } - } - finally - { - Tree.EndUpdate(); - } - } - - } - else - { - Tree.ItemDragMode = false; - MouseDownAtEmptySpace(args); - } - } - - public override void MouseUp(TreeNodeAdvMouseEventArgs args) - { - Tree.ItemDragMode = false; - if (_mouseDownFlag) - { - if (args.Button == MouseButtons.Left) - DoMouseOperation(args); - else if (args.Button == MouseButtons.Right) - Tree.CurrentNode = args.Node; - } - _mouseDownFlag = false; - } - - - private void NavigateBackward(int n) - { - int row = Math.Max(Tree.CurrentNode.Row - n, 0); - if (row != Tree.CurrentNode.Row) - FocusRow(Tree.RowMap[row]); - } - - private void NavigateForward(int n) - { - int row = Math.Min(Tree.CurrentNode.Row + n, Tree.RowCount - 1); - if (row != Tree.CurrentNode.Row) - FocusRow(Tree.RowMap[row]); - } - - protected virtual void MouseDownAtEmptySpace(TreeNodeAdvMouseEventArgs args) - { - Tree.ClearSelection(); - } - - protected virtual void FocusRow(TreeNodeAdv node) - { - Tree.SuspendSelectionEvent = true; - try - { - Tree.ClearSelectionInternal(); - Tree.CurrentNode = node; - Tree.SelectionStart = node; - node.IsSelected = true; - Tree.ScrollTo(node); - } - finally - { - Tree.SuspendSelectionEvent = false; - } - } - - protected bool CanSelect(TreeNodeAdv node) - { - if (Tree.SelectionMode == TreeSelectionMode.MultiSameParent) - { - return (Tree.SelectionStart == null || node.Parent == Tree.SelectionStart.Parent); - } - else - return true; - } - - protected virtual void DoMouseOperation(TreeNodeAdvMouseEventArgs args) - { - if (Tree.SelectedNodes.Count == 1 && args.Node != null && args.Node.IsSelected) - return; - - Tree.SuspendSelectionEvent = true; - try - { - Tree.ClearSelectionInternal(); - if (args.Node != null) - args.Node.IsSelected = true; - Tree.SelectionStart = args.Node; - } - finally - { - Tree.SuspendSelectionEvent = false; - } - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ReorderColumnState.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ReorderColumnState.cs deleted file mode 100644 index 181cca51b3..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ReorderColumnState.cs +++ /dev/null @@ -1,101 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using System.Windows.Forms; - -namespace Aga.Controls.Tree -{ - internal class ReorderColumnState : ColumnState - { - #region Properties - - private Point _location; - public Point Location - { - get { return _location; } - } - - private Bitmap _ghostImage; - public Bitmap GhostImage - { - get { return _ghostImage; } - } - - private TreeColumn _dropColumn; - public TreeColumn DropColumn - { - get { return _dropColumn; } - } - - private int _dragOffset; - public int DragOffset - { - get { return _dragOffset; } - } - - #endregion - - public ReorderColumnState(TreeViewAdv tree, TreeColumn column, Point initialMouseLocation) - : base(tree, column) - { - _location = new Point(initialMouseLocation.X + Tree.OffsetX, 0); - _dragOffset = tree.GetColumnX(column) - initialMouseLocation.X; - _ghostImage = column.CreateGhostImage(new Rectangle(0, 0, column.Width, tree.ColumnHeaderHeight), tree.Font); - } - - public override void KeyDown(KeyEventArgs args) - { - args.Handled = true; - if (args.KeyCode == Keys.Escape) - FinishResize(); - } - - public override void MouseDown(TreeNodeAdvMouseEventArgs args) - { - } - - public override void MouseUp(TreeNodeAdvMouseEventArgs args) - { - FinishResize(); - } - - public override bool MouseMove(MouseEventArgs args) - { - _dropColumn = null; - _location = new Point(args.X + Tree.OffsetX, 0); - int x = 0; - foreach (TreeColumn c in Tree.Columns) - { - if (c.IsVisible) - { - if (_location.X < x + c.Width / 2) - { - _dropColumn = c; - break; - } - x += c.Width; - } - } - Tree.UpdateHeaders(); - return true; - } - - private void FinishResize() - { - Tree.ChangeInput(); - if (Column == DropColumn) - Tree.UpdateView(); - else - { - Tree.Columns.Remove(Column); - if (DropColumn == null) - Tree.Columns.Add(Column); - else - Tree.Columns.Insert(Tree.Columns.IndexOf(DropColumn), Column); - - Tree.OnColumnReordered(Column); - } - } - } -} \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ResizeColumnState.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ResizeColumnState.cs deleted file mode 100644 index 134cb73c0e..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Input/ResizeColumnState.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; -using System.Security.Permissions; -using System.Drawing; - -namespace Aga.Controls.Tree -{ - internal class ResizeColumnState: ColumnState - { - private Point _initLocation; - private int _initWidth; - - public ResizeColumnState(TreeViewAdv tree, TreeColumn column, Point p) - : base(tree, column) - { - _initLocation = p; - _initWidth = column.Width; - } - - public override void KeyDown(KeyEventArgs args) - { - args.Handled = true; - if (args.KeyCode == Keys.Escape) - FinishResize(); - } - - public override void MouseDown(TreeNodeAdvMouseEventArgs args) - { - } - - public override void MouseUp(TreeNodeAdvMouseEventArgs args) - { - FinishResize(); - } - - private void FinishResize() - { - Tree.ChangeInput(); - Tree.FullUpdate(); - Tree.OnColumnWidthChanged(Column); - } - - public override bool MouseMove(MouseEventArgs args) - { - Column.Width = _initWidth + args.Location.X - _initLocation.X; - Tree.UpdateView(); - return true; - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NativeMethods.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NativeMethods.cs deleted file mode 100644 index 81e2635309..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NativeMethods.cs +++ /dev/null @@ -1,74 +0,0 @@ -using System; -using System.Drawing; -using System.Runtime.InteropServices; - - -namespace Aga.Controls.Tree -{ - internal static class NativeMethods - { - public const int DCX_WINDOW = 0x01; - public const int DCX_CACHE = 0x02; - public const int DCX_NORESETATTRS = 0x04; - public const int DCX_CLIPCHILDREN = 0x08; - public const int DCX_CLIPSIBLINGS = 0x10; - public const int DCX_PARENTCLIP = 0x20; - public const int DCX_EXCLUDERGN = 0x40; - public const int DCX_INTERSECTRGN = 0x80; - public const int DCX_EXCLUDEUPDATE = 0x100; - public const int DCX_INTERSECTUPDATE = 0x200; - public const int DCX_LOCKWINDOWUPDATE = 0x400; - public const int DCX_VALIDATE = 0x200000; - - public const int WM_THEMECHANGED = 0x031A; - public const int WM_NCPAINT = 0x85; - public const int WM_NCCALCSIZE = 0x83; - - public const int WS_BORDER = 0x800000; - public const int WS_EX_CLIENTEDGE = 0x200; - - public const int WVR_HREDRAW = 0x100; - public const int WVR_VREDRAW = 0x200; - public const int WVR_REDRAW = (WVR_HREDRAW | WVR_VREDRAW); - - [StructLayout(LayoutKind.Sequential)] - public struct NCCALCSIZE_PARAMS - { - public RECT rgrc0, rgrc1, rgrc2; - public IntPtr lppos; - } - - [StructLayout(LayoutKind.Sequential)] - public struct RECT - { - public int Left; - public int Top; - public int Right; - public int Bottom; - - public static RECT FromRectangle(Rectangle rectangle) - { - RECT result = new RECT(); - result.Left = rectangle.Left; - result.Top = rectangle.Top; - result.Right = rectangle.Right; - result.Bottom = rectangle.Bottom; - return result; - } - - public Rectangle ToRectangle() - { - return new Rectangle(Left, Top, Right - Left, Bottom - Top); - } - } - - [DllImport("user32.dll", SetLastError = true)] - public static extern IntPtr GetDCEx(IntPtr hWnd, IntPtr hrgnClip, int flags); - - [DllImport("user32.dll")] - public static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC); - - [DllImport("user32.dll")] - public static extern bool GetWindowRect(IntPtr hWnd, out RECT lpRect); - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Node.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Node.cs deleted file mode 100644 index 733c089d37..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/Node.cs +++ /dev/null @@ -1,257 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Collections.ObjectModel; -using System.Windows.Forms; -using System.Drawing; - -namespace Aga.Controls.Tree -{ - public class Node - { - #region NodeCollection - - private class NodeCollection : Collection<Node> - { - private Node _owner; - - public NodeCollection(Node owner) - { - _owner = owner; - } - - protected override void ClearItems() - { - while (this.Count != 0) - this.RemoveAt(this.Count - 1); - } - - protected override void InsertItem(int index, Node item) - { - if (item == null) - throw new ArgumentNullException("item"); - - if (item.Parent != _owner) - { - if (item.Parent != null) - item.Parent.Nodes.Remove(item); - item._parent = _owner; - item._index = index; - for (int i = index; i < Count; i++) - this[i]._index++; - base.InsertItem(index, item); - - TreeModel model = _owner.FindModel(); - if (model != null) - model.OnNodeInserted(_owner, index, item); - } - } - - protected override void RemoveItem(int index) - { - Node item = this[index]; - item._parent = null; - item._index = -1; - for (int i = index + 1; i < Count; i++) - this[i]._index--; - base.RemoveItem(index); - - TreeModel model = _owner.FindModel(); - if (model != null) - model.OnNodeRemoved(_owner, index, item); - } - - protected override void SetItem(int index, Node item) - { - if (item == null) - throw new ArgumentNullException("item"); - - RemoveAt(index); - InsertItem(index, item); - } - } - - #endregion - - #region Properties - - private TreeModel _model; - internal TreeModel Model - { - get { return _model; } - set { _model = value; } - } - - private NodeCollection _nodes; - public Collection<Node> Nodes - { - get { return _nodes; } - } - - private Node _parent; - public Node Parent - { - get { return _parent; } - set - { - if (value != _parent) - { - if (_parent != null) - _parent.Nodes.Remove(this); - - if (value != null) - value.Nodes.Add(this); - } - } - } - - private int _index = -1; - public int Index - { - get - { - return _index; - } - } - - public Node PreviousNode - { - get - { - int index = Index; - if (index > 0) - return _parent.Nodes[index - 1]; - else - return null; - } - } - - public Node NextNode - { - get - { - int index = Index; - if (index >= 0 && index < _parent.Nodes.Count - 1) - return _parent.Nodes[index + 1]; - else - return null; - } - } - - private string _text; - public virtual string Text - { - get { return _text; } - set - { - if (_text != value) - { - _text = value; - NotifyModel(); - } - } - } - - private CheckState _checkState; - public virtual CheckState CheckState - { - get { return _checkState; } - set - { - if (_checkState != value) - { - _checkState = value; - NotifyModel(); - } - } - } - - private Image _image; - public Image Image - { - get { return _image; } - set - { - if (_image != value) - { - _image = value; - NotifyModel(); - } - } - } - - private object _tag; - public object Tag - { - get { return _tag; } - set { _tag = value; } - } - - public bool IsChecked - { - get - { - return CheckState != CheckState.Unchecked; - } - set - { - if (value) - CheckState = CheckState.Checked; - else - CheckState = CheckState.Unchecked; - } - } - - public virtual bool IsLeaf - { - get - { - return false; - } - } - - #endregion - - public Node() - : this(string.Empty) - { - } - - public Node(string text) - { - _text = text; - _nodes = new NodeCollection(this); - } - - public override string ToString() - { - return Text; - } - - private TreeModel FindModel() - { - Node node = this; - while (node != null) - { - if (node.Model != null) - return node.Model; - node = node.Parent; - } - return null; - } - - protected void NotifyModel() - { - TreeModel model = FindModel(); - if (model != null && Parent != null) - { - TreePath path = model.GetPath(Parent); - if (path != null) - { - TreeModelEventArgs args = new TreeModelEventArgs(path, new int[] { Index }, new object[] { this }); - model.OnNodesChanged(args); - } - } - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControlInfo.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControlInfo.cs deleted file mode 100644 index c884a26c9b..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControlInfo.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Aga.Controls.Tree.NodeControls; -using System.Drawing; - -namespace Aga.Controls.Tree -{ - public struct NodeControlInfo - { - public static readonly NodeControlInfo Empty = new NodeControlInfo(null, Rectangle.Empty, null); - - private NodeControl _control; - public NodeControl Control - { - get { return _control; } - } - - private Rectangle _bounds; - public Rectangle Bounds - { - get { return _bounds; } - } - - private TreeNodeAdv _node; - public TreeNodeAdv Node - { - get { return _node; } - } - - public NodeControlInfo(NodeControl control, Rectangle bounds, TreeNodeAdv node) - { - _control = control; - _bounds = bounds; - _node = node; - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/BaseTextControl.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/BaseTextControl.cs deleted file mode 100644 index be75088eb4..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/BaseTextControl.cs +++ /dev/null @@ -1,288 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using System.Windows.Forms; -using System.Reflection; -using System.ComponentModel; - -namespace Aga.Controls.Tree.NodeControls -{ - public abstract class BaseTextControl : EditableControl - { - private TextFormatFlags _baseFormatFlags; - private TextFormatFlags _formatFlags; - private Pen _focusPen; - private StringFormat _format; - - #region Properties - - private Font _font = null; - public Font Font - { - get - { - if (_font == null) - return Control.DefaultFont; - else - return _font; - } - set - { - if (value == Control.DefaultFont) - _font = null; - else - _font = value; - } - } - - protected bool ShouldSerializeFont() - { - return (_font != null); - } - - private HorizontalAlignment _textAlign = HorizontalAlignment.Left; - [DefaultValue(HorizontalAlignment.Left)] - public HorizontalAlignment TextAlign - { - get { return _textAlign; } - set - { - _textAlign = value; - SetFormatFlags(); - } - } - - private StringTrimming _trimming = StringTrimming.None; - [DefaultValue(StringTrimming.None)] - public StringTrimming Trimming - { - get { return _trimming; } - set - { - _trimming = value; - SetFormatFlags(); - } - } - - private bool _displayHiddenContentInToolTip = true; - [DefaultValue(true)] - public bool DisplayHiddenContentInToolTip - { - get { return _displayHiddenContentInToolTip; } - set { _displayHiddenContentInToolTip = value; } - } - - private bool _useCompatibleTextRendering = false; - [DefaultValue(false)] - public bool UseCompatibleTextRendering - { - get { return _useCompatibleTextRendering; } - set { _useCompatibleTextRendering = value; } - } - - #endregion - - protected BaseTextControl() - { - IncrementalSearchEnabled = true; - _focusPen = new Pen(Color.Black); - _focusPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot; - - _format = new StringFormat(StringFormatFlags.NoClip | StringFormatFlags.FitBlackBox | StringFormatFlags.MeasureTrailingSpaces); - _baseFormatFlags = TextFormatFlags.PreserveGraphicsClipping | TextFormatFlags.NoPrefix | - TextFormatFlags.PreserveGraphicsTranslateTransform; - SetFormatFlags(); - LeftMargin = 3; - } - - private void SetFormatFlags() - { - _format.Alignment = TextHelper.TranslateAligment(TextAlign); - _format.Trimming = Trimming; - - _formatFlags = _baseFormatFlags | TextHelper.TranslateAligmentToFlag(TextAlign) - | TextHelper.TranslateTrimmingToFlag(Trimming); - } - - public override Size MeasureSize(TreeNodeAdv node, DrawContext context) - { - return GetLabelSize(node, context); - } - - protected Size GetLabelSize(TreeNodeAdv node, DrawContext context) - { - return GetLabelSize(node, context, GetLabel(node)); - } - - protected Size GetLabelSize(TreeNodeAdv node, DrawContext context, string label) - { - PerformanceAnalyzer.Start("GetLabelSize"); - CheckThread(); - Font font = GetDrawingFont(node, context, label); - Size s = Size.Empty; - if (UseCompatibleTextRendering) - s = TextRenderer.MeasureText(label, font); - else - { - SizeF sf = context.Graphics.MeasureString(label, font); - s = Size.Ceiling(sf); - } - PerformanceAnalyzer.Finish("GetLabelSize"); - - if (!s.IsEmpty) - return s; - else - return new Size(10, Font.Height); - } - - protected Font GetDrawingFont(TreeNodeAdv node, DrawContext context, string label) - { - Font font = context.Font; - if (DrawText != null) - { - DrawEventArgs args = new DrawEventArgs(node, context, label); - args.Font = context.Font; - OnDrawText(args); - font = args.Font; - } - return font; - } - - protected void SetEditControlProperties(Control control, TreeNodeAdv node) - { - string label = GetLabel(node); - DrawContext context = new DrawContext(); - context.Font = control.Font; - control.Font = GetDrawingFont(node, context, label); - } - - public override void Draw(TreeNodeAdv node, DrawContext context) - { - if (context.CurrentEditorOwner == this && node == Parent.CurrentNode) - return; - - PerformanceAnalyzer.Start("BaseTextControl.Draw"); - string label = GetLabel(node); - Rectangle bounds = GetBounds(node, context); - Rectangle focusRect = new Rectangle(bounds.X, context.Bounds.Y, - bounds.Width, context.Bounds.Height); - - Brush backgroundBrush; - Color textColor; - Font font; - CreateBrushes(node, context, label, out backgroundBrush, out textColor, out font, ref label); - - if (backgroundBrush != null) - context.Graphics.FillRectangle(backgroundBrush, focusRect); - if (context.DrawFocus) - { - focusRect.Width--; - focusRect.Height--; - if (context.DrawSelection == DrawSelectionMode.None) - _focusPen.Color = SystemColors.ControlText; - else - _focusPen.Color = SystemColors.InactiveCaption; - context.Graphics.DrawRectangle(_focusPen, focusRect); - } - - PerformanceAnalyzer.Start("BaseTextControl.DrawText"); - if (UseCompatibleTextRendering) - TextRenderer.DrawText(context.Graphics, label, font, bounds, textColor, _formatFlags); - else - context.Graphics.DrawString(label, font, GetFrush(textColor), bounds, _format); - PerformanceAnalyzer.Finish("BaseTextControl.DrawText"); - - PerformanceAnalyzer.Finish("BaseTextControl.Draw"); - } - - private static Dictionary<Color, Brush> _brushes = new Dictionary<Color,Brush>(); - private static Brush GetFrush(Color color) - { - Brush br; - if (_brushes.ContainsKey(color)) - br = _brushes[color]; - else - { - br = new SolidBrush(color); - _brushes.Add(color, br); - } - return br; - } - - private void CreateBrushes(TreeNodeAdv node, DrawContext context, string text, out Brush backgroundBrush, out Color textColor, out Font font, ref string label) - { - textColor = SystemColors.ControlText; - backgroundBrush = null; - font = context.Font; - if (context.DrawSelection == DrawSelectionMode.Active) - { - textColor = SystemColors.HighlightText; - backgroundBrush = SystemBrushes.Highlight; - } - else if (context.DrawSelection == DrawSelectionMode.Inactive) - { - textColor = SystemColors.ControlText; - backgroundBrush = SystemBrushes.InactiveBorder; - } - else if (context.DrawSelection == DrawSelectionMode.FullRowSelect) - textColor = SystemColors.HighlightText; - - if (!context.Enabled) - textColor = SystemColors.GrayText; - - DrawEventArgs args = new DrawEventArgs(node, context, text); - args.TextColor = textColor; - args.BackgroundBrush = backgroundBrush; - args.Font = font; - - OnDrawText(args); - - textColor = args.TextColor; - backgroundBrush = args.BackgroundBrush; - font = args.Font; - label = args.Text; - } - - public string GetLabel(TreeNodeAdv node) - { - if (node != null && node.Tag != null) - { - object obj = GetValue(node); - if (obj != null) - return FormatLabel(obj); - } - return string.Empty; - } - - protected virtual string FormatLabel(object obj) - { - return obj.ToString(); - } - - public void SetLabel(TreeNodeAdv node, string value) - { - SetValue(node, value); - } - - protected override void Dispose(bool disposing) - { - base.Dispose(disposing); - if (disposing) - { - _focusPen.Dispose(); - _format.Dispose(); - } - } - - /// <summary> - /// Fires when control is going to draw a text. Can be used to change text or back color - /// </summary> - public event EventHandler<DrawEventArgs> DrawText; - protected virtual void OnDrawText(DrawEventArgs args) - { - if (DrawText != null) - DrawText(this, args); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/BindableControl.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/BindableControl.cs deleted file mode 100644 index 673d8fc51d..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/BindableControl.cs +++ /dev/null @@ -1,194 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Reflection; -using System.ComponentModel; - -namespace Aga.Controls.Tree.NodeControls -{ - public abstract class BindableControl : NodeControl - { - private struct MemberAdapter - { - private object _obj; - private PropertyInfo _pi; - private FieldInfo _fi; - - public static readonly MemberAdapter Empty = new MemberAdapter(); - - public Type MemberType - { - get - { - if (_pi != null) - return _pi.PropertyType; - else if (_fi != null) - return _fi.FieldType; - else - return null; - } - } - - public object Value - { - get - { - if (_pi != null && _pi.CanRead) - return _pi.GetValue(_obj, null); - else if (_fi != null) - return _fi.GetValue(_obj); - else - return null; - } - set - { - if (_pi != null && _pi.CanWrite) - _pi.SetValue(_obj, value, null); - else if (_fi != null) - _fi.SetValue(_obj, value); - } - } - - public MemberAdapter(object obj, PropertyInfo pi) - { - _obj = obj; - _pi = pi; - _fi = null; - } - - public MemberAdapter(object obj, FieldInfo fi) - { - _obj = obj; - _fi = fi; - _pi = null; - } - } - - #region Properties - - private bool _virtualMode = false; - [DefaultValue(false), Category("Data")] - public bool VirtualMode - { - get { return _virtualMode; } - set { _virtualMode = value; } - } - - private string _propertyName = ""; - [DefaultValue(""), Category("Data")] - public string DataPropertyName - { - get { return _propertyName; } - set - { - if (_propertyName == null) - _propertyName = string.Empty; - _propertyName = value; - } - } - - private bool _incrementalSearchEnabled = false; - [DefaultValue(false)] - public bool IncrementalSearchEnabled - { - get { return _incrementalSearchEnabled; } - set { _incrementalSearchEnabled = value; } - } - - #endregion - - public virtual object GetValue(TreeNodeAdv node) - { - if (VirtualMode) - { - NodeControlValueEventArgs args = new NodeControlValueEventArgs(node); - OnValueNeeded(args); - return args.Value; - } - else - { - try - { - return GetMemberAdapter(node).Value; - } - catch (TargetInvocationException ex) - { - if (ex.InnerException != null) - throw new ArgumentException(ex.InnerException.Message, ex.InnerException); - else - throw new ArgumentException(ex.Message); - } - } - } - - public virtual void SetValue(TreeNodeAdv node, object value) - { - if (VirtualMode) - { - NodeControlValueEventArgs args = new NodeControlValueEventArgs(node); - args.Value = value; - OnValuePushed(args); - } - else - { - try - { - MemberAdapter ma = GetMemberAdapter(node); - ma.Value = value; - } - catch (TargetInvocationException ex) - { - if (ex.InnerException != null) - throw new ArgumentException(ex.InnerException.Message, ex.InnerException); - else - throw new ArgumentException(ex.Message); - } - } - } - - public Type GetPropertyType(TreeNodeAdv node) - { - return GetMemberAdapter(node).MemberType; - } - - private MemberAdapter GetMemberAdapter(TreeNodeAdv node) - { - if (node.Tag != null && !string.IsNullOrEmpty(DataPropertyName)) - { - Type type = node.Tag.GetType(); - PropertyInfo pi = type.GetProperty(DataPropertyName); - if (pi != null) - return new MemberAdapter(node.Tag, pi); - else - { - FieldInfo fi = type.GetField(DataPropertyName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); - if (fi != null) - return new MemberAdapter(node.Tag, fi); - } - } - return MemberAdapter.Empty; - } - - public override string ToString() - { - if (string.IsNullOrEmpty(DataPropertyName)) - return GetType().Name; - else - return string.Format("{0} ({1})", GetType().Name, DataPropertyName); - } - - public event EventHandler<NodeControlValueEventArgs> ValueNeeded; - private void OnValueNeeded(NodeControlValueEventArgs args) - { - if (ValueNeeded != null) - ValueNeeded(this, args); - } - - public event EventHandler<NodeControlValueEventArgs> ValuePushed; - private void OnValuePushed(NodeControlValueEventArgs args) - { - if (ValuePushed != null) - ValuePushed(this, args); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/ClassDiagram.cd b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/ClassDiagram.cd deleted file mode 100644 index 437ad6dbb1..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/ClassDiagram.cd +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ClassDiagram MajorVersion="1" MinorVersion="1"> - <Font Name="Microsoft Sans Serif" Size="8.25" /> - <Class Name="Aga.Controls.Tree.NodeControls.NodeStateIcon" Collapsed="true"> - <Position X="0.5" Y="4" Width="1.5" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\NodeStateIcon.cs</FileName> - <HashCode>ABAAAAAAAAQAQAAAAAAAAAAAAAAAAAAAQIAAAAAAAAA=</HashCode> - </TypeIdentifier> - </Class> - <Class Name="Aga.Controls.Tree.NodeControls.BindableControl" Collapsed="true"> - <Position X="2.75" Y="1.5" Width="1.5" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\BindableControl.cs</FileName> - <HashCode>FAAAAAAQIBAQCgAEAAAAIAAAAAAAAAEMAAACAAAAAAE=</HashCode> - </TypeIdentifier> - </Class> - <Class Name="Aga.Controls.Tree.NodeControls.NodeCheckBox" Collapsed="true"> - <Position X="5" Y="4" Width="1.5" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\NodeCheckBox.cs</FileName> - <HashCode>AAEAAAAAAAACgkQCAAAAAAigAgAAEGABAAAIAAAAAAA=</HashCode> - </TypeIdentifier> - </Class> - <Class Name="Aga.Controls.Tree.NodeControls.NodeControl" Collapsed="true"> - <Position X="1.5" Y="0.5" Width="1.5" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\NodeControl.cs</FileName> - <HashCode>AAAAAJAAgIgBkkoQAAgAQAAwAAABEIQAAEBIAAAAAAA=</HashCode> - </TypeIdentifier> - <Compartments> - <Compartment Name="Fields" Collapsed="true" /> - </Compartments> - </Class> - <Class Name="Aga.Controls.Tree.NodeControls.NodeIcon" Collapsed="true"> - <Position X="0.5" Y="2.75" Width="1.5" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\NodeIcon.cs</FileName> - <HashCode>ABAAAAAAAAAAAgAAAAAAAAAgAAAAAAAAAAAAAAAAAAA=</HashCode> - </TypeIdentifier> - </Class> - <Class Name="Aga.Controls.Tree.NodeControls.NodePlusMinus" Collapsed="true"> - <Position X="0.5" Y="1.5" Width="1.5" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\NodePlusMinus.cs</FileName> - <HashCode>AAAAAAAAAAAAAgAAAAAAAEAgAAAAMCAAAAAIACAAAAA=</HashCode> - </TypeIdentifier> - </Class> - <Class Name="Aga.Controls.Tree.NodeControls.BaseTextControl" Collapsed="true"> - <Position X="3" Y="5" Width="1.5" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\BaseTextControl.cs</FileName> - <HashCode>AAAAICBQACAAIgACBCAEAQA8AgmFoAAwAAAAACACAMA=</HashCode> - </TypeIdentifier> - </Class> - <Class Name="Aga.Controls.Tree.NodeControls.NodeTextBox" Collapsed="true"> - <Position X="1" Y="6" Width="1.5" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\NodeTextBox.cs</FileName> - <HashCode>QQQAhAAAADAMgAAAABAAAAAAAgEAIAAAAAAAAIAAAAA=</HashCode> - </TypeIdentifier> - </Class> - <Class Name="Aga.Controls.Tree.NodeControls.EditableControl" Collapsed="true"> - <Position X="3" Y="4" Width="1.5" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\EditableControl.cs</FileName> - <HashCode>QQAgAAAACGgkAMAABAEEkADAEAAUEAAABAGoAAAAAQA=</HashCode> - </TypeIdentifier> - </Class> - <Class Name="Aga.Controls.Tree.NodeControls.NodeComboBox" Collapsed="true"> - <Position X="3" Y="6" Width="1.5" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\NodeComboBox.cs</FileName> - <HashCode>wQACAAAAAAAMAEBAAAAAAABAAAAAAAABAAAAAAAAAAA=</HashCode> - </TypeIdentifier> - </Class> - <Class Name="Aga.Controls.Tree.NodeControls.NodeNumericUpDown" Collapsed="true"> - <Position X="5" Y="6" Width="1.75" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\NodeNumericUpDown.cs</FileName> - <HashCode>wQAAAACAAAAEAABAIAAQIAAAAAAAAAABAAAIAAAAAII=</HashCode> - </TypeIdentifier> - </Class> - <Class Name="Aga.Controls.Tree.NodeControls.InteractiveControl" Collapsed="true"> - <Position X="4" Y="2.75" Width="1.5" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\InteractiveControl.cs</FileName> - <HashCode>AAAABAAAAAAAAAAACAAAAAAAABAAAQAAAAAAAAIAAAA=</HashCode> - </TypeIdentifier> - </Class> - <Class Name="Aga.Controls.Tree.NodeControls.NodeDecimalTextBox" Collapsed="true"> - <Position X="2.5" Y="7" Width="1.75" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\NodeDecimalTextBox.cs</FileName> - <HashCode>AQAAAAAAAACAAAACAAAAAAQAAAAAIAAAAAgAAAAAAAA=</HashCode> - </TypeIdentifier> - </Class> - <Class Name="Aga.Controls.Tree.NodeControls.NodeIntegerTextBox" Collapsed="true"> - <Position X="0.5" Y="7" Width="1.75" /> - <TypeIdentifier> - <FileName>Tree\NodeControls\NodeIntegerTextBox.cs</FileName> - <HashCode>AQAAAAAAAAAAAAACAAAAAAQAAAAAIAAAAAAAAAAAAAA=</HashCode> - </TypeIdentifier> - </Class> -</ClassDiagram> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/DrawEventArgs.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/DrawEventArgs.cs deleted file mode 100644 index 5d6f66554d..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/DrawEventArgs.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; - -namespace Aga.Controls.Tree.NodeControls -{ - public class DrawEventArgs : NodeEventArgs - { - private DrawContext _context; - public DrawContext Context - { - get { return _context; } - } - - private Brush _textBrush; - [Obsolete("Use TextColor")] - public Brush TextBrush - { - get { return _textBrush; } - set { _textBrush = value; } - } - - private Brush _backgroundBrush; - public Brush BackgroundBrush - { - get { return _backgroundBrush; } - set { _backgroundBrush = value; } - } - - private Font _font; - public Font Font - { - get { return _font; } - set { _font = value; } - } - - private Color _textColor; - public Color TextColor - { - get { return _textColor; } - set { _textColor = value; } - } - - private string _text; - public string Text - { - get { return _text; } - } - - public DrawEventArgs(TreeNodeAdv node, DrawContext context, string text) - : base(node) - { - _context = context; - _text = text; - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/EditableControl.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/EditableControl.cs deleted file mode 100644 index 78406be458..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/EditableControl.cs +++ /dev/null @@ -1,190 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; -using System.Drawing; -using System.ComponentModel; - -namespace Aga.Controls.Tree.NodeControls -{ - public abstract class EditableControl : InteractiveControl - { - private Timer _timer; - private bool _editFlag; - - #region Properties - - private TreeNodeAdv _editNode; - protected TreeNodeAdv EditNode - { - get { return _editNode; } - } - - private Control _editor; - protected Control CurrentEditor - { - get { return _editor; } - } - - private bool _editOnClick = false; - [DefaultValue(false)] - public bool EditOnClick - { - get { return _editOnClick; } - set { _editOnClick = value; } - } - - #endregion - - protected EditableControl() - { - _timer = new Timer(); - _timer.Interval = 500; - _timer.Tick += new EventHandler(TimerTick); - } - - private void TimerTick(object sender, EventArgs e) - { - _timer.Stop(); - if (_editFlag) - BeginEditByUser(); - _editFlag = false; - } - - public void SetEditorBounds(EditorContext context) - { - Size size = CalculateEditorSize(context); - context.Editor.Bounds = new Rectangle(context.Bounds.X, context.Bounds.Y, - Math.Min(size.Width, context.Bounds.Width), context.Bounds.Height); - } - - protected abstract Size CalculateEditorSize(EditorContext context); - - protected virtual bool CanEdit(TreeNodeAdv node) - { - return (node.Tag != null) && IsEditEnabled(node); - } - - protected void BeginEditByUser() - { - if (EditEnabled) - BeginEdit(); - } - - public void BeginEdit() - { - if (Parent.CurrentNode != null && CanEdit(Parent.CurrentNode)) - { - CancelEventArgs args = new CancelEventArgs(); - OnEditorShowing(args); - if (!args.Cancel) - { - _editor = CreateEditor(Parent.CurrentNode); - _editor.Validating += new CancelEventHandler(EditorValidating); - _editor.KeyDown += new KeyEventHandler(EditorKeyDown); - _editNode = Parent.CurrentNode; - Parent.DisplayEditor(_editor, this); - } - } - } - - private void EditorKeyDown(object sender, KeyEventArgs e) - { - if (e.KeyCode == Keys.Escape) - EndEdit(false); - else if (e.KeyCode == Keys.Enter) - EndEdit(true); - } - - private void EditorValidating(object sender, CancelEventArgs e) - { - if (_editNode != null) - ApplyChanges(); - } - - internal void HideEditor(Control editor) - { - editor.Validating -= new CancelEventHandler(EditorValidating); - editor.Parent = null; - editor.Dispose(); - _editNode = null; - OnEditorHided(); - } - - public void EndEdit(bool applyChanges) - { - if (!applyChanges) - _editor.Validating -= new CancelEventHandler(EditorValidating); - Parent.Focus(); - } - - public virtual void UpdateEditor(Control control) - { - } - - public virtual void ApplyChanges() - { - try - { - DoApplyChanges(_editNode, _editor); - } - catch (ArgumentException ex) - { - MessageBox.Show(ex.Message, "Value is not valid", MessageBoxButtons.OK, MessageBoxIcon.Warning); - } - } - - protected abstract void DoApplyChanges(TreeNodeAdv node, Control editor); - - protected abstract Control CreateEditor(TreeNodeAdv node); - - public override void MouseDown(TreeNodeAdvMouseEventArgs args) - { - _editFlag = (!EditOnClick && args.Button == MouseButtons.Left - && args.ModifierKeys == Keys.None && args.Node.IsSelected); - } - - public override void MouseUp(TreeNodeAdvMouseEventArgs args) - { - if (EditOnClick && args.Button == MouseButtons.Left && args.ModifierKeys == Keys.None) - { - Parent.ItemDragMode = false; - BeginEdit(); - args.Handled = true; - } - else if (_editFlag && args.Node.IsSelected) - _timer.Start(); - } - - public override void MouseDoubleClick(TreeNodeAdvMouseEventArgs args) - { - _editFlag = false; - _timer.Stop(); - } - - protected override void Dispose(bool disposing) - { - base.Dispose(disposing); - if (disposing) - _timer.Dispose(); - } - - #region Events - - public event CancelEventHandler EditorShowing; - protected void OnEditorShowing(CancelEventArgs args) - { - if (EditorShowing != null) - EditorShowing(this, args); - } - - public event EventHandler EditorHided; - protected void OnEditorHided() - { - if (EditorHided != null) - EditorHided(this, EventArgs.Empty); - } - - #endregion - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/ExpandingIcon.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/ExpandingIcon.cs deleted file mode 100644 index bd2c34cd2e..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/ExpandingIcon.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using System.Threading; -using System.Windows.Forms; - -namespace Aga.Controls.Tree.NodeControls -{ - /// <summary> - /// Displays an animated icon for those nodes, who are in expanding state. - /// Parent TreeView must have AsyncExpanding property set to true. - /// </summary> - public class ExpandingIcon: NodeControl - { - private static GifDecoder _gif = ResourceHelper.LoadingIcon; - private static int _index = 0; - private static volatile Thread _animatingThread; - private static object _lock = new object(); - - public override Size MeasureSize(TreeNodeAdv node, DrawContext context) - { - return ResourceHelper.LoadingIcon.FrameSize; - } - - protected override void OnIsVisibleValueNeeded(NodeControlValueEventArgs args) - { - args.Value = args.Node.IsExpandingNow; - base.OnIsVisibleValueNeeded(args); - } - - public override void Draw(TreeNodeAdv node, DrawContext context) - { - Rectangle rect = GetBounds(node, context); - Image img = _gif.GetFrame(_index).Image; - context.Graphics.DrawImage(img, rect.Location); - } - - public static void Start() - { - lock (_lock) - { - if (_animatingThread == null) - { - _index = 0; - _animatingThread = new Thread(new ThreadStart(IterateIcons)); - _animatingThread.IsBackground = true; - _animatingThread.Priority = ThreadPriority.Lowest; - _animatingThread.Start(); - } - } - } - - public static void Stop() - { - lock (_lock) - { - _index = 0; - _animatingThread = null; - } - } - - private static void IterateIcons() - { - while (_animatingThread != null) - { - if (_index < _gif.FrameCount - 1) - _index++; - else - _index = 0; - - if (IconChanged != null) - IconChanged(null, EventArgs.Empty); - - int delay = _gif.GetFrame(_index).Delay; - Thread.Sleep(delay); - } - System.Diagnostics.Debug.WriteLine("IterateIcons Stopped"); - } - - public static event EventHandler IconChanged; - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/InteractiveControl.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/InteractiveControl.cs deleted file mode 100644 index 0a9f8030a7..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/InteractiveControl.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.ComponentModel; - -namespace Aga.Controls.Tree.NodeControls -{ - public abstract class InteractiveControl : BindableControl - { - private bool _editEnabled = false; - [DefaultValue(false)] - public bool EditEnabled - { - get { return _editEnabled; } - set { _editEnabled = value; } - } - - protected bool IsEditEnabled(TreeNodeAdv node) - { - if (EditEnabled) - { - NodeControlValueEventArgs args = new NodeControlValueEventArgs(node); - args.Value = true; - OnIsEditEnabledValueNeeded(args); - return Convert.ToBoolean(args.Value); - } - else - return false; - } - - public event EventHandler<NodeControlValueEventArgs> IsEditEnabledValueNeeded; - private void OnIsEditEnabledValueNeeded(NodeControlValueEventArgs args) - { - if (IsEditEnabledValueNeeded != null) - IsEditEnabledValueNeeded(this, args); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeCheckBox.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeCheckBox.cs deleted file mode 100644 index d0aec6459d..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeCheckBox.cs +++ /dev/null @@ -1,184 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using Aga.Controls.Properties; -using System.Reflection; -using System.Windows.Forms; -using System.Windows.Forms.VisualStyles; -using System.ComponentModel; - -namespace Aga.Controls.Tree.NodeControls -{ - public class NodeCheckBox : InteractiveControl - { - public const int ImageSize = 13; - - private Bitmap _check; - private Bitmap _uncheck; - private Bitmap _unknown; - - #region Properties - - private bool _threeState; - [DefaultValue(false)] - public bool ThreeState - { - get { return _threeState; } - set { _threeState = value; } - } - - #endregion - - public NodeCheckBox() - : this(string.Empty) - { - } - - public NodeCheckBox(string propertyName) - { - _check = Resources.check; - _uncheck = Resources.uncheck; - _unknown = Resources.unknown; - DataPropertyName = propertyName; - LeftMargin = 0; - } - - public override Size MeasureSize(TreeNodeAdv node, DrawContext context) - { - return new Size(ImageSize, ImageSize); - } - - public override void Draw(TreeNodeAdv node, DrawContext context) - { - Rectangle bounds = GetBounds(node, context); - CheckState state = GetCheckState(node); - if (Application.RenderWithVisualStyles) - { - VisualStyleRenderer renderer; - if (state == CheckState.Indeterminate) - renderer = new VisualStyleRenderer(VisualStyleElement.Button.CheckBox.MixedNormal); - else if (state == CheckState.Checked) - renderer = new VisualStyleRenderer(VisualStyleElement.Button.CheckBox.CheckedNormal); - else - renderer = new VisualStyleRenderer(VisualStyleElement.Button.CheckBox.UncheckedNormal); - renderer.DrawBackground(context.Graphics, new Rectangle(bounds.X, bounds.Y, ImageSize, ImageSize)); - } - else - { - Image img; - if (state == CheckState.Indeterminate) - img = _unknown; - else if (state == CheckState.Checked) - img = _check; - else - img = _uncheck; - context.Graphics.DrawImage(img, bounds.Location); - } - } - - protected virtual CheckState GetCheckState(TreeNodeAdv node) - { - object obj = GetValue(node); - if (obj is CheckState) - return (CheckState)obj; - else if (obj is bool) - return (bool)obj ? CheckState.Checked : CheckState.Unchecked; - else - return CheckState.Unchecked; - } - - protected virtual void SetCheckState(TreeNodeAdv node, CheckState value) - { - if (VirtualMode) - { - SetValue(node, value); - OnCheckStateChanged(node); - } - else - { - Type type = GetPropertyType(node); - if (type == typeof(CheckState)) - { - SetValue(node, value); - OnCheckStateChanged(node); - } - else if (type == typeof(bool)) - { - SetValue(node, value != CheckState.Unchecked); - OnCheckStateChanged(node); - } - } - } - - public override void MouseDown(TreeNodeAdvMouseEventArgs args) - { - if (args.Button == MouseButtons.Left && IsEditEnabled(args.Node)) - { - DrawContext context = new DrawContext(); - context.Bounds = args.ControlBounds; - Rectangle rect = GetBounds(args.Node, context); - if (rect.Contains(args.ViewLocation)) - { - CheckState state = GetCheckState(args.Node); - state = GetNewState(state); - SetCheckState(args.Node, state); - Parent.UpdateView(); - args.Handled = true; - } - } - } - - public override void MouseDoubleClick(TreeNodeAdvMouseEventArgs args) - { - args.Handled = true; - } - - private CheckState GetNewState(CheckState state) - { - if (state == CheckState.Indeterminate) - return CheckState.Unchecked; - else if(state == CheckState.Unchecked) - return CheckState.Checked; - else - return ThreeState ? CheckState.Indeterminate : CheckState.Unchecked; - } - - public override void KeyDown(KeyEventArgs args) - { - if (args.KeyCode == Keys.Space && EditEnabled) - { - Parent.BeginUpdate(); - try - { - if (Parent.CurrentNode != null) - { - CheckState value = GetNewState(GetCheckState(Parent.CurrentNode)); - foreach (TreeNodeAdv node in Parent.Selection) - if (IsEditEnabled(node)) - SetCheckState(node, value); - } - } - finally - { - Parent.EndUpdate(); - } - args.Handled = true; - } - } - - public event EventHandler<TreePathEventArgs> CheckStateChanged; - protected void OnCheckStateChanged(TreePathEventArgs args) - { - if (CheckStateChanged != null) - CheckStateChanged(this, args); - } - - protected void OnCheckStateChanged(TreeNodeAdv node) - { - TreePath path = this.Parent.GetPath(node); - OnCheckStateChanged(new TreePathEventArgs(path)); - } - - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeComboBox.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeComboBox.cs deleted file mode 100644 index 44d01ca4e9..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeComboBox.cs +++ /dev/null @@ -1,80 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using System.Windows.Forms; -using System.Reflection; -using System.ComponentModel; -using System.Drawing.Design; - -namespace Aga.Controls.Tree.NodeControls -{ - public class NodeComboBox : BaseTextControl - { - #region Properties - - private int _editorWidth = 100; - [DefaultValue(100)] - public int EditorWidth - { - get { return _editorWidth; } - set { _editorWidth = value; } - } - - private List<object> _dropDownItems; - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1002:DoNotExposeGenericLists")] - [Editor(typeof(StringCollectionEditor), typeof(UITypeEditor)), DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] - public List<object> DropDownItems - { - get { return _dropDownItems; } - } - - #endregion - - public NodeComboBox() - { - _dropDownItems = new List<object>(); - } - - protected override Size CalculateEditorSize(EditorContext context) - { - if (Parent.UseColumns) - return context.Bounds.Size; - else - return new Size(EditorWidth, context.Bounds.Height); - } - - protected override Control CreateEditor(TreeNodeAdv node) - { - ComboBox comboBox = new ComboBox(); - if (DropDownItems != null) - comboBox.Items.AddRange(DropDownItems.ToArray()); - comboBox.SelectedItem = GetValue(node); - comboBox.DropDownStyle = ComboBoxStyle.DropDownList; - comboBox.DropDownClosed += new EventHandler(EditorDropDownClosed); - SetEditControlProperties(comboBox, node); - return comboBox; - } - - void EditorDropDownClosed(object sender, EventArgs e) - { - EndEdit(true); - } - - public override void UpdateEditor(Control control) - { - (control as ComboBox).DroppedDown = true; - } - - protected override void DoApplyChanges(TreeNodeAdv node, Control editor) - { - SetValue(node, (editor as ComboBox).SelectedItem); - } - - public override void MouseUp(TreeNodeAdvMouseEventArgs args) - { - if (args.Node != null && args.Node.IsSelected) //Workaround of specific ComboBox control behaviour - base.MouseUp(args); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeControl.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeControl.cs deleted file mode 100644 index 9243e615c7..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeControl.cs +++ /dev/null @@ -1,169 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; -using System.Drawing; -using System.ComponentModel; - -namespace Aga.Controls.Tree.NodeControls -{ - [DesignTimeVisible(false), ToolboxItem(false)] - public abstract class NodeControl : Component - { - #region Properties - - private TreeViewAdv _parent; - [Browsable(false)] - [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] - public TreeViewAdv Parent - { - get { return _parent; } - set - { - if (value != _parent) - { - if (_parent != null) - _parent.NodeControls.Remove(this); - - if (value != null) - value.NodeControls.Add(this); - } - } - } - - private IToolTipProvider _toolTipProvider; - [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] - public IToolTipProvider ToolTipProvider - { - get { return _toolTipProvider; } - set { _toolTipProvider = value; } - } - - private TreeColumn _parentColumn; - public TreeColumn ParentColumn - { - get { return _parentColumn; } - set - { - _parentColumn = value; - if (_parent != null) - _parent.FullUpdate(); - } - } - - private VerticalAlignment _verticalAlign = VerticalAlignment.Center; - [DefaultValue(VerticalAlignment.Center)] - public VerticalAlignment VerticalAlign - { - get { return _verticalAlign; } - set - { - _verticalAlign = value; - if (_parent != null) - _parent.FullUpdate(); - } - } - - private int _leftMargin = 0; - public int LeftMargin - { - get { return _leftMargin; } - set - { - if (value < 0) - throw new ArgumentOutOfRangeException(); - - _leftMargin = value; - if (_parent != null) - _parent.FullUpdate(); - } - } - #endregion - - internal virtual void AssignParent(TreeViewAdv parent) - { - _parent = parent; - } - - protected virtual Rectangle GetBounds(TreeNodeAdv node, DrawContext context) - { - Rectangle r = context.Bounds; - Size s = GetActualSize(node, context); - Size bs = new Size(r.Width - LeftMargin, Math.Min(r.Height, s.Height)); - switch (VerticalAlign) - { - case VerticalAlignment.Top: - return new Rectangle(new Point(r.X + LeftMargin, r.Y), bs); - case VerticalAlignment.Bottom: - return new Rectangle(new Point(r.X + LeftMargin, r.Bottom - s.Height), bs); - default: - return new Rectangle(new Point(r.X + LeftMargin, r.Y + (r.Height - s.Height) / 2), bs); - } - } - - protected void CheckThread() - { - if (Parent != null && Control.CheckForIllegalCrossThreadCalls) - if (Parent.InvokeRequired) - throw new InvalidOperationException("Cross-thread calls are not allowed"); - } - - public bool IsVisible(TreeNodeAdv node) - { - NodeControlValueEventArgs args = new NodeControlValueEventArgs(node); - args.Value = true; - OnIsVisibleValueNeeded(args); - return Convert.ToBoolean(args.Value); - } - - internal Size GetActualSize(TreeNodeAdv node, DrawContext context) - { - if (IsVisible(node)) - { - Size s = MeasureSize(node, context); - return new Size(s.Width + LeftMargin, s.Height); - } - else - return Size.Empty; - } - - public abstract Size MeasureSize(TreeNodeAdv node, DrawContext context); - - public abstract void Draw(TreeNodeAdv node, DrawContext context); - - public virtual string GetToolTip(TreeNodeAdv node) - { - if (ToolTipProvider != null) - return ToolTipProvider.GetToolTip(node, this); - else - return string.Empty; - } - - public virtual void MouseDown(TreeNodeAdvMouseEventArgs args) - { - } - - public virtual void MouseUp(TreeNodeAdvMouseEventArgs args) - { - } - - public virtual void MouseDoubleClick(TreeNodeAdvMouseEventArgs args) - { - } - - public virtual void KeyDown(KeyEventArgs args) - { - } - - public virtual void KeyUp(KeyEventArgs args) - { - } - - public event EventHandler<NodeControlValueEventArgs> IsVisibleValueNeeded; - protected virtual void OnIsVisibleValueNeeded(NodeControlValueEventArgs args) - { - if (IsVisibleValueNeeded != null) - IsVisibleValueNeeded(this, args); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeControlValueEventArgs.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeControlValueEventArgs.cs deleted file mode 100644 index 3686440887..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeControlValueEventArgs.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Tree.NodeControls -{ - public class NodeControlValueEventArgs : NodeEventArgs - { - private object _value; - public object Value - { - get { return _value; } - set { _value = value; } - } - - public NodeControlValueEventArgs(TreeNodeAdv node) - :base(node) - { - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeControlsCollection.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeControlsCollection.cs deleted file mode 100644 index f31e05ee37..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeControlsCollection.cs +++ /dev/null @@ -1,94 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.ComponentModel.Design; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Drawing.Design; - -namespace Aga.Controls.Tree.NodeControls -{ - internal class NodeControlsCollection : Collection<NodeControl> - { - private TreeViewAdv _tree; - - public NodeControlsCollection(TreeViewAdv tree) - { - _tree = tree; - } - - protected override void ClearItems() - { - _tree.BeginUpdate(); - try - { - while (this.Count != 0) - this.RemoveAt(this.Count - 1); - } - finally - { - _tree.EndUpdate(); - } - } - - protected override void InsertItem(int index, NodeControl item) - { - if (item == null) - throw new ArgumentNullException("item"); - - if (item.Parent != _tree) - { - if (item.Parent != null) - { - item.Parent.NodeControls.Remove(item); - } - base.InsertItem(index, item); - item.AssignParent(_tree); - _tree.FullUpdate(); - } - } - - protected override void RemoveItem(int index) - { - NodeControl value = this[index]; - value.AssignParent(null); - base.RemoveItem(index); - _tree.FullUpdate(); - } - - protected override void SetItem(int index, NodeControl item) - { - if (item == null) - throw new ArgumentNullException("item"); - - _tree.BeginUpdate(); - try - { - RemoveAt(index); - InsertItem(index, item); - } - finally - { - _tree.EndUpdate(); - } - } - } - - internal class NodeControlCollectionEditor : CollectionEditor - { - private Type[] _types; - - public NodeControlCollectionEditor(Type type) - : base(type) - { - _types = new Type[] { typeof(NodeTextBox), typeof(NodeIntegerTextBox), typeof(NodeDecimalTextBox), - typeof(NodeComboBox), typeof(NodeCheckBox), - typeof(NodeStateIcon), typeof(NodeIcon), typeof(NodeNumericUpDown), typeof(ExpandingIcon) }; - } - - protected override System.Type[] CreateNewItemTypes() - { - return _types; - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeDecimalTextBox.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeDecimalTextBox.cs deleted file mode 100644 index 4f004131f1..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeDecimalTextBox.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using System.Windows.Forms; -using System.Reflection; -using System.ComponentModel; - -namespace Aga.Controls.Tree.NodeControls -{ - public class NodeDecimalTextBox : NodeTextBox - { - private bool _allowDecimalSeperator = true; - [DefaultValue(true)] - public bool AllowDecimalSeperator - { - get { return _allowDecimalSeperator; } - set { _allowDecimalSeperator = value; } - } - - private bool _allowNegativeSign = true; - [DefaultValue(true)] - public bool AllowNegativeSign - { - get { return _allowNegativeSign; } - set { _allowNegativeSign = value; } - } - - protected NodeDecimalTextBox() - { - } - - protected override TextBox CreateTextBox() - { - NumericTextBox textBox = new NumericTextBox(); - textBox.AllowDecimalSeperator = AllowDecimalSeperator; - textBox.AllowNegativeSign = AllowNegativeSign; - return textBox; - } - - protected override void DoApplyChanges(TreeNodeAdv node, Control editor) - { - SetValue(node, (editor as NumericTextBox).DecimalValue); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeEventArgs.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeEventArgs.cs deleted file mode 100644 index cedccbf9ad..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeEventArgs.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Tree.NodeControls -{ - public class NodeEventArgs : EventArgs - { - private TreeNodeAdv _node; - public TreeNodeAdv Node - { - get { return _node; } - } - - public NodeEventArgs(TreeNodeAdv node) - { - _node = node; - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeIcon.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeIcon.cs deleted file mode 100644 index c540f98bda..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeIcon.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using System.Windows.Forms; -using Aga.Controls.Properties; -using System.ComponentModel; - -namespace Aga.Controls.Tree.NodeControls -{ - public class NodeIcon : BindableControl - { - public NodeIcon() - { - LeftMargin = 1; - } - - public override Size MeasureSize(TreeNodeAdv node, DrawContext context) - { - Image image = GetIcon(node); - if (image != null) - return image.Size; - else - return Size.Empty; - } - - - public override void Draw(TreeNodeAdv node, DrawContext context) - { - Image image = GetIcon(node); - if (image != null) - { - Rectangle r = GetBounds(node, context); - if ( image.Width > 0 && image.Height > 0 ) - { - switch (_scaleMode) - { - case ImageScaleMode.Fit: - context.Graphics.DrawImage(image, r); - break; - case ImageScaleMode.ScaleDown: - { - float factor = Math.Min((float)r.Width / (float)image.Width, (float)r.Height / (float)image.Height); - if (factor < 1) - context.Graphics.DrawImage(image, r.X, r.Y, image.Width * factor, image.Height * factor); - else - context.Graphics.DrawImage(image, r.X, r.Y, image.Width, image.Height); - } break; - case ImageScaleMode.ScaleUp: - { - float factor = Math.Max((float)r.Width / (float)image.Width, (float)r.Height / (float)image.Height); - if (factor > 1) - context.Graphics.DrawImage(image, r.X, r.Y, image.Width * factor, image.Height * factor); - else - context.Graphics.DrawImage(image, r.X, r.Y, image.Width, image.Height); - } break; - case ImageScaleMode.AlwaysScale: - { - float fx = (float)r.Width / (float)image.Width; - float fy = (float)r.Height / (float)image.Height; - if (Math.Min(fx, fy) < 1) - { //scale down - float factor = Math.Min(fx, fy); - context.Graphics.DrawImage(image, r.X, r.Y, image.Width * factor, image.Height * factor); - } - else if (Math.Max(fx, fy) > 1) - { - float factor = Math.Max(fx, fy); - context.Graphics.DrawImage(image, r.X, r.Y, image.Width * factor, image.Height * factor); - } - else - context.Graphics.DrawImage(image, r.X, r.Y, image.Width, image.Height); - } break; - case ImageScaleMode.Clip: - default: - context.Graphics.DrawImage(image, r.X, r.Y, image.Width, image.Height); - break; - } - } - - } - } - - protected virtual Image GetIcon(TreeNodeAdv node) - { - return GetValue(node) as Image; - } - - private ImageScaleMode _scaleMode = ImageScaleMode.Clip; - [DefaultValue("Clip"), Category("Appearance")] - public ImageScaleMode ScaleMode - { - get { return _scaleMode; } - set { _scaleMode = value; } - } - - - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeIntegerTextBox.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeIntegerTextBox.cs deleted file mode 100644 index 95b17f8f77..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeIntegerTextBox.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.ComponentModel; -using System.Windows.Forms; - -namespace Aga.Controls.Tree.NodeControls -{ - - public class NodeIntegerTextBox : NodeTextBox - { - private bool _allowNegativeSign = true; - [DefaultValue(true)] - public bool AllowNegativeSign - { - get { return _allowNegativeSign; } - set { _allowNegativeSign = value; } - } - - public NodeIntegerTextBox() - { - } - - protected override TextBox CreateTextBox() - { - NumericTextBox textBox = new NumericTextBox(); - textBox.AllowDecimalSeperator = false; - textBox.AllowNegativeSign = AllowNegativeSign; - return textBox; - } - - protected override void DoApplyChanges(TreeNodeAdv node, Control editor) - { - SetValue(node, (editor as NumericTextBox).IntValue); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeNumericUpDown.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeNumericUpDown.cs deleted file mode 100644 index a9b0a4d825..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeNumericUpDown.cs +++ /dev/null @@ -1,111 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using System.Windows.Forms; -using System.Reflection; -using System.ComponentModel; -using System.Drawing.Design; - -namespace Aga.Controls.Tree.NodeControls -{ - public class NodeNumericUpDown : BaseTextControl - { - #region Properties - - private int _editorWidth = 100; - [DefaultValue(100)] - public int EditorWidth - { - get { return _editorWidth; } - set { _editorWidth = value; } - } - - private int _decimalPlaces = 0; - [Category("Data"), DefaultValue(0)] - public int DecimalPlaces - { - get - { - return this._decimalPlaces; - } - set - { - this._decimalPlaces = value; - } - } - - private decimal _increment = 1; - [Category("Data"), DefaultValue(1)] - public decimal Increment - { - get - { - return this._increment; - } - set - { - this._increment = value; - } - } - - private decimal _minimum = 0; - [Category("Data"), DefaultValue(0)] - public decimal Minimum - { - get - { - return _minimum; - } - set - { - _minimum = value; - } - } - - private decimal _maximum = 100; - [Category("Data"), DefaultValue(100)] - public decimal Maximum - { - get - { - return this._maximum; - } - set - { - this._maximum = value; - } - } - - #endregion - - public NodeNumericUpDown() - { - } - - protected override Size CalculateEditorSize(EditorContext context) - { - if (Parent.UseColumns) - return context.Bounds.Size; - else - return new Size(EditorWidth, context.Bounds.Height); - } - - protected override Control CreateEditor(TreeNodeAdv node) - { - NumericUpDown num = new NumericUpDown(); - num.Increment = Increment; - num.DecimalPlaces = DecimalPlaces; - num.Minimum = Minimum; - num.Maximum = Maximum; - num.Value = (decimal)GetValue(node); - SetEditControlProperties(num, node); - return num; - } - - protected override void DoApplyChanges(TreeNodeAdv node, Control editor) - { - SetValue(node, (editor as NumericUpDown).Value); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodePlusMinus.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodePlusMinus.cs deleted file mode 100644 index 5e1b481953..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodePlusMinus.cs +++ /dev/null @@ -1,71 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using Aga.Controls.Properties; -using System.Windows.Forms; -using System.Windows.Forms.VisualStyles; - -namespace Aga.Controls.Tree.NodeControls -{ - internal class NodePlusMinus : NodeControl - { - public const int ImageSize = 9; - public const int Width = 16; - private Bitmap _plus; - private Bitmap _minus; - - public NodePlusMinus() - { - _plus = Resources.plus; - _minus = Resources.minus; - } - - public override Size MeasureSize(TreeNodeAdv node, DrawContext context) - { - return new Size(Width, Width); - } - - public override void Draw(TreeNodeAdv node, DrawContext context) - { - if (node.CanExpand) - { - Rectangle r = context.Bounds; - int dy = (int)Math.Round((float)(r.Height - ImageSize) / 2); - if (Application.RenderWithVisualStyles) - { - VisualStyleRenderer renderer; - if (node.IsExpanded) - renderer = new VisualStyleRenderer(VisualStyleElement.TreeView.Glyph.Opened); - else - renderer = new VisualStyleRenderer(VisualStyleElement.TreeView.Glyph.Closed); - renderer.DrawBackground(context.Graphics, new Rectangle(r.X, r.Y + dy, ImageSize, ImageSize)); - } - else - { - Image img; - if (node.IsExpanded) - img = _minus; - else - img = _plus; - context.Graphics.DrawImageUnscaled(img, new Point(r.X, r.Y + dy)); - } - } - } - - public override void MouseDown(TreeNodeAdvMouseEventArgs args) - { - if (args.Button == MouseButtons.Left) - { - args.Handled = true; - if (args.Node.CanExpand) - args.Node.IsExpanded = !args.Node.IsExpanded; - } - } - - public override void MouseDoubleClick(TreeNodeAdvMouseEventArgs args) - { - args.Handled = true; // Supress expand/collapse when double click on plus/minus - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeStateIcon.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeStateIcon.cs deleted file mode 100644 index bd041e8eb8..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeStateIcon.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using Aga.Controls.Properties; - -namespace Aga.Controls.Tree.NodeControls -{ - public class NodeStateIcon: NodeIcon - { - private Image _leaf; - private Image _opened; - private Image _closed; - - public NodeStateIcon() - { - _leaf = MakeTransparent(Resources.Leaf); - _opened = MakeTransparent(Resources.Folder); - _closed = MakeTransparent(Resources.FolderClosed); - } - - private static Image MakeTransparent(Bitmap bitmap) - { - bitmap.MakeTransparent(bitmap.GetPixel(0,0)); - return bitmap; - } - - protected override Image GetIcon(TreeNodeAdv node) - { - Image icon = base.GetIcon(node); - if (icon != null) - return icon; - else if (node.IsLeaf) - return _leaf; - else if (node.CanExpand && node.IsExpanded) - return _opened; - else - return _closed; - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeTextBox.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeTextBox.cs deleted file mode 100644 index 7c98b27beb..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/NodeControls/NodeTextBox.cs +++ /dev/null @@ -1,121 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using System.Windows.Forms; -using System.Reflection; -using System.ComponentModel; - -namespace Aga.Controls.Tree.NodeControls -{ - public class NodeTextBox: BaseTextControl - { - private const int MinTextBoxWidth = 30; - - private TextBox EditorTextBox - { - get - { - return CurrentEditor as TextBox; - } - } - - public NodeTextBox() - { - } - - protected override Size CalculateEditorSize(EditorContext context) - { - if (Parent.UseColumns) - return context.Bounds.Size; - else - { - Size size = GetLabelSize(context.CurrentNode, context.DrawContext, _label); - int width = Math.Max(size.Width + Font.Height, MinTextBoxWidth); // reserve a place for new typed character - return new Size(width, size.Height); - } - } - - public override void KeyDown(KeyEventArgs args) - { - if (args.KeyCode == Keys.F2 && Parent.CurrentNode != null) - { - args.Handled = true; - BeginEditByUser(); - } - } - - protected override Control CreateEditor(TreeNodeAdv node) - { - TextBox textBox = CreateTextBox(); - textBox.TextAlign = TextAlign; - textBox.Text = GetLabel(node); - textBox.BorderStyle = BorderStyle.FixedSingle; - textBox.TextChanged += new EventHandler(textBox_TextChanged); - _label = textBox.Text; - SetEditControlProperties(textBox, node); - return textBox; - } - - protected virtual TextBox CreateTextBox() - { - return new TextBox(); - } - - private string _label; - private void textBox_TextChanged(object sender, EventArgs e) - { - _label = EditorTextBox.Text; - Parent.UpdateEditorBounds(); - } - - protected override void DoApplyChanges(TreeNodeAdv node, Control editor) - { - string oldLabel = GetLabel(node); - if (oldLabel != _label) - { - SetLabel(node, _label); - OnLabelChanged(); - } - } - - public void Cut() - { - if (EditorTextBox != null) - EditorTextBox.Cut(); - } - - public void Copy() - { - if (EditorTextBox != null) - EditorTextBox.Copy(); - } - - public void Paste() - { - if (EditorTextBox != null) - EditorTextBox.Paste(); - } - - public void Delete() - { - if (EditorTextBox != null) - { - int len = Math.Max(EditorTextBox.SelectionLength, 1); - if (EditorTextBox.SelectionStart < EditorTextBox.Text.Length) - { - int start = EditorTextBox.SelectionStart; - EditorTextBox.Text = EditorTextBox.Text.Remove(EditorTextBox.SelectionStart, len); - EditorTextBox.SelectionStart = start; - } - } - } - - public event EventHandler LabelChanged; - protected void OnLabelChanged() - { - if (LabelChanged != null) - LabelChanged(this, EventArgs.Empty); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/SortedTreeModel.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/SortedTreeModel.cs deleted file mode 100644 index 96f22c2e38..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/SortedTreeModel.cs +++ /dev/null @@ -1,81 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Collections; - -namespace Aga.Controls.Tree -{ - public class SortedTreeModel: TreeModelBase - { - private ITreeModel _innerModel; - public ITreeModel InnerModel - { - get { return _innerModel; } - } - - private IComparer _comparer; - public IComparer Comparer - { - get { return _comparer; } - set - { - _comparer = value; - OnStructureChanged(new TreePathEventArgs(TreePath.Empty)); - } - } - - public SortedTreeModel(ITreeModel innerModel) - { - _innerModel = innerModel; - _innerModel.NodesChanged += new EventHandler<TreeModelEventArgs>(_innerModel_NodesChanged); - _innerModel.NodesInserted += new EventHandler<TreeModelEventArgs>(_innerModel_NodesInserted); - _innerModel.NodesRemoved += new EventHandler<TreeModelEventArgs>(_innerModel_NodesRemoved); - _innerModel.StructureChanged += new EventHandler<TreePathEventArgs>(_innerModel_StructureChanged); - } - - void _innerModel_StructureChanged(object sender, TreePathEventArgs e) - { - OnStructureChanged(e); - } - - void _innerModel_NodesRemoved(object sender, TreeModelEventArgs e) - { - OnStructureChanged(new TreePathEventArgs(e.Path)); - } - - void _innerModel_NodesInserted(object sender, TreeModelEventArgs e) - { - OnStructureChanged(new TreePathEventArgs(e.Path)); - } - - void _innerModel_NodesChanged(object sender, TreeModelEventArgs e) - { - OnStructureChanged(new TreePathEventArgs(e.Path)); - } - - public override IEnumerable GetChildren(TreePath treePath) - { - if (Comparer != null) - { - ArrayList list = new ArrayList(); - IEnumerable res = InnerModel.GetChildren(treePath); - if (res != null) - { - foreach (object obj in res) - list.Add(obj); - list.Sort(Comparer); - return list; - } - else - return null; - } - else - return InnerModel.GetChildren(treePath); - } - - public override bool IsLeaf(TreePath treePath) - { - return InnerModel.IsLeaf(treePath); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeColumn.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeColumn.cs deleted file mode 100644 index fcaf03d63e..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeColumn.cs +++ /dev/null @@ -1,371 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.ComponentModel; -using System.Windows.Forms; -using System.Drawing; -using System.Windows.Forms.VisualStyles; -using System.Drawing.Imaging; - -namespace Aga.Controls.Tree -{ - [TypeConverter(typeof(TreeColumn.TreeColumnConverter)), DesignTimeVisible(false), ToolboxItem(false)] - public class TreeColumn : Component - { - private class TreeColumnConverter : ComponentConverter - { - public TreeColumnConverter() - : base(typeof(TreeColumn)) - { - } - - public override bool GetPropertiesSupported(ITypeDescriptorContext context) - { - return false; - } - } - - private const int HeaderLeftMargin = 5; - private const int HeaderRightMargin = 5; - private const int SortOrderMarkMargin = 8; - - private TextFormatFlags _headerFlags; - private TextFormatFlags _baseHeaderFlags = TextFormatFlags.NoPadding | - TextFormatFlags.EndEllipsis | - TextFormatFlags.VerticalCenter | - TextFormatFlags.PreserveGraphicsTranslateTransform; - - #region Properties - - private TreeColumnCollection _owner; - internal TreeColumnCollection Owner - { - get { return _owner; } - set { _owner = value; } - } - - [Browsable(false)] - public int Index - { - get - { - if (Owner != null) - return Owner.IndexOf(this); - else - return -1; - } - } - - private string _header; - [Localizable(true)] - public string Header - { - get { return _header; } - set - { - _header = value; - OnHeaderChanged(); - } - } - - private string _tooltipText; - [Localizable(true)] - public string TooltipText - { - get { return _tooltipText; } - set { _tooltipText = value; } - } - - private int _width; - [DefaultValue(50), Localizable(true)] - public int Width - { - get - { - return _width; - } - set - { - if (_width != value) - { - _width = Math.Max(MinColumnWidth, value); - if (_maxColumnWidth > 0) - { - _width = Math.Min(_width, MaxColumnWidth); - } - OnWidthChanged(); - } - } - } - - private int _minColumnWidth; - [DefaultValue(0)] - public int MinColumnWidth - { - get { return _minColumnWidth; } - set - { - if (value < 0) - throw new ArgumentOutOfRangeException("value"); - - _minColumnWidth = value; - Width = Math.Max(value, Width); - } - } - - private int _maxColumnWidth; - [DefaultValue(0)] - public int MaxColumnWidth - { - get { return _maxColumnWidth; } - set - { - if (value < 0) - throw new ArgumentOutOfRangeException("value"); - - _maxColumnWidth = value; - if (value > 0) - Width = Math.Min(value, _width); - } - } - - private bool _visible = true; - [DefaultValue(true)] - public bool IsVisible - { - get { return _visible; } - set - { - _visible = value; - OnIsVisibleChanged(); - } - } - - private HorizontalAlignment _textAlign = HorizontalAlignment.Left; - [DefaultValue(HorizontalAlignment.Left)] - public HorizontalAlignment TextAlign - { - get { return _textAlign; } - set - { - if (value != _textAlign) - { - _textAlign = value; - _headerFlags = _baseHeaderFlags | TextHelper.TranslateAligmentToFlag(value); - OnHeaderChanged(); - } - } - } - - private bool _sortable = false; - [DefaultValue(false)] - public bool Sortable - { - get { return _sortable; } - set { _sortable = value; } - } - - private SortOrder _sort_order = SortOrder.None; - public SortOrder SortOrder - { - get { return _sort_order; } - set - { - if (value == _sort_order) - return; - _sort_order = value; - OnSortOrderChanged(); - } - } - - public Size SortMarkSize - { - get - { - if (Application.RenderWithVisualStyles) - return new Size(9, 5); - else - return new Size(7, 4); - } - } - #endregion - - public TreeColumn(): - this(string.Empty, 50) - { - } - - public TreeColumn(string header, int width) - { - _header = header; - _width = width; - _headerFlags = _baseHeaderFlags | TextFormatFlags.Left; - } - - public override string ToString() - { - if (string.IsNullOrEmpty(Header)) - return GetType().Name; - else - return Header; - } - - protected override void Dispose(bool disposing) - { - base.Dispose(disposing); - } - - #region Draw - - private static VisualStyleRenderer _normalRenderer; - private static VisualStyleRenderer _pressedRenderer; - private static VisualStyleRenderer _hotRenderer; - - private static void CreateRenderers() - { - if (Application.RenderWithVisualStyles && _normalRenderer == null) - { - _normalRenderer = new VisualStyleRenderer(VisualStyleElement.Header.Item.Normal); - _pressedRenderer = new VisualStyleRenderer(VisualStyleElement.Header.Item.Pressed); - _hotRenderer = new VisualStyleRenderer(VisualStyleElement.Header.Item.Hot); - } - } - - internal Bitmap CreateGhostImage(Rectangle bounds, Font font) - { - Bitmap b = new Bitmap(bounds.Width, bounds.Height, PixelFormat.Format32bppArgb); - Graphics gr = Graphics.FromImage(b); - gr.FillRectangle(SystemBrushes.ControlDark, bounds); - DrawContent(gr, bounds, font); - BitmapHelper.SetAlphaChanelValue(b, 150); - return b; - } - - internal void Draw(Graphics gr, Rectangle bounds, Font font, bool pressed, bool hot) - { - DrawBackground(gr, bounds, pressed, hot); - DrawContent(gr, bounds, font); - } - - private void DrawContent(Graphics gr, Rectangle bounds, Font font) - { - Rectangle innerBounds = new Rectangle(bounds.X + HeaderLeftMargin, bounds.Y, - bounds.Width - HeaderLeftMargin - HeaderRightMargin, - bounds.Height); - - if (SortOrder != SortOrder.None) - innerBounds.Width -= (SortMarkSize.Width + SortOrderMarkMargin); - - Size maxTextSize = TextRenderer.MeasureText(gr, Header, font, innerBounds.Size, TextFormatFlags.NoPadding); - Size textSize = TextRenderer.MeasureText(gr, Header, font, innerBounds.Size, _baseHeaderFlags); - - if (SortOrder != SortOrder.None) - { - int tw = Math.Min(textSize.Width, innerBounds.Size.Width); - - int x = 0; - if (TextAlign == HorizontalAlignment.Left) - x = innerBounds.X + tw + SortOrderMarkMargin; - else if (TextAlign == HorizontalAlignment.Right) - x = innerBounds.Right + SortOrderMarkMargin; - else - x = innerBounds.X + tw + (innerBounds.Width - tw) / 2 + SortOrderMarkMargin; - DrawSortMark(gr, bounds, x); - } - - if (textSize.Width < maxTextSize.Width) - TextRenderer.DrawText(gr, Header, font, innerBounds, SystemColors.ControlText, _baseHeaderFlags | TextFormatFlags.Left); - else - TextRenderer.DrawText(gr, Header, font, innerBounds, SystemColors.ControlText, _headerFlags); - } - - private void DrawSortMark(Graphics gr, Rectangle bounds, int x) - { - int y = bounds.Y + bounds.Height / 2 - 2; - x = Math.Max(x, bounds.X + SortOrderMarkMargin); - - int w2 = SortMarkSize.Width / 2; - if (SortOrder == SortOrder.Ascending) - { - Point[] points = new Point[] { new Point(x, y), new Point(x + SortMarkSize.Width, y), new Point(x + w2, y + SortMarkSize.Height) }; - gr.FillPolygon(SystemBrushes.ControlDark, points); - } - else if (SortOrder == SortOrder.Descending) - { - Point[] points = new Point[] { new Point(x - 1, y + SortMarkSize.Height), new Point(x + SortMarkSize.Width, y + SortMarkSize.Height), new Point(x + w2, y - 1) }; - gr.FillPolygon(SystemBrushes.ControlDark, points); - } - } - - internal static void DrawDropMark(Graphics gr, Rectangle rect) - { - gr.FillRectangle(SystemBrushes.HotTrack, rect.X-1, rect.Y, 2, rect.Height); - } - - internal static void DrawBackground(Graphics gr, Rectangle bounds, bool pressed, bool hot) - { - if (Application.RenderWithVisualStyles) - { - CreateRenderers(); - if (pressed) - _pressedRenderer.DrawBackground(gr, bounds); - else if (hot) - _hotRenderer.DrawBackground(gr, bounds); - else - _normalRenderer.DrawBackground(gr, bounds); - } - else - { - gr.FillRectangle(SystemBrushes.Control, bounds); - Pen p1 = SystemPens.ControlLightLight; - Pen p2 = SystemPens.ControlDark; - Pen p3 = SystemPens.ControlDarkDark; - if (pressed) - gr.DrawRectangle(p2, bounds.X, bounds.Y, bounds.Width, bounds.Height); - else - { - gr.DrawLine(p1, bounds.X, bounds.Y, bounds.Right, bounds.Y); - gr.DrawLine(p3, bounds.X, bounds.Bottom, bounds.Right, bounds.Bottom); - gr.DrawLine(p3, bounds.Right - 1, bounds.Y, bounds.Right - 1, bounds.Bottom - 1); - gr.DrawLine(p1, bounds.Left, bounds.Y + 1, bounds.Left, bounds.Bottom - 2); - gr.DrawLine(p2, bounds.Right - 2, bounds.Y + 1, bounds.Right - 2, bounds.Bottom - 2); - gr.DrawLine(p2, bounds.X, bounds.Bottom - 1, bounds.Right - 2, bounds.Bottom - 1); - } - } - } - - #endregion - - #region Events - - public event EventHandler HeaderChanged; - private void OnHeaderChanged() - { - if (HeaderChanged != null) - HeaderChanged(this, EventArgs.Empty); - } - - public event EventHandler SortOrderChanged; - private void OnSortOrderChanged() - { - if (SortOrderChanged != null) - SortOrderChanged(this, EventArgs.Empty); - } - - public event EventHandler IsVisibleChanged; - private void OnIsVisibleChanged() - { - if (IsVisibleChanged != null) - IsVisibleChanged(this, EventArgs.Empty); - } - - public event EventHandler WidthChanged; - private void OnWidthChanged() - { - if (WidthChanged != null) - WidthChanged(this, EventArgs.Empty); - } - - #endregion - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeColumnCollection.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeColumnCollection.cs deleted file mode 100644 index 2368ec65d3..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeColumnCollection.cs +++ /dev/null @@ -1,98 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Windows.Forms; - -namespace Aga.Controls.Tree -{ - internal class TreeColumnCollection : Collection<TreeColumn> - { - private TreeViewAdv _treeView; - - public TreeColumnCollection(TreeViewAdv treeView) - { - _treeView = treeView; - } - - protected override void InsertItem(int index, TreeColumn item) - { - base.InsertItem(index, item); - BindEvents(item); - _treeView.UpdateColumns(); - } - - protected override void RemoveItem(int index) - { - UnbindEvents(this[index]); - base.RemoveItem(index); - _treeView.UpdateColumns(); - } - - protected override void SetItem(int index, TreeColumn item) - { - UnbindEvents(this[index]); - base.SetItem(index, item); - item.Owner = this; - BindEvents(item); - _treeView.UpdateColumns(); - } - - protected override void ClearItems() - { - foreach (TreeColumn c in Items) - UnbindEvents(c); - Items.Clear(); - _treeView.UpdateColumns(); - } - - private void BindEvents(TreeColumn item) - { - item.Owner = this; - item.HeaderChanged += HeaderChanged; - item.IsVisibleChanged += IsVisibleChanged; - item.WidthChanged += WidthChanged; - item.SortOrderChanged += SortOrderChanged; - } - - private void UnbindEvents(TreeColumn item) - { - item.Owner = null; - item.HeaderChanged -= HeaderChanged; - item.IsVisibleChanged -= IsVisibleChanged; - item.WidthChanged -= WidthChanged; - item.SortOrderChanged -= SortOrderChanged; - } - - void SortOrderChanged(object sender, EventArgs e) - { - TreeColumn changed = sender as TreeColumn; - //Only one column at a time can have a sort property set - if (changed.SortOrder != SortOrder.None) - { - foreach (TreeColumn col in this) - { - if (col != changed) - col.SortOrder = SortOrder.None; - } - } - _treeView.UpdateHeaders(); - } - - void WidthChanged(object sender, EventArgs e) - { - _treeView.ChangeColumnWidth(sender as TreeColumn); - } - - void IsVisibleChanged(object sender, EventArgs e) - { - _treeView.FullUpdate(); - } - - void HeaderChanged(object sender, EventArgs e) - { - _treeView.UpdateView(); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeColumnEventArgs.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeColumnEventArgs.cs deleted file mode 100644 index 405c707d52..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeColumnEventArgs.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Tree -{ - public class TreeColumnEventArgs: EventArgs - { - private TreeColumn _column; - public TreeColumn Column - { - get { return _column; } - } - - public TreeColumnEventArgs(TreeColumn column) - { - _column = column; - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeListAdapter.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeListAdapter.cs deleted file mode 100644 index 819e568e13..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeListAdapter.cs +++ /dev/null @@ -1,65 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Tree -{ - /// <summary> - /// Converts IEnumerable interface to ITreeModel. - /// Allows to display a plain list in the TreeView - /// </summary> - public class TreeListAdapter : ITreeModel - { - private System.Collections.IEnumerable _list; - - public TreeListAdapter(System.Collections.IEnumerable list) - { - _list = list; - } - - #region ITreeModel Members - - public System.Collections.IEnumerable GetChildren(TreePath treePath) - { - if (treePath.IsEmpty()) - return _list; - else - return null; - } - - public bool IsLeaf(TreePath treePath) - { - return true; - } - - public event EventHandler<TreeModelEventArgs> NodesChanged; - public void OnNodesChanged(TreeModelEventArgs args) - { - if (NodesChanged != null) - NodesChanged(this, args); - } - - public event EventHandler<TreePathEventArgs> StructureChanged; - public void OnStructureChanged(TreePathEventArgs args) - { - if (StructureChanged != null) - StructureChanged(this, args); - } - - public event EventHandler<TreeModelEventArgs> NodesInserted; - public void OnNodeInserted(TreeModelEventArgs args) - { - if (NodesInserted != null) - NodesInserted(this, args); - } - - public event EventHandler<TreeModelEventArgs> NodesRemoved; - public void OnNodeRemoved(TreeModelEventArgs args) - { - if (NodesRemoved != null) - NodesRemoved(this, args); - } - - #endregion - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeModel.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeModel.cs deleted file mode 100644 index 3673c90084..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeModel.cs +++ /dev/null @@ -1,127 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Collections.ObjectModel; - -namespace Aga.Controls.Tree -{ - /// <summary> - /// Provides a simple ready to use implementation of ITreeModel. Warning: this class is not optimized - /// to work with big amount of data. In this case create you own implementation of ITreeModel, and pay attention - /// on GetChildren and IsLeaf methods. - /// </summary> - public class TreeModel : ITreeModel - { - private Node _root; - public Node Root - { - get { return _root; } - } - - public Collection<Node> Nodes - { - get { return _root.Nodes; } - } - - public TreeModel() - { - _root = new Node(); - _root.Model = this; - } - - public TreePath GetPath(Node node) - { - if (node == _root) - return TreePath.Empty; - else - { - Stack<object> stack = new Stack<object>(); - while (node != _root) - { - stack.Push(node); - node = node.Parent; - } - return new TreePath(stack.ToArray()); - } - } - - public Node FindNode(TreePath path) - { - if (path.IsEmpty()) - return _root; - else - return FindNode(_root, path, 0); - } - - private Node FindNode(Node root, TreePath path, int level) - { - foreach (Node node in root.Nodes) - if (node == path.FullPath[level]) - { - if (level == path.FullPath.Length - 1) - return node; - else - return FindNode(node, path, level + 1); - } - return null; - } - - #region ITreeModel Members - - public System.Collections.IEnumerable GetChildren(TreePath treePath) - { - Node node = FindNode(treePath); - if (node != null) - foreach (Node n in node.Nodes) - yield return n; - else - yield break; - } - - public bool IsLeaf(TreePath treePath) - { - Node node = FindNode(treePath); - if (node != null) - return node.IsLeaf; - else - throw new ArgumentException("treePath"); - } - - public event EventHandler<TreeModelEventArgs> NodesChanged; - internal void OnNodesChanged(TreeModelEventArgs args) - { - if (NodesChanged != null) - NodesChanged(this, args); - } - - public event EventHandler<TreePathEventArgs> StructureChanged; - public void OnStructureChanged(TreePathEventArgs args) - { - if (StructureChanged != null) - StructureChanged(this, args); - } - - public event EventHandler<TreeModelEventArgs> NodesInserted; - internal void OnNodeInserted(Node parent, int index, Node node) - { - if (NodesInserted != null) - { - TreeModelEventArgs args = new TreeModelEventArgs(GetPath(parent), new int[] { index }, new object[] { node }); - NodesInserted(this, args); - } - - } - - public event EventHandler<TreeModelEventArgs> NodesRemoved; - internal void OnNodeRemoved(Node parent, int index, Node node) - { - if (NodesRemoved != null) - { - TreeModelEventArgs args = new TreeModelEventArgs(GetPath(parent), new int[] { index }, new object[] { node }); - NodesRemoved(this, args); - } - } - - #endregion - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeModelBase.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeModelBase.cs deleted file mode 100644 index da61691d7f..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeModelBase.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Tree -{ - public abstract class TreeModelBase: ITreeModel - { - public abstract System.Collections.IEnumerable GetChildren(TreePath treePath); - public abstract bool IsLeaf(TreePath treePath); - - - public event EventHandler<TreeModelEventArgs> NodesChanged; - protected void OnNodesChanged(TreeModelEventArgs args) - { - if (NodesChanged != null) - NodesChanged(this, args); - } - - public event EventHandler<TreePathEventArgs> StructureChanged; - protected void OnStructureChanged(TreePathEventArgs args) - { - if (StructureChanged != null) - StructureChanged(this, args); - } - - public event EventHandler<TreeModelEventArgs> NodesInserted; - protected void OnNodesInserted(TreeModelEventArgs args) - { - if (NodesInserted != null) - NodesInserted(this, args); - } - - public event EventHandler<TreeModelEventArgs> NodesRemoved; - protected void OnNodesRemoved(TreeModelEventArgs args) - { - if (NodesRemoved != null) - NodesRemoved(this, args); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeModelEventArgs.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeModelEventArgs.cs deleted file mode 100644 index 5148e632bb..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeModelEventArgs.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Tree -{ - public class TreeModelEventArgs: TreePathEventArgs - { - private object[] _children; - public object[] Children - { - get { return _children; } - } - - private int[] _indices; - public int[] Indices - { - get { return _indices; } - } - - /// <summary> - /// - /// </summary> - /// <param name="parent">Path to a parent node</param> - /// <param name="children">Child nodes</param> - public TreeModelEventArgs(TreePath parent, object[] children) - : this(parent, null, children) - { - } - - /// <summary> - /// - /// </summary> - /// <param name="parent">Path to a parent node</param> - /// <param name="indices">Indices of children in parent nodes collection</param> - /// <param name="children">Child nodes</param> - public TreeModelEventArgs(TreePath parent, int[] indices, object[] children) - : base(parent) - { - if (children == null) - throw new ArgumentNullException(); - - if (indices != null && indices.Length != children.Length) - throw new ArgumentException("indices and children arrays must have the same length"); - - _indices = indices; - _children = children; - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeNodeAdv.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeNodeAdv.cs deleted file mode 100644 index 7752c40bc5..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeNodeAdv.cs +++ /dev/null @@ -1,426 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Collections.ObjectModel; -using System.Drawing; -using System.Windows.Forms; -using System.Runtime.Serialization; -using System.Security.Permissions; - -namespace Aga.Controls.Tree -{ - [Serializable] - public class TreeNodeAdv : ISerializable - { - #region NodeCollection - private class NodeCollection : Collection<TreeNodeAdv> - { - private TreeNodeAdv _owner; - - public NodeCollection(TreeNodeAdv owner) - { - _owner = owner; - } - - protected override void ClearItems() - { - while (this.Count != 0) - this.RemoveAt(this.Count - 1); - } - - protected override void InsertItem(int index, TreeNodeAdv item) - { - if (item == null) - throw new ArgumentNullException("item"); - - if (item.Parent != _owner) - { - if (item.Parent != null) - item.Parent.Nodes.Remove(item); - item._parent = _owner; - item._index = index; - for (int i = index; i < Count; i++) - this[i]._index++; - base.InsertItem(index, item); - } - - if (_owner.Tree != null && _owner.Tree.Model == null) { - _owner.Tree.SmartFullUpdate(); - } - } - - protected override void RemoveItem(int index) - { - TreeNodeAdv item = this[index]; - item._parent = null; - item._index = -1; - for (int i = index + 1; i < Count; i++) - this[i]._index--; - base.RemoveItem(index); - - if (_owner.Tree != null && _owner.Tree.Model == null) { - _owner.Tree.UpdateSelection(); - _owner.Tree.SmartFullUpdate(); - } - } - - protected override void SetItem(int index, TreeNodeAdv item) - { - if (item == null) - throw new ArgumentNullException("item"); - RemoveAt(index); - InsertItem(index, item); - } - } - #endregion - - #region Events - - public event EventHandler<TreeViewAdvEventArgs> Collapsing; - internal protected virtual void OnCollapsing() - { - if (Collapsing != null) - Collapsing(this, new TreeViewAdvEventArgs(this)); - } - - public event EventHandler<TreeViewAdvEventArgs> Collapsed; - internal protected virtual void OnCollapsed() - { - if (Collapsed != null) - Collapsed(this, new TreeViewAdvEventArgs(this)); - } - - public event EventHandler<TreeViewAdvEventArgs> Expanding; - internal protected virtual void OnExpanding() - { - if (Expanding != null) - Expanding(this, new TreeViewAdvEventArgs(this)); - } - - public event EventHandler<TreeViewAdvEventArgs> Expanded; - internal protected virtual void OnExpanded() - { - if (Expanded != null) - Expanded(this, new TreeViewAdvEventArgs(this)); - } - - #endregion - - #region Properties - - private TreeViewAdv _tree; - public TreeViewAdv Tree - { - get { return _tree; } - } - - private int _row; - internal int Row - { - get { return _row; } - set { _row = value; } - } - - private int _index = -1; - public int Index - { - get - { - return _index; - } - } - - private bool _isSelected; - public bool IsSelected - { - get { return _isSelected; } - set - { - if (_isSelected != value) - { - if (Tree.IsMyNode(this)) - { - //_tree.OnSelectionChanging - if (value) - { - if (!_tree.Selection.Contains(this)) - _tree.Selection.Add(this); - - if (_tree.Selection.Count == 1) - _tree.CurrentNode = this; - } - else - _tree.Selection.Remove(this); - _tree.UpdateView(); - _tree.OnSelectionChanged(); - } - _isSelected = value; - } - } - } - - /// <summary> - /// Returns true if all parent nodes of this node are expanded. - /// </summary> - internal bool IsVisible - { - get - { - TreeNodeAdv node = _parent; - while (node != null) - { - if (!node.IsExpanded) - return false; - node = node.Parent; - } - return true; - } - } - - private bool _isLeaf; - public bool IsLeaf - { - get { return _isLeaf; } - internal protected set { _isLeaf = value; } - } - - private bool _isExpandedOnce; - public bool IsExpandedOnce - { - get { return _isExpandedOnce; } - internal protected set { _isExpandedOnce = value; } - } - - private bool _isExpanded; - public bool IsExpanded - { - get { return _isExpanded; } - set - { - if (value) - Expand(); - else - Collapse(); - } - } - - internal void AssignIsExpanded(bool value) - { - _isExpanded = value; - } - - private TreeNodeAdv _parent; - public TreeNodeAdv Parent - { - get { return _parent; } - } - - public int Level - { - get - { - if (_parent == null) - return 0; - else - return _parent.Level + 1; - } - } - - public TreeNodeAdv NextNode - { - get - { - if (_parent != null) - { - int index = Index; - if (index < _parent.Nodes.Count - 1) - return _parent.Nodes[index + 1]; - } - return null; - } - } - - internal TreeNodeAdv BottomNode - { - get - { - TreeNodeAdv parent = this.Parent; - if (parent != null) - { - if (parent.NextNode != null) - return parent.NextNode; - else - return parent.BottomNode; - } - return null; - } - } - - internal TreeNodeAdv NextVisibleNode - { - get - { - if (IsExpanded && Nodes.Count > 0) - return Nodes[0]; - else - { - TreeNodeAdv nn = NextNode; - if (nn != null) - return nn; - else - return BottomNode; - } - } - } - - public bool CanExpand - { - get - { - // return (Nodes.Count > 0 || (!IsExpandedOnce && !IsLeaf)); - return !IsLeaf; - } - } - - private object _tag; - public object Tag - { - get { return _tag; } - } - - private Collection<TreeNodeAdv> _nodes; - internal Collection<TreeNodeAdv> Nodes - { - get { return _nodes; } - } - - private IList<TreeNodeAdv> _children; - public IList<TreeNodeAdv> Children - { - get - { - return _children; - } - } - - private int? _rightBounds; - internal int? RightBounds - { - get { return _rightBounds; } - set { _rightBounds = value; } - } - - private int? _height; - internal int? Height - { - get { return _height; } - set { _height = value; } - } - - private bool _isExpandingNow; - internal bool IsExpandingNow - { - get { return _isExpandingNow; } - set { _isExpandingNow = value; } - } - - #endregion - - public TreeNodeAdv(object tag): this(null, tag) - { - } - - internal protected TreeNodeAdv(TreeViewAdv tree, object tag) - { - _row = -1; - _tree = tree; - _nodes = new NodeCollection(this); - if (tree.Model != null) { - _children = new ReadOnlyCollection<TreeNodeAdv>(_nodes); - } else { - _children = _nodes; - } - _tag = tag; - } - - public override string ToString() - { - if (Tag != null) - return Tag.ToString(); - else - return base.ToString(); - } - - public void Collapse() - { - if (_isExpanded) - Collapse(true); - } - - public void CollapseAll() - { - Collapse(false); - } - - public void Collapse(bool ignoreChildren) - { - SetIsExpanded(false, ignoreChildren); - } - - public void Expand() - { - if (!_isExpanded) - Expand(true); - } - - public void ExpandAll() - { - Expand(false); - } - - public void Expand(bool ignoreChildren) - { - SetIsExpanded(true, ignoreChildren); - } - - private void SetIsExpanded(bool value, bool ignoreChildren) - { - if (Tree == null) - _isExpanded = value; - else - Tree.SetIsExpanded(this, value, ignoreChildren); - } - - #region ISerializable Members - - private TreeNodeAdv(SerializationInfo info, StreamingContext context): this(null, null) - { - int nodesCount = 0; - nodesCount = info.GetInt32("NodesCount"); - _isExpanded = info.GetBoolean("IsExpanded"); - _tag = info.GetValue("Tag", typeof(object)); - - for (int i = 0; i < nodesCount; i++) - { - TreeNodeAdv child = (TreeNodeAdv)info.GetValue("Child" + i, typeof(TreeNodeAdv)); - Nodes.Add(child); - } - - } - - [SecurityPermission(SecurityAction.Demand, SerializationFormatter=true)] - public void GetObjectData(SerializationInfo info, StreamingContext context) - { - info.AddValue("IsExpanded", IsExpanded); - info.AddValue("NodesCount", Nodes.Count); - if ((Tag != null) && Tag.GetType().IsSerializable) - info.AddValue("Tag", Tag, Tag.GetType()); - - for (int i = 0; i < Nodes.Count; i++) - info.AddValue("Child" + i, Nodes[i], typeof(TreeNodeAdv)); - - } - - #endregion - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeNodeAdvMouseEventArgs.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeNodeAdvMouseEventArgs.cs deleted file mode 100644 index 145c5b8611..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeNodeAdvMouseEventArgs.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; -using System.Drawing; -using Aga.Controls.Tree.NodeControls; - -namespace Aga.Controls.Tree -{ - public class TreeNodeAdvMouseEventArgs : MouseEventArgs - { - private TreeNodeAdv _node; - public TreeNodeAdv Node - { - get { return _node; } - internal set { _node = value; } - } - - private NodeControl _control; - public NodeControl Control - { - get { return _control; } - internal set { _control = value; } - } - - private Point _viewLocation; - public Point ViewLocation - { - get { return _viewLocation; } - internal set { _viewLocation = value; } - } - - private Keys _modifierKeys; - public Keys ModifierKeys - { - get { return _modifierKeys; } - internal set { _modifierKeys = value; } - } - - private bool _handled; - public bool Handled - { - get { return _handled; } - set { _handled = value; } - } - - private Rectangle _controlBounds; - public Rectangle ControlBounds - { - get { return _controlBounds; } - internal set { _controlBounds = value; } - } - - public TreeNodeAdvMouseEventArgs(MouseEventArgs args) - : base(args.Button, args.Clicks, args.X, args.Y, args.Delta) - { - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreePath.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreePath.cs deleted file mode 100644 index 4f7d0d3725..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreePath.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using System.Text; -using System.Collections.ObjectModel; - -namespace Aga.Controls.Tree -{ - public class TreePath - { - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")] - public static readonly TreePath Empty = new TreePath(); - - private object[] _path; - public object[] FullPath - { - get { return _path; } - } - - public object LastNode - { - get - { - if (_path.Length > 0) - return _path[_path.Length - 1]; - else - return null; - } - } - - public object FirstNode - { - get - { - if (_path.Length > 0) - return _path[0]; - else - return null; - } - } - - public TreePath() - { - _path = new object[0]; - } - - public TreePath(object node) - { - _path = new object[] { node }; - } - - public TreePath(object[] path) - { - _path = path; - } - - public bool IsEmpty() - { - return (_path.Length == 0); - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreePathEventArgs.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreePathEventArgs.cs deleted file mode 100644 index 6ee8a4db8d..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreePathEventArgs.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Tree -{ - public class TreePathEventArgs : EventArgs - { - private TreePath _path; - public TreePath Path - { - get { return _path; } - } - - public TreePathEventArgs() - { - _path = new TreePath(); - } - - public TreePathEventArgs(TreePath path) - { - if (path == null) - throw new ArgumentNullException(); - - _path = path; - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Designer.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Designer.cs deleted file mode 100644 index f7601ae54a..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Designer.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System.Windows.Forms; - -namespace Aga.Controls.Tree -{ - partial class TreeViewAdv - { - private System.ComponentModel.IContainer components = null; - - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Component Designer generated code - private void InitializeComponent() - { - this._vScrollBar = new System.Windows.Forms.VScrollBar(); - this._hScrollBar = new System.Windows.Forms.HScrollBar(); - this.SuspendLayout(); - // - // _vScrollBar - // - this._vScrollBar.LargeChange = 1; - this._vScrollBar.Location = new System.Drawing.Point(0, 0); - this._vScrollBar.Maximum = 0; - this._vScrollBar.Name = "_vScrollBar"; - this._vScrollBar.Size = new System.Drawing.Size(13, 80); - this._vScrollBar.TabIndex = 1; - this._vScrollBar.ValueChanged += new System.EventHandler(this._vScrollBar_ValueChanged); - this._vScrollBar.Scroll += new ScrollEventHandler(this._vScrollBar_Scroll); - // - // _hScrollBar - // - this._hScrollBar.LargeChange = 1; - this._hScrollBar.Location = new System.Drawing.Point(0, 0); - this._hScrollBar.Maximum = 0; - this._hScrollBar.Name = "_hScrollBar"; - this._hScrollBar.Size = new System.Drawing.Size(80, 13); - this._hScrollBar.TabIndex = 2; - this._hScrollBar.ValueChanged += new System.EventHandler(this._hScrollBar_ValueChanged); - this._hScrollBar.Scroll += new ScrollEventHandler(this._hScrollBar_Scroll); - // - // TreeViewAdv - // - this.BackColor = System.Drawing.SystemColors.Window; - this.Controls.Add(this._vScrollBar); - this.Controls.Add(this._hScrollBar); - this.ResumeLayout(false); - - } - #endregion - - private VScrollBar _vScrollBar; - private HScrollBar _hScrollBar; - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Draw.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Draw.cs deleted file mode 100644 index 5f00da3c61..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Draw.cs +++ /dev/null @@ -1,284 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; -using System.Drawing; -using System.Windows.Forms.VisualStyles; -using System.Diagnostics; -using System.Drawing.Drawing2D; -using Aga.Controls.Tree.NodeControls; - -namespace Aga.Controls.Tree -{ - public partial class TreeViewAdv - { - - private void CreatePens() - { - CreateLinePen(); - CreateMarkPen(); - } - - private void CreateMarkPen() - { - GraphicsPath path = new GraphicsPath(); - path.AddLines(new Point[] { new Point(0, 0), new Point(1, 1), new Point(-1, 1), new Point(0, 0) }); - CustomLineCap cap = new CustomLineCap(null, path); - cap.WidthScale = 1.0f; - - _markPen = new Pen(_dragDropMarkColor, _dragDropMarkWidth); - _markPen.CustomStartCap = cap; - _markPen.CustomEndCap = cap; - } - - private void CreateLinePen() - { - _linePen = new Pen(_lineColor); - _linePen.DashStyle = DashStyle.Dot; - } - - protected override void OnPaint(PaintEventArgs e) - { - BeginPerformanceCount(); - PerformanceAnalyzer.Start("OnPaint"); - - DrawContext context = new DrawContext(); - context.Graphics = e.Graphics; - context.Font = this.Font; - context.Enabled = Enabled; - - int y = 0; - int gridHeight = 0; - - if (UseColumns) - { - DrawColumnHeaders(e.Graphics); - y += ColumnHeaderHeight; - if (Columns.Count == 0 || e.ClipRectangle.Height <= y) - return; - } - - int firstRowY = _rowLayout.GetRowBounds(FirstVisibleRow).Y; - y -= firstRowY; - - e.Graphics.ResetTransform(); - e.Graphics.TranslateTransform(-OffsetX, y); - Rectangle displayRect = DisplayRectangle; - for (int row = FirstVisibleRow; row < RowCount; row++) - { - Rectangle rowRect = _rowLayout.GetRowBounds(row); - gridHeight += rowRect.Height; - if (rowRect.Y + y > displayRect.Bottom) - break; - else - DrawRow(e, ref context, row, rowRect); - } - - if ((GridLineStyle & GridLineStyle.Vertical) == GridLineStyle.Vertical && UseColumns) - DrawVerticalGridLines(e.Graphics, firstRowY); - - if (_dropPosition.Node != null && DragMode && HighlightDropPosition) - DrawDropMark(e.Graphics); - - e.Graphics.ResetTransform(); - DrawScrollBarsBox(e.Graphics); - - if (DragMode && _dragBitmap != null) - e.Graphics.DrawImage(_dragBitmap, PointToClient(MousePosition)); - - PerformanceAnalyzer.Finish("OnPaint"); - EndPerformanceCount(e); - } - - private void DrawRow(PaintEventArgs e, ref DrawContext context, int row, Rectangle rowRect) - { - TreeNodeAdv node = RowMap[row]; - context.DrawSelection = DrawSelectionMode.None; - context.CurrentEditorOwner = _currentEditorOwner; - if (DragMode) - { - if ((_dropPosition.Node == node) && _dropPosition.Position == NodePosition.Inside && HighlightDropPosition) - context.DrawSelection = DrawSelectionMode.Active; - } - else - { - if (node.IsSelected && Focused) - context.DrawSelection = DrawSelectionMode.Active; - else if (node.IsSelected && !Focused && !HideSelection) - context.DrawSelection = DrawSelectionMode.Inactive; - } - context.DrawFocus = Focused && CurrentNode == node; - - OnRowDraw(e, node, context, row, rowRect); - - if (FullRowSelect) - { - context.DrawFocus = false; - if (context.DrawSelection == DrawSelectionMode.Active || context.DrawSelection == DrawSelectionMode.Inactive) - { - Rectangle focusRect = new Rectangle(OffsetX, rowRect.Y, ClientRectangle.Width, rowRect.Height); - if (context.DrawSelection == DrawSelectionMode.Active) - { - e.Graphics.FillRectangle(SystemBrushes.Highlight, focusRect); - context.DrawSelection = DrawSelectionMode.FullRowSelect; - } - else - { - e.Graphics.FillRectangle(SystemBrushes.InactiveBorder, focusRect); - context.DrawSelection = DrawSelectionMode.None; - } - } - } - - if ((GridLineStyle & GridLineStyle.Horizontal) == GridLineStyle.Horizontal) - e.Graphics.DrawLine(SystemPens.InactiveBorder, 0, rowRect.Bottom, e.Graphics.ClipBounds.Right, rowRect.Bottom); - - if (ShowLines) - DrawLines(e.Graphics, node, rowRect); - - DrawNode(node, context); - } - - private void DrawVerticalGridLines(Graphics gr, int y) - { - int x = 0; - foreach (TreeColumn c in Columns) - { - if (c.IsVisible) - { - x += c.Width; - gr.DrawLine(SystemPens.InactiveBorder, x - 1, y, x - 1, gr.ClipBounds.Bottom); - } - } - } - - private void DrawColumnHeaders(Graphics gr) - { - PerformanceAnalyzer.Start("DrawColumnHeaders"); - ReorderColumnState reorder = Input as ReorderColumnState; - int x = 0; - TreeColumn.DrawBackground(gr, new Rectangle(0, 0, ClientRectangle.Width + 2, ColumnHeaderHeight - 1), false, false); - gr.TranslateTransform(-OffsetX, 0); - foreach (TreeColumn c in Columns) - { - if (c.IsVisible) - { - if (x >= OffsetX && x - OffsetX < this.Bounds.Width)// skip invisible columns - { - Rectangle rect = new Rectangle(x, 0, c.Width, ColumnHeaderHeight - 1); - gr.SetClip(rect); - bool pressed = ((Input is ClickColumnState || reorder != null) && ((Input as ColumnState).Column == c)); - c.Draw(gr, rect, Font, pressed, _hotColumn == c); - gr.ResetClip(); - - if (reorder != null && reorder.DropColumn == c) - TreeColumn.DrawDropMark(gr, rect); - } - x += c.Width; - } - } - - if (reorder != null) - { - if (reorder.DropColumn == null) - TreeColumn.DrawDropMark(gr, new Rectangle(x, 0, 0, ColumnHeaderHeight)); - gr.DrawImage(reorder.GhostImage, new Point(reorder.Location.X + + reorder.DragOffset, reorder.Location.Y)); - } - PerformanceAnalyzer.Finish("DrawColumnHeaders"); - } - - public void DrawNode(TreeNodeAdv node, DrawContext context) - { - foreach (NodeControlInfo item in GetNodeControls(node)) - { - if (item.Bounds.Right >= OffsetX && item.Bounds.X - OffsetX < this.Bounds.Width)// skip invisible nodes - { - context.Bounds = item.Bounds; - context.Graphics.SetClip(context.Bounds); - item.Control.Draw(node, context); - context.Graphics.ResetClip(); - } - } - } - - private void DrawScrollBarsBox(Graphics gr) - { - Rectangle r1 = DisplayRectangle; - Rectangle r2 = ClientRectangle; - gr.FillRectangle(SystemBrushes.Control, - new Rectangle(r1.Right, r1.Bottom, r2.Width - r1.Width, r2.Height - r1.Height)); - } - - private void DrawDropMark(Graphics gr) - { - if (_dropPosition.Position == NodePosition.Inside) - return; - - Rectangle rect = GetNodeBounds(_dropPosition.Node); - int right = DisplayRectangle.Right - LeftMargin + OffsetX; - int y = rect.Y; - if (_dropPosition.Position == NodePosition.After) - y = rect.Bottom; - gr.DrawLine(_markPen, rect.X, y, right, y); - } - - private void DrawLines(Graphics gr, TreeNodeAdv node, Rectangle rowRect) - { - if (UseColumns && Columns.Count > 0) - gr.SetClip(new Rectangle(0, rowRect.Y, Columns[0].Width, rowRect.Bottom)); - - TreeNodeAdv curNode = node; - while (curNode != _root && curNode != null) - { - int level = curNode.Level; - int x = (level - 1) * _indent + NodePlusMinus.ImageSize / 2 + LeftMargin; - int width = NodePlusMinus.Width - NodePlusMinus.ImageSize / 2; - int y = rowRect.Y; - int y2 = y + rowRect.Height; - - if (curNode == node) - { - int midy = y + rowRect.Height / 2; - gr.DrawLine(_linePen, x, midy, x + width, midy); - if (curNode.NextNode == null) - y2 = y + rowRect.Height / 2; - } - - if (node.Row == 0) - y = rowRect.Height / 2; - if (curNode.NextNode != null || curNode == node) - gr.DrawLine(_linePen, x, y, x, y2); - - curNode = curNode.Parent; - } - - gr.ResetClip(); - } - - #region Performance - - private double _totalTime; - private int _paintCount; - - [Conditional("PERF_TEST")] - private void BeginPerformanceCount() - { - _paintCount++; - TimeCounter.Start(); - } - - [Conditional("PERF_TEST")] - private void EndPerformanceCount(PaintEventArgs e) - { - double time = TimeCounter.Finish(); - _totalTime += time; - string debugText = string.Format("FPS {0:0.0}; Avg. FPS {1:0.0}", - 1 / time, 1 / (_totalTime / _paintCount)); - e.Graphics.FillRectangle(Brushes.White, new Rectangle(DisplayRectangle.Width - 150, DisplayRectangle.Height - 20, 150, 20)); - e.Graphics.DrawString(debugText, Control.DefaultFont, Brushes.Gray, - new PointF(DisplayRectangle.Width - 150, DisplayRectangle.Height - 20)); - } - #endregion - - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Input.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Input.cs deleted file mode 100644 index dbfda231aa..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Input.cs +++ /dev/null @@ -1,553 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; -using System.Drawing; -using Aga.Controls.Tree.NodeControls; -using System.Drawing.Imaging; -using System.Threading; - -namespace Aga.Controls.Tree -{ - public partial class TreeViewAdv - { - #region Keys - - protected override bool IsInputChar(char charCode) - { - return true; - } - - protected override bool IsInputKey(Keys keyData) - { - if (((keyData & Keys.Up) == Keys.Up) - || ((keyData & Keys.Down) == Keys.Down) - || ((keyData & Keys.Left) == Keys.Left) - || ((keyData & Keys.Right) == Keys.Right)) - return true; - else - return base.IsInputKey(keyData); - } - - internal void ChangeInput() - { - if ((ModifierKeys & Keys.Shift) == Keys.Shift) - { - if (!(Input is InputWithShift)) - Input = new InputWithShift(this); - } - else if ((ModifierKeys & Keys.Control) == Keys.Control) - { - if (!(Input is InputWithControl)) - Input = new InputWithControl(this); - } - else - { - if (!(Input.GetType() == typeof(NormalInputState))) - Input = new NormalInputState(this); - } - } - - protected override void OnKeyDown(KeyEventArgs e) - { - base.OnKeyDown(e); - if (!e.Handled) - { - if (e.KeyCode == Keys.ShiftKey || e.KeyCode == Keys.ControlKey) - ChangeInput(); - Input.KeyDown(e); - if (!e.Handled) - { - foreach (NodeControlInfo item in GetNodeControls(CurrentNode)) - { - item.Control.KeyDown(e); - if (e.Handled) - break; - } - } - } - } - - protected override void OnKeyUp(KeyEventArgs e) - { - base.OnKeyUp(e); - if (!e.Handled) - { - if (e.KeyCode == Keys.ShiftKey || e.KeyCode == Keys.ControlKey) - ChangeInput(); - if (!e.Handled) - { - foreach (NodeControlInfo item in GetNodeControls(CurrentNode)) - { - item.Control.KeyUp(e); - if (e.Handled) - return; - } - } - } - } - - protected override void OnKeyPress(KeyPressEventArgs e) - { - base.OnKeyPress(e); - if (!e.Handled) - _search.Search(e.KeyChar); - } - - #endregion - - #region Mouse - - private TreeNodeAdvMouseEventArgs CreateMouseArgs(MouseEventArgs e) - { - TreeNodeAdvMouseEventArgs args = new TreeNodeAdvMouseEventArgs(e); - args.ViewLocation = new Point(e.X + OffsetX, - e.Y + _rowLayout.GetRowBounds(FirstVisibleRow).Y - ColumnHeaderHeight); - args.ModifierKeys = ModifierKeys; - args.Node = GetNodeAt(e.Location); - NodeControlInfo info = GetNodeControlInfoAt(args.Node, e.Location); - args.ControlBounds = info.Bounds; - args.Control = info.Control; - return args; - } - - protected override void OnMouseWheel(MouseEventArgs e) - { - _search.EndSearch(); - if (SystemInformation.MouseWheelScrollLines > 0) - { - int lines = e.Delta * SystemInformation.MouseWheelScrollLines / 120; - int newValue = _vScrollBar.Value - lines; - newValue = Math.Min(_vScrollBar.Maximum - _vScrollBar.LargeChange + 1, newValue); - newValue = Math.Min(_vScrollBar.Maximum, newValue); - _vScrollBar.Value = Math.Max(_vScrollBar.Minimum, newValue); - } - base.OnMouseWheel(e); - } - - protected override void OnMouseDown(MouseEventArgs e) - { - if (!Focused) - Focus(); - - _search.EndSearch(); - if (e.Button == MouseButtons.Left) - { - TreeColumn c; - c = GetColumnDividerAt(e.Location); - if (c != null) - { - Input = new ResizeColumnState(this, c, e.Location); - return; - } - c = GetColumnAt(e.Location); - if (c != null) - { - Input = new ClickColumnState(this, c, e.Location); - UpdateView(); - return; - } - } - - ChangeInput(); - TreeNodeAdvMouseEventArgs args = CreateMouseArgs(e); - - if (args.Node != null && args.Control != null) - args.Control.MouseDown(args); - - if (!args.Handled) { - Input.MouseDown(args); - base.ContextMenuStrip = _cms; - } else - base.ContextMenuStrip = null; - - base.OnMouseDown(e); - } - - protected override void OnMouseClick(MouseEventArgs e) - { - //TODO: Disable when click on plusminus icon - TreeNodeAdvMouseEventArgs args = CreateMouseArgs(e); - if (args.Node != null) - OnNodeMouseClick(args); - - base.OnMouseClick(e); - } - - protected override void OnMouseDoubleClick(MouseEventArgs e) - { - TreeNodeAdvMouseEventArgs args = CreateMouseArgs(e); - - if (args.Node != null && args.Control != null) - args.Control.MouseDoubleClick(args); - - if (!args.Handled) - { - if (args.Node != null) - OnNodeMouseDoubleClick(args); - - if (!args.Handled) - { - if (args.Node != null && args.Button == MouseButtons.Left) - args.Node.IsExpanded = !args.Node.IsExpanded; - } - } - - base.OnMouseDoubleClick(e); - } - - protected override void OnMouseUp(MouseEventArgs e) - { - TreeNodeAdvMouseEventArgs args = CreateMouseArgs(e); - if (Input is ResizeColumnState) - Input.MouseUp(args); - else - { - if (args.Node != null && args.Control != null) - args.Control.MouseUp(args); - if (!args.Handled) - Input.MouseUp(args); - - base.OnMouseUp(e); - } - } - - protected override void OnMouseMove(MouseEventArgs e) - { - if (Input.MouseMove(e)) - return; - - base.OnMouseMove(e); - SetCursor(e); - UpdateToolTip(e); - if (ItemDragMode && Dist(e.Location, ItemDragStart) > ItemDragSensivity - && CurrentNode != null && CurrentNode.IsSelected) - { - ItemDragMode = false; - _toolTip.Active = false; - OnItemDrag(e.Button, Selection.ToArray()); - } - } - - protected override void OnMouseLeave(EventArgs e) - { - _hotColumn = null; - UpdateHeaders(); - base.OnMouseLeave(e); - } - - private void SetCursor(MouseEventArgs e) - { - TreeColumn col; - col = GetColumnDividerAt(e.Location); - if (col == null) - _innerCursor = null; - else - { - if (col.Width == 0) - _innerCursor = ResourceHelper.DVSplitCursor; - else - _innerCursor = Cursors.VSplit; - } - - col = GetColumnAt(e.Location); - if (col != _hotColumn) - { - _hotColumn = col; - UpdateHeaders(); - } - } - - internal TreeColumn GetColumnAt(Point p) - { - if (p.Y > ColumnHeaderHeight) - return null; - - int x = -OffsetX; - foreach (TreeColumn col in Columns) - { - if (col.IsVisible) - { - Rectangle rect = new Rectangle(x, 0, col.Width, ColumnHeaderHeight); - x += col.Width; - if (rect.Contains(p)) - return col; - } - } - return null; - } - - internal int GetColumnX(TreeColumn column) - { - int x = -OffsetX; - foreach (TreeColumn col in Columns) - { - if (col.IsVisible) - { - if (column == col) - return x; - else - x += col.Width; - } - } - return x; - } - - internal TreeColumn GetColumnDividerAt(Point p) - { - if (p.Y > ColumnHeaderHeight) - return null; - - int x = -OffsetX; - TreeColumn prevCol = null; - Rectangle left, right; - foreach (TreeColumn col in Columns) - { - if (col.IsVisible) - { - if (col.Width > 0) - { - left = new Rectangle(x, 0, DividerWidth / 2, ColumnHeaderHeight); - right = new Rectangle(x + col.Width - (DividerWidth / 2), 0, DividerWidth / 2, ColumnHeaderHeight); - if (left.Contains(p) && prevCol != null) - return prevCol; - else if (right.Contains(p)) - return col; - } - prevCol = col; - x += col.Width; - } - } - - left = new Rectangle(x, 0, DividerWidth / 2, ColumnHeaderHeight); - if (left.Contains(p) && prevCol != null) - return prevCol; - - return null; - } - - TreeColumn _tooltipColumn; - private void UpdateToolTip(MouseEventArgs e) - { - TreeColumn col = GetColumnAt(e.Location); - if (col != null) - { - if (col != _tooltipColumn) - SetTooltip(col.TooltipText); - } - else - DisplayNodesTooltip(e); - _tooltipColumn = col; - } - - TreeNodeAdv _hotNode; - NodeControl _hotControl; - private void DisplayNodesTooltip(MouseEventArgs e) - { - if (ShowNodeToolTips) - { - TreeNodeAdvMouseEventArgs args = CreateMouseArgs(e); - if (args.Node != null && args.Control != null) - { - if (args.Node != _hotNode || args.Control != _hotControl) - SetTooltip(GetNodeToolTip(args)); - } - else - _toolTip.SetToolTip(this, null); - - _hotControl = args.Control; - _hotNode = args.Node; - } - else - _toolTip.SetToolTip(this, null); - } - - private void SetTooltip(string text) - { - if (!String.IsNullOrEmpty(text)) - { - _toolTip.Active = false; - _toolTip.SetToolTip(this, text); - _toolTip.Active = true; - } - else - _toolTip.SetToolTip(this, null); - } - - private string GetNodeToolTip(TreeNodeAdvMouseEventArgs args) - { - string msg = args.Control.GetToolTip(args.Node); - - BaseTextControl btc = args.Control as BaseTextControl; - if (btc != null && btc.DisplayHiddenContentInToolTip && String.IsNullOrEmpty(msg)) - { - Size ms = btc.GetActualSize(args.Node, _measureContext); - if (ms.Width > args.ControlBounds.Size.Width || ms.Height > args.ControlBounds.Size.Height - || args.ControlBounds.Right - OffsetX > DisplayRectangle.Width) - msg = btc.GetLabel(args.Node); - } - - if (String.IsNullOrEmpty(msg) && DefaultToolTipProvider != null) - msg = DefaultToolTipProvider.GetToolTip(args.Node, args.Control); - - return msg; - } - - #endregion - - #region DragDrop - - private bool _dragAutoScrollFlag = false; - private Bitmap _dragBitmap = null; - private System.Threading.Timer _dragTimer; - - private void StartDragTimer() - { - if (_dragTimer == null) - _dragTimer = new System.Threading.Timer(new TimerCallback(DragTimerTick), null, 0, 100); - } - - private void StopDragTimer() - { - if (_dragTimer != null) - { - _dragTimer.Dispose(); - _dragTimer = null; - } - } - - private void SetDropPosition(Point pt) - { - TreeNodeAdv node = GetNodeAt(pt); - OnDropNodeValidating(pt, ref node); - _dropPosition.Node = node; - if (node != null) - { - Rectangle first = _rowLayout.GetRowBounds(FirstVisibleRow); - Rectangle bounds = _rowLayout.GetRowBounds(node.Row); - float pos = (pt.Y + first.Y - ColumnHeaderHeight - bounds.Y) / (float)bounds.Height; - if (pos < TopEdgeSensivity) - _dropPosition.Position = NodePosition.Before; - else if (pos > (1 - BottomEdgeSensivity)) - _dropPosition.Position = NodePosition.After; - else - _dropPosition.Position = NodePosition.Inside; - } - } - - private void DragTimerTick(object state) - { - _dragAutoScrollFlag = true; - } - - private void DragAutoScroll() - { - _dragAutoScrollFlag = false; - Point pt = PointToClient(MousePosition); - if (pt.Y < 20 && _vScrollBar.Value > 0) - _vScrollBar.Value--; - else if (pt.Y > Height - 20 && _vScrollBar.Value <= _vScrollBar.Maximum - _vScrollBar.LargeChange) - _vScrollBar.Value++; - } - - public void DoDragDropSelectedNodes(DragDropEffects allowedEffects) - { - if (SelectedNodes.Count > 0) - { - TreeNodeAdv[] nodes = new TreeNodeAdv[SelectedNodes.Count]; - SelectedNodes.CopyTo(nodes, 0); - DoDragDrop(nodes, allowedEffects); - } - } - - private void CreateDragBitmap(IDataObject data) - { - if (UseColumns || !DisplayDraggingNodes) - return; - - TreeNodeAdv[] nodes = data.GetData(typeof(TreeNodeAdv[])) as TreeNodeAdv[]; - if (nodes != null && nodes.Length > 0) - { - Rectangle rect = DisplayRectangle; - Bitmap bitmap = new Bitmap(rect.Width, rect.Height); - using (Graphics gr = Graphics.FromImage(bitmap)) - { - gr.Clear(BackColor); - DrawContext context = new DrawContext(); - context.Graphics = gr; - context.Font = Font; - context.Enabled = true; - int y = 0; - int maxWidth = 0; - foreach (TreeNodeAdv node in nodes) - { - if (node.Tree == this) - { - int x = 0; - int height = _rowLayout.GetRowBounds(node.Row).Height; - foreach (NodeControl c in NodeControls) - { - Size s = c.GetActualSize(node, context); - if (!s.IsEmpty) - { - int width = s.Width; - rect = new Rectangle(x, y, width, height); - x += (width + 1); - context.Bounds = rect; - c.Draw(node, context); - } - } - y += height; - maxWidth = Math.Max(maxWidth, x); - } - } - - if (maxWidth > 0 && y > 0) - { - _dragBitmap = new Bitmap(maxWidth, y, PixelFormat.Format32bppArgb); - using (Graphics tgr = Graphics.FromImage(_dragBitmap)) - tgr.DrawImage(bitmap, Point.Empty); - BitmapHelper.SetAlphaChanelValue(_dragBitmap, 150); - } - else - _dragBitmap = null; - } - } - } - - protected override void OnDragOver(DragEventArgs drgevent) - { - ItemDragMode = false; - Point pt = PointToClient(new Point(drgevent.X, drgevent.Y)); - if (_dragAutoScrollFlag) - DragAutoScroll(); - SetDropPosition(pt); - UpdateView(); - base.OnDragOver(drgevent); - } - - protected override void OnDragEnter(DragEventArgs drgevent) - { - _search.EndSearch(); - DragMode = true; - CreateDragBitmap(drgevent.Data); - base.OnDragEnter(drgevent); - } - - protected override void OnDragLeave(EventArgs e) - { - DragMode = false; - UpdateView(); - base.OnDragLeave(e); - } - - protected override void OnDragDrop(DragEventArgs drgevent) - { - DragMode = false; - UpdateView(); - base.OnDragDrop(drgevent); - } - - #endregion - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Properties.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Properties.cs deleted file mode 100644 index 600e2f9d3b..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.Properties.cs +++ /dev/null @@ -1,712 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Drawing; -using System.Drawing.Design; -using System.Windows.Forms; - -using Aga.Controls.Tree.NodeControls; - -namespace Aga.Controls.Tree -{ - public partial class TreeViewAdv - { - private Cursor _innerCursor = null; - - public override Cursor Cursor - { - get - { - if (_innerCursor != null) - return _innerCursor; - else - return base.Cursor; - } - set - { - base.Cursor = value; - } - } - - #region Internal Properties - - private IRowLayout _rowLayout; - - private bool _dragMode; - private bool DragMode - { - get { return _dragMode; } - set - { - _dragMode = value; - if (!value) - { - StopDragTimer(); - if (_dragBitmap != null) - _dragBitmap.Dispose(); - _dragBitmap = null; - } - else - StartDragTimer(); - } - } - - internal int ColumnHeaderHeight - { - get - { - if (UseColumns) - return _columnHeaderHeight; - else - return 0; - } - } - - /// <summary> - /// returns all nodes, which parent is expanded - /// </summary> - private IEnumerable<TreeNodeAdv> VisibleNodes - { - get - { - TreeNodeAdv node = Root; - while (node != null) - { - node = node.NextVisibleNode; - if (node != null) - yield return node; - } - } - } - - private bool _suspendSelectionEvent; - internal bool SuspendSelectionEvent - { - get { return _suspendSelectionEvent; } - set - { - if (value != _suspendSelectionEvent) - { - _suspendSelectionEvent = value; - if (!_suspendSelectionEvent && _fireSelectionEvent) - OnSelectionChanged(); - } - } - } - - private List<TreeNodeAdv> _rowMap; - internal List<TreeNodeAdv> RowMap - { - get { return _rowMap; } - } - - private TreeNodeAdv _selectionStart; - internal TreeNodeAdv SelectionStart - { - get { return _selectionStart; } - set { _selectionStart = value; } - } - - private InputState _input; - internal InputState Input - { - get { return _input; } - set - { - _input = value; - } - } - - private bool _itemDragMode; - internal bool ItemDragMode - { - get { return _itemDragMode; } - set { _itemDragMode = value; } - } - - private Point _itemDragStart; - internal Point ItemDragStart - { - get { return _itemDragStart; } - set { _itemDragStart = value; } - } - - - /// <summary> - /// Number of rows fits to the current page - /// </summary> - internal int CurrentPageSize - { - get - { - return _rowLayout.CurrentPageSize; - } - } - - /// <summary> - /// Number of all visible nodes (which parent is expanded) - /// </summary> - internal int RowCount - { - get - { - return RowMap.Count; - } - } - - private int _contentWidth = 0; - private int ContentWidth - { - get - { - return _contentWidth; - } - } - - private int _firstVisibleRow; - internal int FirstVisibleRow - { - get { return _firstVisibleRow; } - set - { - HideEditor(); - _firstVisibleRow = value; - UpdateView(); - } - } - - private int _offsetX; - public int OffsetX - { - get { return _offsetX; } - private set - { - HideEditor(); - _offsetX = value; - UpdateView(); - } - } - - public override Rectangle DisplayRectangle - { - get - { - Rectangle r = ClientRectangle; - //r.Y += ColumnHeaderHeight; - //r.Height -= ColumnHeaderHeight; - int w = _vScrollBar.Visible ? _vScrollBar.Width : 0; - int h = _hScrollBar.Visible ? _hScrollBar.Height : 0; - return new Rectangle(r.X, r.Y, r.Width - w, r.Height - h); - } - } - - private List<TreeNodeAdv> _selection; - internal List<TreeNodeAdv> Selection - { - get { return _selection; } - } - - #endregion - - #region Public Properties - - #region DesignTime - - private bool _displayDraggingNodes; - [DefaultValue(false), Category("Behavior")] - public bool DisplayDraggingNodes - { - get { return _displayDraggingNodes; } - set { _displayDraggingNodes = value; } - } - - private bool _fullRowSelect; - [DefaultValue(false), Category("Behavior")] - public bool FullRowSelect - { - get { return _fullRowSelect; } - set - { - _fullRowSelect = value; - UpdateView(); - } - } - - private bool _useColumns; - [DefaultValue(false), Category("Behavior")] - public bool UseColumns - { - get { return _useColumns; } - set - { - _useColumns = value; - FullUpdate(); - } - } - - private bool _allowColumnReorder; - [DefaultValue(false), Category("Behavior")] - public bool AllowColumnReorder - { - get { return _allowColumnReorder; } - set { _allowColumnReorder = value; } - } - - private bool _showLines = true; - [DefaultValue(true), Category("Behavior")] - public bool ShowLines - { - get { return _showLines; } - set - { - _showLines = value; - UpdateView(); - } - } - - private bool _showPlusMinus = true; - [DefaultValue(true), Category("Behavior")] - public bool ShowPlusMinus - { - get { return _showPlusMinus; } - set - { - _showPlusMinus = value; - FullUpdate(); - } - } - - private bool _showNodeToolTips = false; - [DefaultValue(false), Category("Behavior")] - public bool ShowNodeToolTips - { - get { return _showNodeToolTips; } - set { _showNodeToolTips = value; } - } - - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", MessageId = "value"), System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic"), DefaultValue(true), Category("Behavior"), Obsolete("No longer used")] - public bool KeepNodesExpanded - { - get { return true; } - set {} - } - - private ITreeModel _model; - [Category("Data")] - public ITreeModel Model - { - get { return _model; } - set - { - if (_model != value) - { - AbortBackgroundExpandingThreads(); - if (_model != null) - UnbindModelEvents(); - _model = value; - CreateNodes(); - FullUpdate(); - if (_model != null) - BindModelEvents(); - } - } - } - - // Font proprety for Tahoma as default font - private static Font _font = new Font("Tahoma", 8.25F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(0)), false); - [Category("Appearance")] - public override Font Font - { - get - { - return (base.Font); - } - set - { - if (value == null) - base.Font = _font; - else - { - if (value == System.Windows.Forms.Control.DefaultFont) - base.Font = _font; - else - base.Font = value; - } - } - } - public override void ResetFont() - { - Font = null; - } - private bool ShouldSerializeFont() - { - return (!Font.Equals(_font)); - } - // End font property - - private BorderStyle _borderStyle = BorderStyle.Fixed3D; - [DefaultValue(BorderStyle.Fixed3D), Category("Appearance")] - public BorderStyle BorderStyle - { - get - { - return this._borderStyle; - } - set - { - if (_borderStyle != value) - { - _borderStyle = value; - base.UpdateStyles(); - } - } - } - - private bool _autoRowHeight = false; - /// <summary> - /// Set to true to expand each row's height to fit the text of it's largest column. - /// </summary> - [DefaultValue(false), Category("Appearance"), Description("Expand each row's height to fit the text of it's largest column.")] - public bool AutoRowHeight - { - get - { - return _autoRowHeight; - } - set - { - _autoRowHeight = value; - if (value) - _rowLayout = new AutoRowHeightLayout(this, RowHeight); - else - _rowLayout = new FixedRowHeightLayout(this, RowHeight); - FullUpdate(); - } - } - - private GridLineStyle _gridLineStyle = GridLineStyle.None; - [DefaultValue(GridLineStyle.None), Category("Appearance")] - public GridLineStyle GridLineStyle - { - get - { - return _gridLineStyle; - } - set - { - if (value != _gridLineStyle) - { - _gridLineStyle = value; - UpdateView(); - OnGridLineStyleChanged(); - } - } - } - - private int _rowHeight = 16; - [DefaultValue(16), Category("Appearance")] - public int RowHeight - { - get - { - return _rowHeight; - } - set - { - if (value <= 0) - throw new ArgumentOutOfRangeException("value"); - - _rowHeight = value; - _rowLayout.PreferredRowHeight = value; - FullUpdate(); - } - } - - private TreeSelectionMode _selectionMode = TreeSelectionMode.Single; - [DefaultValue(TreeSelectionMode.Single), Category("Behavior")] - public TreeSelectionMode SelectionMode - { - get { return _selectionMode; } - set { _selectionMode = value; } - } - - private bool _hideSelection; - [DefaultValue(false), Category("Behavior")] - public bool HideSelection - { - get { return _hideSelection; } - set - { - _hideSelection = value; - UpdateView(); - } - } - - private float _topEdgeSensivity = 0.3f; - [DefaultValue(0.3f), Category("Behavior")] - public float TopEdgeSensivity - { - get { return _topEdgeSensivity; } - set - { - if (value < 0 || value > 1) - throw new ArgumentOutOfRangeException(); - _topEdgeSensivity = value; - } - } - - private float _bottomEdgeSensivity = 0.3f; - [DefaultValue(0.3f), Category("Behavior")] - public float BottomEdgeSensivity - { - get { return _bottomEdgeSensivity; } - set - { - if (value < 0 || value > 1) - throw new ArgumentOutOfRangeException("value should be from 0 to 1"); - _bottomEdgeSensivity = value; - } - } - - private bool _loadOnDemand; - [DefaultValue(false), Category("Behavior")] - public bool LoadOnDemand - { - get { return _loadOnDemand; } - set { _loadOnDemand = value; } - } - - private bool _unloadCollapsedOnReload = false; - [DefaultValue(false), Category("Behavior")] - public bool UnloadCollapsedOnReload - { - get { return _unloadCollapsedOnReload; } - set { _unloadCollapsedOnReload = value; } - } - - private int _indent = 19; - [DefaultValue(19), Category("Behavior")] - public int Indent - { - get { return _indent; } - set - { - _indent = value; - UpdateView(); - } - } - - private Color _lineColor = SystemColors.ControlDark; - [Category("Behavior")] - public Color LineColor - { - get { return _lineColor; } - set - { - _lineColor = value; - CreateLinePen(); - UpdateView(); - } - } - - private Color _dragDropMarkColor = Color.Black; - [Category("Behavior")] - public Color DragDropMarkColor - { - get { return _dragDropMarkColor; } - set - { - _dragDropMarkColor = value; - CreateMarkPen(); - } - } - - private float _dragDropMarkWidth = 3.0f; - [DefaultValue(3.0f), Category("Behavior")] - public float DragDropMarkWidth - { - get { return _dragDropMarkWidth; } - set - { - _dragDropMarkWidth = value; - CreateMarkPen(); - } - } - - private bool _highlightDropPosition = true; - [DefaultValue(true), Category("Behavior")] - public bool HighlightDropPosition - { - get { return _highlightDropPosition; } - set { _highlightDropPosition = value; } - } - - private TreeColumnCollection _columns; - [Category("Behavior"), DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] - public Collection<TreeColumn> Columns - { - get { return _columns; } - } - - private NodeControlsCollection _controls; - [Category("Behavior"), DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] - [Editor(typeof(NodeControlCollectionEditor), typeof(UITypeEditor))] - public Collection<NodeControl> NodeControls - { - get - { - return _controls; - } - } - - private bool _asyncExpanding; - /// <summary> - /// When set to true, node contents will be read in background thread - /// </summary> - [Category("Behavior"), DefaultValue(false), Description("Read children in a background thread when expanding.")] - public bool AsyncExpanding - { - get { return _asyncExpanding; } - set { _asyncExpanding = value; } - } - - #endregion - - #region RunTime - - private IToolTipProvider _defaultToolTipProvider = null; - [Browsable(false)] - public IToolTipProvider DefaultToolTipProvider - { - get { return _defaultToolTipProvider; } - set { _defaultToolTipProvider = value; } - } - - [Browsable(false)] - public IEnumerable<TreeNodeAdv> AllNodes - { - get - { - if (_root.Nodes.Count > 0) - { - TreeNodeAdv node = _root.Nodes[0]; - while (node != null) - { - yield return node; - if (node.Nodes.Count > 0) - node = node.Nodes[0]; - else if (node.NextNode != null) - node = node.NextNode; - else - node = node.BottomNode; - } - } - } - } - - private DropPosition _dropPosition; - [Browsable(false)] - public DropPosition DropPosition - { - get { return _dropPosition; } - set { _dropPosition = value; } - } - - private TreeNodeAdv _root; - [Browsable(false)] - public TreeNodeAdv Root - { - get { return _root; } - } - - private ReadOnlyCollection<TreeNodeAdv> _readonlySelection; - [Browsable(false)] - public ReadOnlyCollection<TreeNodeAdv> SelectedNodes - { - get - { - return _readonlySelection; - } - } - - [Browsable(false)] - public TreeNodeAdv SelectedNode - { - get - { - if (Selection.Count > 0) - { - if (CurrentNode != null && CurrentNode.IsSelected) - return CurrentNode; - else - return Selection[0]; - } - else - return null; - } - set - { - if (SelectedNode == value) - return; - - BeginUpdate(); - try - { - if (value == null) - { - ClearSelectionInternal(); - } - else - { - if (!IsMyNode(value)) - throw new ArgumentException(); - - ClearSelectionInternal(); - value.IsSelected = true; - CurrentNode = value; - EnsureVisible(value); - } - } - finally - { - EndUpdate(); - } - } - } - - private TreeNodeAdv _currentNode; - [Browsable(false)] - public TreeNodeAdv CurrentNode - { - get { return _currentNode; } - internal set { _currentNode = value; } - } - - [Browsable(false)] - public int ItemCount - { - get { return RowMap.Count; } - } - - /// <summary> - /// Indicates the distance the content is scrolled to the left - /// </summary> - [Browsable(false)] - public int HorizontalScrollPosition - { - get - { - if (_hScrollBar.Visible) - return _hScrollBar.Value; - else - return 0; - } - } - - #endregion - - #endregion - - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.cs deleted file mode 100644 index c01572150e..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdv.cs +++ /dev/null @@ -1,1265 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Diagnostics.CodeAnalysis; -using System.Drawing; -using System.Drawing.Drawing2D; -using System.Security.Permissions; -using System.Windows.Forms; -using System.Windows.Forms.VisualStyles; -using System.Collections; -using System.Drawing.Design; -using Aga.Controls.Tree.NodeControls; -using System.Drawing.Imaging; -using System.Diagnostics; -using System.Threading; -using Aga.Controls.Threading; - - -namespace Aga.Controls.Tree -{ - public partial class TreeViewAdv : Control - { - private const int LeftMargin = 7; - internal const int ItemDragSensivity = 4; - private readonly int _columnHeaderHeight; - private const int DividerWidth = 9; - private const int DividerCorrectionGap = -2; - - private Pen _linePen; - private Pen _markPen; - private int _suspendUpdate = 0; - private bool _needFullUpdate; - private bool _fireSelectionEvent; - private NodePlusMinus _plusMinus; - private Control _currentEditor; - private EditableControl _currentEditorOwner; - private ToolTip _toolTip; - private DrawContext _measureContext; - private TreeColumn _hotColumn = null; - private IncrementalSearch _search; - private List<TreeNodeAdv> _expandingNodes = new List<TreeNodeAdv>(); - private AbortableThreadPool _threadPool = new AbortableThreadPool(); - private ContextMenuStrip _cms; - - public new ContextMenuStrip ContextMenuStrip { - set { - base.ContextMenuStrip = value; - _cms = value; - } - } - - #region Public Events - - [Category("Action")] - public event ItemDragEventHandler ItemDrag; - private void OnItemDrag(MouseButtons buttons, object item) - { - if (ItemDrag != null) - ItemDrag(this, new ItemDragEventArgs(buttons, item)); - } - - [Category("Behavior")] - public event EventHandler<TreeNodeAdvMouseEventArgs> NodeMouseClick; - private void OnNodeMouseClick(TreeNodeAdvMouseEventArgs args) - { - if (NodeMouseClick != null) - NodeMouseClick(this, args); - } - - [Category("Behavior")] - public event EventHandler<TreeNodeAdvMouseEventArgs> NodeMouseDoubleClick; - private void OnNodeMouseDoubleClick(TreeNodeAdvMouseEventArgs args) - { - if (NodeMouseDoubleClick != null) - NodeMouseDoubleClick(this, args); - } - - [Category("Behavior")] - public event EventHandler<TreeColumnEventArgs> ColumnWidthChanged; - internal void OnColumnWidthChanged(TreeColumn column) - { - if (ColumnWidthChanged != null) - ColumnWidthChanged(this, new TreeColumnEventArgs(column)); - } - - [Category("Behavior")] - public event EventHandler<TreeColumnEventArgs> ColumnReordered; - internal void OnColumnReordered(TreeColumn column) - { - if (ColumnReordered != null) - ColumnReordered(this, new TreeColumnEventArgs(column)); - } - - [Category("Behavior")] - public event EventHandler<TreeColumnEventArgs> ColumnClicked; - internal void OnColumnClicked(TreeColumn column) - { - if (ColumnClicked != null) - ColumnClicked(this, new TreeColumnEventArgs(column)); - } - - [Category("Behavior")] - public event EventHandler SelectionChanged; - internal void OnSelectionChanged() - { - if (SuspendSelectionEvent) - _fireSelectionEvent = true; - else - { - _fireSelectionEvent = false; - if (SelectionChanged != null) - SelectionChanged(this, EventArgs.Empty); - } - } - - [Category("Behavior")] - public event EventHandler<TreeViewAdvEventArgs> Collapsing; - private void OnCollapsing(TreeNodeAdv node) - { - if (Collapsing != null) - Collapsing(this, new TreeViewAdvEventArgs(node)); - } - - [Category("Behavior")] - public event EventHandler<TreeViewAdvEventArgs> Collapsed; - private void OnCollapsed(TreeNodeAdv node) - { - if (Collapsed != null) - Collapsed(this, new TreeViewAdvEventArgs(node)); - } - - [Category("Behavior")] - public event EventHandler<TreeViewAdvEventArgs> Expanding; - private void OnExpanding(TreeNodeAdv node) - { - if (Expanding != null) - Expanding(this, new TreeViewAdvEventArgs(node)); - } - - [Category("Behavior")] - public event EventHandler<TreeViewAdvEventArgs> Expanded; - private void OnExpanded(TreeNodeAdv node) - { - if (Expanded != null) - Expanded(this, new TreeViewAdvEventArgs(node)); - } - - [Category("Behavior")] - public event EventHandler GridLineStyleChanged; - private void OnGridLineStyleChanged() - { - if (GridLineStyleChanged != null) - GridLineStyleChanged(this, EventArgs.Empty); - } - - [Category("Behavior")] - public event ScrollEventHandler Scroll; - protected virtual void OnScroll(ScrollEventArgs e) - { - if (Scroll != null) - Scroll(this, e); - } - - [Category("Behavior")] - public event EventHandler<TreeViewRowDrawEventArgs> RowDraw; - protected virtual void OnRowDraw(PaintEventArgs e, TreeNodeAdv node, DrawContext context, int row, Rectangle rowRect) - { - if (RowDraw != null) - { - TreeViewRowDrawEventArgs args = new TreeViewRowDrawEventArgs(e.Graphics, e.ClipRectangle, node, context, row, rowRect); - RowDraw(this, args); - } - } - - [Category("Drag Drop")] - public event EventHandler<DropNodeValidatingEventArgs> DropNodeValidating; - protected virtual void OnDropNodeValidating(Point point, ref TreeNodeAdv node) - { - if (DropNodeValidating != null) - { - DropNodeValidatingEventArgs args = new DropNodeValidatingEventArgs(point, node); - DropNodeValidating(this, args); - node = args.Node; - } - } - #endregion - - public TreeViewAdv() - { - InitializeComponent(); - SetStyle(ControlStyles.AllPaintingInWmPaint - | ControlStyles.UserPaint - | ControlStyles.OptimizedDoubleBuffer - | ControlStyles.ResizeRedraw - | ControlStyles.Selectable - , true); - - - if (Application.RenderWithVisualStyles) - _columnHeaderHeight = 20; - else - _columnHeaderHeight = 17; - - //BorderStyle = BorderStyle.Fixed3D; - _hScrollBar.Height = SystemInformation.HorizontalScrollBarHeight; - _vScrollBar.Width = SystemInformation.VerticalScrollBarWidth; - _rowLayout = new FixedRowHeightLayout(this, RowHeight); - _rowMap = new List<TreeNodeAdv>(); - _selection = new List<TreeNodeAdv>(); - _readonlySelection = new ReadOnlyCollection<TreeNodeAdv>(_selection); - _columns = new TreeColumnCollection(this); - _toolTip = new ToolTip(); - - _measureContext = new DrawContext(); - _measureContext.Font = Font; - _measureContext.Graphics = Graphics.FromImage(new Bitmap(1, 1)); - - Input = new NormalInputState(this); - _search = new IncrementalSearch(this); - CreateNodes(); - CreatePens(); - - ArrangeControls(); - - _plusMinus = new NodePlusMinus(); - _controls = new NodeControlsCollection(this); - - Font = _font; - ExpandingIcon.IconChanged += ExpandingIconChanged; - } - - void ExpandingIconChanged(object sender, EventArgs e) - { - if (IsHandleCreated) - Invoke(new MethodInvoker(DrawIcons)); - } - - private void DrawIcons() - { - using (Graphics gr = Graphics.FromHwnd(this.Handle)) - { - //Apply the same Graphics Transform logic as used in OnPaint. - int y = 0; - if (UseColumns) - { - y += ColumnHeaderHeight; - if (Columns.Count == 0) - return; - } - int firstRowY = _rowLayout.GetRowBounds(FirstVisibleRow).Y; - y -= firstRowY; - gr.ResetTransform(); - gr.TranslateTransform(-OffsetX, y); - - DrawContext context = new DrawContext(); - context.Graphics = gr; - for (int i = 0; i < _expandingNodes.Count; i++) - { - foreach (NodeControlInfo item in GetNodeControls(_expandingNodes[i])) - { - if (item.Control is ExpandingIcon ) - { - Rectangle bounds = item.Bounds; - if (item.Node.Parent == null && UseColumns) - bounds.Location = Point.Empty; // display root expanding icon at 0,0 - - context.Bounds = bounds; - item.Control.Draw(item.Node, context); - } - } - } - } - } - - #region Public Methods - - public TreePath GetPath(TreeNodeAdv node) - { - if (node == _root) - return TreePath.Empty; - else - { - Stack<object> stack = new Stack<object>(); - while (node != _root && node != null) - { - stack.Push(node.Tag); - node = node.Parent; - } - return new TreePath(stack.ToArray()); - } - } - - public TreeNodeAdv GetNodeAt(Point point) - { - NodeControlInfo info = GetNodeControlInfoAt(point); - return info.Node; - } - - public NodeControlInfo GetNodeControlInfoAt(Point point) - { - if (point.X < 0 || point.Y < 0) - return NodeControlInfo.Empty; - - int row = _rowLayout.GetRowAt(point); - if (row < RowCount && row >= 0) - return GetNodeControlInfoAt(RowMap[row], point); - else - return NodeControlInfo.Empty; - } - - private NodeControlInfo GetNodeControlInfoAt(TreeNodeAdv node, Point point) - { - Rectangle rect = _rowLayout.GetRowBounds(FirstVisibleRow); - point.Y += (rect.Y - ColumnHeaderHeight); - point.X += OffsetX; - foreach (NodeControlInfo info in GetNodeControls(node)) - if (info.Bounds.Contains(point)) - return info; - - if (FullRowSelect) - return new NodeControlInfo(null, Rectangle.Empty, node); - else - return NodeControlInfo.Empty; - } - - public void BeginUpdate() - { - _suspendUpdate++; - SuspendSelectionEvent = true; - } - - public void EndUpdate() - { - if (_suspendUpdate == 0) { - throw new Exception("Number of calls to BeginUpdate does not match number of calls to EndUpdate."); - } - _suspendUpdate--; - if (_suspendUpdate == 0) { - if (_needFullUpdate) - FullUpdate(); - else - UpdateView(); - SuspendSelectionEvent = false; - } - } - - public void ExpandAll() - { - _root.ExpandAll(); - } - - public void CollapseAll() - { - _root.CollapseAll(); - } - - /// <summary> - /// Expand all parent nodes, andd scroll to the specified node - /// </summary> - public void EnsureVisible(TreeNodeAdv node) - { - if (node == null) - throw new ArgumentNullException("node"); - - if (!IsMyNode(node)) - throw new ArgumentException(); - - TreeNodeAdv parent = node.Parent; - while (parent != _root) - { - parent.IsExpanded = true; - parent = parent.Parent; - } - ScrollTo(node); - } - - /// <summary> - /// Make node visible, scroll if needed. All parent nodes of the specified node must be expanded - /// </summary> - /// <param name="node"></param> - public void ScrollTo(TreeNodeAdv node) - { - if (node == null) - throw new ArgumentNullException("node"); - - if (!IsMyNode(node)) - throw new ArgumentException(); - - if (node.Row < 0) - CreateRowMap(); - - int row = -1; - - if (node.Row < FirstVisibleRow) - row = node.Row; - else - { - int pageStart = _rowLayout.GetRowBounds(FirstVisibleRow).Top; - int rowBottom = _rowLayout.GetRowBounds(node.Row).Bottom; - if (rowBottom > pageStart + DisplayRectangle.Height - ColumnHeaderHeight) - row = _rowLayout.GetFirstRow(node.Row); - } - - if (row >= _vScrollBar.Minimum && row <= _vScrollBar.Maximum) - _vScrollBar.Value = row; - } - - public void ClearSelection() - { - BeginUpdate(); - try - { - ClearSelectionInternal(); - } - finally - { - EndUpdate(); - } - } - - internal void ClearSelectionInternal() - { - while (Selection.Count > 0) - Selection[0].IsSelected = false; - } - - #endregion - - protected override void OnSizeChanged(EventArgs e) - { - ArrangeControls(); - SafeUpdateScrollBars(); - base.OnSizeChanged(e); - } - - private void ArrangeControls() - { - int hBarSize = _hScrollBar.Height; - int vBarSize = _vScrollBar.Width; - Rectangle clientRect = ClientRectangle; - - _hScrollBar.SetBounds(clientRect.X, clientRect.Bottom - hBarSize, - clientRect.Width - vBarSize, hBarSize); - - _vScrollBar.SetBounds(clientRect.Right - vBarSize, clientRect.Y, - vBarSize, clientRect.Height - hBarSize); - } - - private void SafeUpdateScrollBars() - { - if (InvokeRequired) - Invoke(new MethodInvoker(UpdateScrollBars)); - else - UpdateScrollBars(); - } - - private void UpdateScrollBars() - { - UpdateVScrollBar(); - UpdateHScrollBar(); - UpdateVScrollBar(); - UpdateHScrollBar(); - _hScrollBar.Width = DisplayRectangle.Width; - _vScrollBar.Height = DisplayRectangle.Height; - } - - private void UpdateHScrollBar() - { - _hScrollBar.Maximum = ContentWidth; - _hScrollBar.LargeChange = Math.Max(DisplayRectangle.Width, 0); - _hScrollBar.SmallChange = 5; - _hScrollBar.Visible = _hScrollBar.LargeChange < _hScrollBar.Maximum; - _hScrollBar.Value = Math.Min(_hScrollBar.Value, _hScrollBar.Maximum - _hScrollBar.LargeChange + 1); - } - - private void UpdateVScrollBar() - { - _vScrollBar.Maximum = Math.Max(RowCount - 1, 0); - _vScrollBar.LargeChange = _rowLayout.PageRowCount; - _vScrollBar.Visible = (RowCount > 0) && (_vScrollBar.LargeChange <= _vScrollBar.Maximum); - _vScrollBar.Value = Math.Min(_vScrollBar.Value, _vScrollBar.Maximum - _vScrollBar.LargeChange + 1); - } - - protected override CreateParams CreateParams - { - [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)] - get - { - CreateParams res = base.CreateParams; - switch (BorderStyle) - { - case BorderStyle.FixedSingle: - res.Style |= 0x800000; - break; - case BorderStyle.Fixed3D: - res.ExStyle |= 0x200; - break; - } - return res; - } - } - - protected override void OnGotFocus(EventArgs e) - { - HideEditor(); - UpdateView(); - ChangeInput(); - base.OnGotFocus(e); - } - - protected override void OnLeave(EventArgs e) - { - if (_currentEditorOwner != null) - _currentEditorOwner.ApplyChanges(); - HideEditor(); - UpdateView(); - base.OnLeave(e); - } - - protected override void OnFontChanged(EventArgs e) - { - base.OnFontChanged(e); - _measureContext.Font = Font; - FullUpdate(); - } - - public IEnumerable<NodeControlInfo> GetNodeControls(TreeNodeAdv node) - { - if (node == null) - yield break; - Rectangle rowRect = _rowLayout.GetRowBounds(node.Row); - foreach (NodeControlInfo n in GetNodeControls(node, rowRect)) - yield return n; - } - - internal IEnumerable<NodeControlInfo> GetNodeControls(TreeNodeAdv node, Rectangle rowRect) - { - if (node == null) - yield break; - - int y = rowRect.Y; - int x = (node.Level - 1) * _indent + LeftMargin; - int width = 0; - Rectangle rect = Rectangle.Empty; - - if (ShowPlusMinus) - { - width = _plusMinus.GetActualSize(node, _measureContext).Width; - rect = new Rectangle(x, y, width, rowRect.Height); - if (UseColumns && Columns.Count > 0 && Columns[0].Width < rect.Right) - rect.Width = Columns[0].Width - x; - - yield return new NodeControlInfo(_plusMinus, rect, node); - x += width; - } - - if (!UseColumns) - { - foreach (NodeControl c in NodeControls) - { - Size s = c.GetActualSize(node, _measureContext); - if (!s.IsEmpty) - { - width = s.Width; - rect = new Rectangle(x, y, width, rowRect.Height); - x += rect.Width; - yield return new NodeControlInfo(c, rect, node); - } - } - } - else - { - int right = 0; - foreach (TreeColumn col in Columns) - { - if (col.IsVisible && col.Width > 0) - { - right += col.Width; - for (int i = 0; i < NodeControls.Count; i++) - { - NodeControl nc = NodeControls[i]; - if (nc.ParentColumn == col) - { - Size s = nc.GetActualSize(node, _measureContext); - if (!s.IsEmpty) - { - bool isLastControl = true; - for (int k = i + 1; k < NodeControls.Count; k++) - if (NodeControls[k].ParentColumn == col) - { - isLastControl = false; - break; - } - - width = right - x; - if (!isLastControl) - width = s.Width; - int maxWidth = Math.Max(0, right - x); - rect = new Rectangle(x, y, Math.Min(maxWidth, width), rowRect.Height); - x += width; - yield return new NodeControlInfo(nc, rect, node); - } - } - } - x = right; - } - } - } - } - - internal static double Dist(Point p1, Point p2) - { - return Math.Sqrt(Math.Pow(p1.X - p2.X, 2) + Math.Pow(p1.Y - p2.Y, 2)); - } - - public void FullUpdate() - { - if (InvokeRequired) - Invoke(new MethodInvoker(UnsafeFullUpdate)); - else - UnsafeFullUpdate(); - } - - private void UnsafeFullUpdate() - { - _rowLayout.ClearCache(); - CreateRowMap(); - SafeUpdateScrollBars(); - UpdateView(); - _needFullUpdate = false; - } - - internal void UpdateView() - { - if (_suspendUpdate == 0) - Invalidate(false); - } - - internal void UpdateHeaders() - { - Invalidate(new Rectangle(0,0, Width, ColumnHeaderHeight)); - } - - internal void UpdateColumns() - { - FullUpdate(); - } - - private void CreateNodes() - { - Selection.Clear(); - SelectionStart = null; - _root = new TreeNodeAdv(this, null); - _root.IsExpanded = true; - if (_root.Nodes.Count > 0) - CurrentNode = _root.Nodes[0]; - else - CurrentNode = null; - } - - internal void ReadChilds(TreeNodeAdv parentNode) - { - ReadChilds(parentNode, false); - } - - internal void ReadChilds(TreeNodeAdv parentNode, bool performFullUpdate) - { - if (!parentNode.IsLeaf) - { - parentNode.IsExpandedOnce = true; - List<TreeNodeAdv> oldNodes = new List<TreeNodeAdv>(parentNode.Nodes); - parentNode.Nodes.Clear(); - - if (Model != null) - { - IEnumerable items = Model.GetChildren(GetPath(parentNode)); - if (items != null) - foreach (object obj in items) - { - bool found = false; - if (obj != null) - { - for (int i = 0; i < oldNodes.Count; i++) - if (object.Equals(obj, oldNodes[i].Tag)) - { - oldNodes[i].RightBounds = oldNodes[i].Height = null; - AddNode(parentNode, -1, oldNodes[i]); - oldNodes.RemoveAt(i); - found = true; - break; - } - } - if (!found) - AddNewNode(parentNode, obj, -1); - - if (performFullUpdate) - FullUpdate(); - } - } - - } - } - - private void AddNewNode(TreeNodeAdv parent, object tag, int index) - { - TreeNodeAdv node = new TreeNodeAdv(this, tag); - AddNode(parent, index, node); - } - - private void AddNode(TreeNodeAdv parent, int index, TreeNodeAdv node) - { - if (index >= 0 && index < parent.Nodes.Count) - parent.Nodes.Insert(index, node); - else - parent.Nodes.Add(node); - - node.IsLeaf = Model.IsLeaf(GetPath(node)); - if (node.IsLeaf) - node.Nodes.Clear(); - - if (!LoadOnDemand) - ReadChilds(node); - else if (node.IsExpandedOnce) - { - if (!node.IsExpanded && UnloadCollapsedOnReload) - { - node.IsExpandedOnce = false; - node.Nodes.Clear(); - } - else - ReadChilds(node); - } - /*if (!LoadOnDemand || node.IsExpandedOnce) - ReadChilds(node);*/ - } - - private struct ExpandArgs - { - public TreeNodeAdv Node; - public bool Value; - public bool IgnoreChildren; - } - - public void AbortBackgroundExpandingThreads() - { - _threadPool.CancelAll(true); - for (int i = 0; i < _expandingNodes.Count; i++) - _expandingNodes[i].IsExpandingNow = false; - _expandingNodes.Clear(); - Invalidate(); - } - - internal void SetIsExpanded(TreeNodeAdv node, bool value, bool ignoreChildren) - { - ExpandArgs eargs = new ExpandArgs(); - eargs.Node = node; - eargs.Value = value; - eargs.IgnoreChildren = ignoreChildren; - - if (AsyncExpanding && LoadOnDemand && !_threadPool.IsMyThread(Thread.CurrentThread)) - { - WaitCallback wc = delegate(object argument) { SetIsExpanded((ExpandArgs)argument); }; - _threadPool.QueueUserWorkItem(wc, eargs); - } - else - SetIsExpanded(eargs); - } - - private void SetIsExpanded(ExpandArgs eargs) - { - bool update = !eargs.IgnoreChildren && !AsyncExpanding; - if (update) - BeginUpdate(); - try - { - if (IsMyNode(eargs.Node) && eargs.Node.IsExpanded != eargs.Value) - SetIsExpanded(eargs.Node, eargs.Value); - - if (!eargs.IgnoreChildren) - SetIsExpandedRecursive(eargs.Node, eargs.Value); - } - finally - { - if (update) - EndUpdate(); - } - } - - internal void SetIsExpanded(TreeNodeAdv node, bool value) - { - if (Root == node && !value) - return; //Can't collapse root node - - if (value) { - OnExpanding(node); - node.OnExpanding(); - } else { - OnCollapsing(node); - node.OnCollapsing(); - } - - if (value && !node.IsExpandedOnce) - { - if (AsyncExpanding && LoadOnDemand) - { - AddExpandingNode(node); - node.AssignIsExpanded(true); - Invalidate(); - } - ReadChilds(node, AsyncExpanding); - RemoveExpandingNode(node); - } - node.AssignIsExpanded(value); - SmartFullUpdate(); - - if (value) { - OnExpanded(node); - node.OnExpanded(); - } else { - OnCollapsed(node); - node.OnCollapsed(); - } - } - - private void RemoveExpandingNode(TreeNodeAdv node) - { - node.IsExpandingNow = false; - _expandingNodes.Remove(node); - if (_expandingNodes.Count <= 0) - ExpandingIcon.Stop(); - } - - private void AddExpandingNode(TreeNodeAdv node) - { - node.IsExpandingNow = true; - _expandingNodes.Add(node); - ExpandingIcon.Start(); - } - - internal void SetIsExpandedRecursive(TreeNodeAdv root, bool value) - { - for (int i = 0; i < root.Nodes.Count; i++) - { - TreeNodeAdv node = root.Nodes[i]; - node.IsExpanded = value; - SetIsExpandedRecursive(node, value); - } - } - - private void CreateRowMap() - { - RowMap.Clear(); - int row = 0; - _contentWidth = 0; - foreach (TreeNodeAdv node in VisibleNodes) - { - node.Row = row; - RowMap.Add(node); - if (!UseColumns) - { - _contentWidth = Math.Max(_contentWidth, GetNodeWidth(node)); - } - row++; - } - if (UseColumns) - { - _contentWidth = 0; - foreach (TreeColumn col in _columns) - if (col.IsVisible) - _contentWidth += col.Width; - } - } - - private int GetNodeWidth(TreeNodeAdv node) - { - if (node.RightBounds == null) - { - Rectangle res = GetNodeBounds(GetNodeControls(node, Rectangle.Empty)); - node.RightBounds = res.Right; - } - return node.RightBounds.Value; - } - - internal Rectangle GetNodeBounds(TreeNodeAdv node) - { - return GetNodeBounds(GetNodeControls(node)); - } - - private Rectangle GetNodeBounds(IEnumerable<NodeControlInfo> nodeControls) - { - Rectangle res = Rectangle.Empty; - foreach (NodeControlInfo info in nodeControls) - { - if (res == Rectangle.Empty) - res = info.Bounds; - else - res = Rectangle.Union(res, info.Bounds); - } - return res; - } - - private void _vScrollBar_ValueChanged(object sender, EventArgs e) - { - FirstVisibleRow = _vScrollBar.Value; - } - - private void _hScrollBar_ValueChanged(object sender, EventArgs e) - { - OffsetX = _hScrollBar.Value; - } - - private void _vScrollBar_Scroll(object sender, ScrollEventArgs e) - { - OnScroll(e); - } - - private void _hScrollBar_Scroll(object sender, ScrollEventArgs e) - { - OnScroll(e); - } - - internal void SmartFullUpdate() - { - if (_suspendUpdate > 0) - _needFullUpdate = true; - else - FullUpdate(); - } - - internal bool IsMyNode(TreeNodeAdv node) - { - if (node == null) - return false; - - if (node.Tree != this) - return false; - - while (node.Parent != null) - node = node.Parent; - - return node == _root; - } - - internal void UpdateSelection() - { - bool flag = false; - - if (!IsMyNode(CurrentNode)) - CurrentNode = null; - if (!IsMyNode(_selectionStart)) - _selectionStart = null; - - for (int i = Selection.Count - 1; i >= 0; i--) - if (!IsMyNode(Selection[i])) - { - flag = true; - Selection.RemoveAt(i); - } - - if (flag) - OnSelectionChanged(); - } - - internal void ChangeColumnWidth(TreeColumn column) - { - if (!(_input is ResizeColumnState)) - { - FullUpdate(); - OnColumnWidthChanged(column); - } - } - - public TreeNodeAdv FindNode(TreePath path) - { - return FindNode(path, false); - } - - public TreeNodeAdv FindNode(TreePath path, bool readChilds) - { - if (path.IsEmpty()) - return _root; - else - return FindNode(_root, path, 0, readChilds); - } - - private TreeNodeAdv FindNode(TreeNodeAdv root, TreePath path, int level, bool readChilds) - { - if (!root.IsExpandedOnce && readChilds) - ReadChilds(root); - - for (int i = 0; i < root.Nodes.Count; i++) - { - TreeNodeAdv node = root.Nodes[i]; - if (node.Tag == path.FullPath[level]) - { - if (level == path.FullPath.Length - 1) - return node; - else - return FindNode(node, path, level + 1, readChilds); - } - } - return null; - } - - public TreeNodeAdv FindNodeByTag(object tag) - { - return FindNodeByTag(_root, tag); - } - - private TreeNodeAdv FindNodeByTag(TreeNodeAdv root, object tag) - { - foreach (TreeNodeAdv node in root.Nodes) - { - if (node.Tag == tag) - return node; - TreeNodeAdv res = FindNodeByTag(node, tag); - if (res != null) - return res; - } - return null; - } - - public void SelectAllNodes() - { - if (SelectionMode == TreeSelectionMode.MultiSameParent) - { - //TODO: - } - else if (SelectionMode == TreeSelectionMode.Multi) - { - SuspendSelectionEvent = true; - try - { - SelectNodes(Root.Nodes); - } - finally - { - SuspendSelectionEvent = false; - } - } - } - - private void SelectNodes(Collection<TreeNodeAdv> nodes) - { - foreach (TreeNodeAdv n in nodes) - { - n.IsSelected = true; - if (n.IsExpanded) - SelectNodes(n.Nodes); - } - } - - #region Editor - - public void DisplayEditor(Control control, EditableControl owner) - { - if (control == null || owner == null) - throw new ArgumentNullException(); - - if (CurrentNode != null) - { - HideEditor(); - _currentEditor = control; - _currentEditorOwner = owner; - UpdateEditorBounds(); - - UpdateView(); - control.Parent = this; - control.Focus(); - owner.UpdateEditor(control); - } - } - - public void UpdateEditorBounds() - { - if (_currentEditor != null) - { - EditorContext context = new EditorContext(); - context.Owner = _currentEditorOwner; - context.CurrentNode = CurrentNode; - context.Editor = _currentEditor; - context.DrawContext = _measureContext; - - SetEditorBounds(context); - } - } - - public void HideEditor() - { - if (_currentEditorOwner != null) - { - _currentEditorOwner.HideEditor(_currentEditor); - _currentEditor = null; - _currentEditorOwner = null; - } - } - - private void SetEditorBounds(EditorContext context) - { - foreach (NodeControlInfo info in GetNodeControls(context.CurrentNode)) - { - if (context.Owner == info.Control && info.Control is EditableControl) - { - Point p = info.Bounds.Location; - p.X += info.Control.LeftMargin; - p.X -= OffsetX; - p.Y -= (_rowLayout.GetRowBounds(FirstVisibleRow).Y - ColumnHeaderHeight); - int width = DisplayRectangle.Width - p.X; - if (UseColumns && info.Control.ParentColumn != null && Columns.Contains(info.Control.ParentColumn)) - { - Rectangle rect = GetColumnBounds(info.Control.ParentColumn.Index); - width = rect.Right - OffsetX - p.X; - } - context.Bounds = new Rectangle(p.X, p.Y, width, info.Bounds.Height); - ((EditableControl)info.Control).SetEditorBounds(context); - return; - } - } - } - - private Rectangle GetColumnBounds(int column) - { - int x = 0; - for (int i = 0; i < Columns.Count; i++) - { - if (Columns[i].IsVisible) - { - if (i < column) - x += Columns[i].Width; - else - return new Rectangle(x, 0, Columns[i].Width, 0); - } - } - return Rectangle.Empty; - } - - #endregion - - #region ModelEvents - private void BindModelEvents() - { - _model.NodesChanged += new EventHandler<TreeModelEventArgs>(_model_NodesChanged); - _model.NodesInserted += new EventHandler<TreeModelEventArgs>(_model_NodesInserted); - _model.NodesRemoved += new EventHandler<TreeModelEventArgs>(_model_NodesRemoved); - _model.StructureChanged += new EventHandler<TreePathEventArgs>(_model_StructureChanged); - } - - private void UnbindModelEvents() - { - _model.NodesChanged -= new EventHandler<TreeModelEventArgs>(_model_NodesChanged); - _model.NodesInserted -= new EventHandler<TreeModelEventArgs>(_model_NodesInserted); - _model.NodesRemoved -= new EventHandler<TreeModelEventArgs>(_model_NodesRemoved); - _model.StructureChanged -= new EventHandler<TreePathEventArgs>(_model_StructureChanged); - } - - private void _model_StructureChanged(object sender, TreePathEventArgs e) - { - if (e.Path == null) - throw new ArgumentNullException(); - - TreeNodeAdv node = FindNode(e.Path); - if (node != null) - { - ReadChilds(node); - UpdateSelection(); - SmartFullUpdate(); - } - //else - // throw new ArgumentException("Path not found"); - } - - private void _model_NodesRemoved(object sender, TreeModelEventArgs e) - { - TreeNodeAdv parent = FindNode(e.Path); - if (parent != null) - { - if (e.Indices != null) - { - List<int> list = new List<int>(e.Indices); - list.Sort(); - for (int n = list.Count - 1; n >= 0; n--) - { - int index = list[n]; - if (index >= 0 && index <= parent.Nodes.Count) - parent.Nodes.RemoveAt(index); - else - throw new ArgumentOutOfRangeException("Index out of range"); - } - } - else - { - for (int i = parent.Nodes.Count - 1; i >= 0; i--) - { - for (int n = 0; n < e.Children.Length; n++) - if (parent.Nodes[i].Tag == e.Children[n]) - { - parent.Nodes.RemoveAt(i); - break; - } - } - } - } - UpdateSelection(); - SmartFullUpdate(); - } - - private void _model_NodesInserted(object sender, TreeModelEventArgs e) - { - if (e.Indices == null) - throw new ArgumentNullException("Indices"); - - TreeNodeAdv parent = FindNode(e.Path); - if (parent != null) - { - for (int i = 0; i < e.Children.Length; i++) - AddNewNode(parent, e.Children[i], e.Indices[i]); - } - SmartFullUpdate(); - } - - private void _model_NodesChanged(object sender, TreeModelEventArgs e) - { - TreeNodeAdv parent = FindNode(e.Path); - if (parent != null && parent.IsVisible && parent.IsExpanded) - { - if (InvokeRequired) - Invoke(new UpdateContentWidthDelegate(ClearNodesSize), e, parent); - else - ClearNodesSize(e, parent); - SmartFullUpdate(); - } - } - - private delegate void UpdateContentWidthDelegate(TreeModelEventArgs e, TreeNodeAdv parent); - private void ClearNodesSize(TreeModelEventArgs e, TreeNodeAdv parent) - { - if (e.Indices != null) - { - foreach (int index in e.Indices) - { - if (index >= 0 && index < parent.Nodes.Count) - { - TreeNodeAdv node = parent.Nodes[index]; - node.Height = node.RightBounds = null; - } - else - throw new ArgumentOutOfRangeException("Index out of range"); - } - } - else - { - foreach (TreeNodeAdv node in parent.Nodes) - { - foreach (object obj in e.Children) - if (node.Tag == obj) - { - node.Height = node.RightBounds = null; - } - } - } - } - #endregion - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdvCancelEventArgs.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdvCancelEventArgs.cs deleted file mode 100644 index 2fb08279bd..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdvCancelEventArgs.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Tree -{ - public class TreeViewAdvCancelEventArgs : TreeViewAdvEventArgs - { - private bool _cancel; - - public bool Cancel - { - get { return _cancel; } - set { _cancel = value; } - } - - public TreeViewAdvCancelEventArgs(TreeNodeAdv node) - : base(node) - { - } - - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdvEventArgs.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdvEventArgs.cs deleted file mode 100644 index c041fc479e..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewAdvEventArgs.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Aga.Controls.Tree -{ - public class TreeViewAdvEventArgs : EventArgs - { - private TreeNodeAdv _node; - - public TreeNodeAdv Node - { - get { return _node; } - } - - public TreeViewAdvEventArgs(TreeNodeAdv node) - { - _node = node; - } - } -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewRowDrawEventArgs.cs b/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewRowDrawEventArgs.cs deleted file mode 100644 index f27f001fdd..0000000000 --- a/src/Libraries/TreeViewAdv/Aga.Controls/Tree/TreeViewRowDrawEventArgs.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; -using System.Drawing; - -namespace Aga.Controls.Tree -{ - public class TreeViewRowDrawEventArgs: PaintEventArgs - { - TreeNodeAdv _node; - DrawContext _context; - int _row; - Rectangle _rowRect; - - public TreeViewRowDrawEventArgs(Graphics graphics, Rectangle clipRectangle, TreeNodeAdv node, DrawContext context, int row, Rectangle rowRect) - : base(graphics, clipRectangle) - { - _node = node; - _context = context; - _row = row; - _rowRect = rowRect; - } - - public TreeNodeAdv Node - { - get { return _node; } - } - - public DrawContext Context - { - get { return _context; } - } - - public int Row - { - get { return _row; } - } - - public Rectangle RowRect - { - get { return _rowRect; } - } - } - -} diff --git a/src/Libraries/TreeViewAdv/Aga.Controls/key.snk b/src/Libraries/TreeViewAdv/Aga.Controls/key.snk deleted file mode 100644 index 0f01f8eda7b599000791310ddb01dd2da4bcfb56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa500966?r2}ZXh{X7SHQhIrh~yV+-`#BAkEOe z@?f#=Z(oQ>cxb{zVCqD5wA9&QGp8{i>PVA7P-n!*=zc-(hnO$paA6s5my}1p;Wd3j zab+UekEh2|Mzj8ndQt+@JU3|-(i9m|Fb~Jsg(X`xHtHYhpU&bfUDTq=-T3a7;yTZ1 ze6E@X9%*GfzRx+0`$sNn%7y+J9G9MpbiOBCc5_~J3sysFyqhOpP}1OD4#9Eh4w7+O zkE7myL@}cul%nxH;q_Q*3@@FM1mzgP+HFrfzw|CgC;2P^uMm6N5Pdj<=yl54$(0Ad z@`#2M$3YTc)@P{mC^J-EJHb!_vy9sb+U+{2Ig_iox8sJsW3_vJ)PD)GoVvwsl-u$` zLai|k)z5Mos^9@BJYEh*io?EQ0JwvG44I}tQWYi-+`rbDaPapo89pmf16pG>d7+h4 z$`~0Xu7NjxGz?dq0QX%To~a~Wjsp1I+6DS&f3#gJWZUL!q?{_Oay+%GAirUyRtTqQ z#U9umb6ZGwoL@BkE{cVS=v-4)IaxVf1M>Ds$cVdy=u1AFhKESb;?vk7vd$Q=LNmoV z=uGzW|H93|$I>5M<1g98$Z%B6`C$PA&uxdRTuVI(kndlQ1G#8|*>o|w?9YB1`q(5N z`Q{tXJ5+&BC5UWbO*jLPcx&eyhpn>%jXGk(x@!(0mVscIz_hZ@PnF4!^xZzHah|=} i^Ul|~Ho49EfqVWgA?7du7K0<?Vxc#%??7_8*YanTv>{~x diff --git a/src/Libraries/TreeViewAdv/ReleaseNotes.txt b/src/Libraries/TreeViewAdv/ReleaseNotes.txt deleted file mode 100644 index ee4bae9198..0000000000 --- a/src/Libraries/TreeViewAdv/ReleaseNotes.txt +++ /dev/null @@ -1,88 +0,0 @@ -1.6.2: -+ HorizontalScrollPosition added -+ Fixed: Rendering issues with ExpandingIcon column with UseColumns - -1.6.1: -+ Fixed: DragAutoScroll() is not working when FPS low. -+ Tutorial project in VB and a short documentation added (Thanks to Richard Pope). - - -1.6: -+ Asynchronous nodes expanding feature added -+ Tooltips added to the column headers -+ Bug in CheckBoxNodeControl using in VirtualMode fixed -+ Bug in HScrolllBar fixed - - -1.5: -+ Column resizing behaviour improved -+ GridLineStyle property introduced -+ Additional navigation keys support added (+,-,*) -+ ExpandAll, CollapseAll methods added to TreeNodeAdv class -+ Incremental search works like in standard TreeView now. Warning: no Search property anymore! -+ ClearSelection method optimized -+ Performance during Expand/Collapse/FullUpdate improved -+ UseCompatibleTextRendering property added to BaseTextControl class. - - -1.4.4: -+ Bug during drag&drop of nodes in SimpleExample fixed. - - -1.4.3: -+ Perfromance bug fixed: The complexity of CreateRowMap method is now O(n), instead of O(n^2) - - -1.4.2: -+ Two new events added: IsVisibleValueNeeded and IsEditEnabledValueNeeded. Now it's possible to control - the visibility and the editability of each particular node. -+ Loosing changes in EditableControl when leave TreeView bug fixed. -+ Node.Tag property added. - - -1.4.1: -+ Some times TreeViewAdv crashes when used in different threads on multi-processors machine. Fixed. -+ Bug with selecting row when FullRowSelect is true fixed. (thanks Sean) - - -1.4: -+ Columns are now reorderable. New event ColumnReordered and new property AllowColumnReorder were introduced. - Warning: NodeControl.Column property is no longer exist! Use NodeControl.ParentColumn. -+ Font property added to DrawEventArgs class -+ Minor improvements in column headers drawing - - -1.3: -Many thanks to Virgil Dupras for his ideas and comments. -Some of them were implemented in this release: -+ Column headers are now clickable and will generate OnColumnClicked event, - SortOrder property is added to TreeColumn class, if set a small mark will - be drawn in the column header. SortedTreeModel is introduced for a default - sorting implementation, it can be used as a decorator for ITreeModel - (see FolderBrowser f.e.) -+ KeepNodesExpanded property becomes obsolete and is always true now. - A new algorithm of keeping nodes expanded during refresh is used. -+ DrawText event is added to BaseTextControl(you can dynamically change a - text color f.e.) -+ Fields binding posibility is added to BindableControl - - -1.2.2: -+ Fixed: CheckBox in the scrolled position does not work -+ Fixed: Cursor property does not work - - -1.2: -+ AutoRowHeight: Automatically resize row height base on it content -+ Incremental Search: Navigate to a node by typing first chars from it's label -+ NodeNumericUpDown control - - -1.1: -+ Autoscroll during drag&drop -+ Display dragging nodes -+ Performance counter - - -1.0: -First release. diff --git a/src/Libraries/TreeViewAdv/SampleApp/AdvancedExample.Designer.cs b/src/Libraries/TreeViewAdv/SampleApp/AdvancedExample.Designer.cs deleted file mode 100644 index c66e60bd1a..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/AdvancedExample.Designer.cs +++ /dev/null @@ -1,103 +0,0 @@ -namespace SampleApp -{ - partial class AdvancedExample - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Component Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - this.textBox1 = new System.Windows.Forms.TextBox(); - this._treeView = new Aga.Controls.Tree.TreeViewAdv(); - this._nodeCheckBox = new Aga.Controls.Tree.NodeControls.NodeCheckBox(); - this._nodeTextBox = new Aga.Controls.Tree.NodeControls.NodeTextBox(); - this.SuspendLayout(); - // - // textBox1 - // - this.textBox1.Dock = System.Windows.Forms.DockStyle.Top; - this.textBox1.Location = new System.Drawing.Point(0, 0); - this.textBox1.Multiline = true; - this.textBox1.Name = "textBox1"; - this.textBox1.Size = new System.Drawing.Size(424, 66); - this.textBox1.TabIndex = 2; - this.textBox1.Text = "This example demonstrates how to control the visibility of the nodes, and how to " + - "enable/disable node editing"; - // - // _treeView - // - this._treeView.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._treeView.BackColor = System.Drawing.SystemColors.Window; - this._treeView.Cursor = System.Windows.Forms.Cursors.Default; - this._treeView.DefaultToolTipProvider = null; - this._treeView.DragDropMarkColor = System.Drawing.Color.Black; - this._treeView.LineColor = System.Drawing.SystemColors.ControlDark; - this._treeView.Location = new System.Drawing.Point(3, 72); - this._treeView.Model = null; - this._treeView.Name = "_treeView"; - this._treeView.NodeControls.Add(this._nodeCheckBox); - this._treeView.NodeControls.Add(this._nodeTextBox); - this._treeView.SelectedNode = null; - this._treeView.Size = new System.Drawing.Size(418, 313); - this._treeView.TabIndex = 0; - this._treeView.Text = "treeViewAdv1"; - // - // _nodeCheckBox - // - this._nodeCheckBox.DataPropertyName = "Checked"; - this._nodeCheckBox.EditEnabled = true; - this._nodeCheckBox.LeftMargin = 0; - this._nodeCheckBox.ParentColumn = null; - // - // _nodeTextBox - // - this._nodeTextBox.DataPropertyName = "Text"; - this._nodeTextBox.EditEnabled = true; - this._nodeTextBox.IncrementalSearchEnabled = true; - this._nodeTextBox.LeftMargin = 3; - this._nodeTextBox.ParentColumn = null; - // - // AdvancedExample - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.textBox1); - this.Controls.Add(this._treeView); - this.Name = "AdvancedExample"; - this.Size = new System.Drawing.Size(424, 388); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private Aga.Controls.Tree.TreeViewAdv _treeView; - private System.Windows.Forms.TextBox textBox1; - private Aga.Controls.Tree.NodeControls.NodeCheckBox _nodeCheckBox; - private Aga.Controls.Tree.NodeControls.NodeTextBox _nodeTextBox; - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/AdvancedExample.cs b/src/Libraries/TreeViewAdv/SampleApp/AdvancedExample.cs deleted file mode 100644 index 1a5f553029..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/AdvancedExample.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Text; -using System.Windows.Forms; -using Aga.Controls.Tree; -using Aga.Controls.Tree.NodeControls; - -namespace SampleApp -{ - public partial class AdvancedExample : UserControl - { - public AdvancedExample() - { - InitializeComponent(); - _nodeTextBox.IsVisibleValueNeeded += CheckIndex; - _nodeCheckBox.IsEditEnabledValueNeeded += CheckIndex; - - TreeModel _model = new TreeModel(); - for (int i = 0; i < 20; i++) - { - _model.Root.Nodes.Add(new MyNode("node" + i.ToString())); - } - _treeView.Model = _model; - } - - void CheckIndex(object sender, NodeControlValueEventArgs e) - { - e.Value = (e.Node.Index % 2 == 0); - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/AdvancedExample.resx b/src/Libraries/TreeViewAdv/SampleApp/AdvancedExample.resx deleted file mode 100644 index 19dc0dd8b3..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/AdvancedExample.resx +++ /dev/null @@ -1,120 +0,0 @@ -<?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> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/SampleApp/BackgroundExpand.Designer.cs b/src/Libraries/TreeViewAdv/SampleApp/BackgroundExpand.Designer.cs deleted file mode 100644 index 5aaf531634..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/BackgroundExpand.Designer.cs +++ /dev/null @@ -1,138 +0,0 @@ -namespace SampleApp -{ - partial class BackgroundExpand - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Component Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - this.button1 = new System.Windows.Forms.Button(); - this.button2 = new System.Windows.Forms.Button(); - this._treeView = new Aga.Controls.Tree.TreeViewAdv(); - this.nodeTextBox1 = new Aga.Controls.Tree.NodeControls.NodeTextBox(); - this.expandingIcon1 = new Aga.Controls.Tree.NodeControls.ExpandingIcon(); - this.button3 = new System.Windows.Forms.Button(); - this.button4 = new System.Windows.Forms.Button(); - this.SuspendLayout(); - // - // button1 - // - this.button1.Location = new System.Drawing.Point(210, 3); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(119, 23); - this.button1.TabIndex = 2; - this.button1.Text = "Expand one by one"; - this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.button1_Click); - // - // button2 - // - this.button2.Location = new System.Drawing.Point(3, 3); - this.button2.Name = "button2"; - this.button2.Size = new System.Drawing.Size(75, 23); - this.button2.TabIndex = 3; - this.button2.Text = "Reset"; - this.button2.UseVisualStyleBackColor = true; - this.button2.Click += new System.EventHandler(this.button2_Click); - // - // _treeView - // - this._treeView.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._treeView.AsyncExpanding = true; - this._treeView.BackColor = System.Drawing.Color.White; - this._treeView.DefaultToolTipProvider = null; - this._treeView.DragDropMarkColor = System.Drawing.Color.Black; - this._treeView.LineColor = System.Drawing.SystemColors.ControlDark; - this._treeView.LoadOnDemand = true; - this._treeView.Location = new System.Drawing.Point(3, 32); - this._treeView.Model = null; - this._treeView.Name = "_treeView"; - this._treeView.NodeControls.Add(this.nodeTextBox1); - this._treeView.NodeControls.Add(this.expandingIcon1); - this._treeView.SelectedNode = null; - this._treeView.Size = new System.Drawing.Size(451, 369); - this._treeView.TabIndex = 0; - this._treeView.Text = "treeViewAdv1"; - // - // nodeTextBox1 - // - this.nodeTextBox1.DataPropertyName = "Text"; - this.nodeTextBox1.IncrementalSearchEnabled = true; - this.nodeTextBox1.LeftMargin = 3; - this.nodeTextBox1.ParentColumn = null; - // - // expandingIcon1 - // - this.expandingIcon1.LeftMargin = 0; - this.expandingIcon1.ParentColumn = null; - // - // button3 - // - this.button3.Location = new System.Drawing.Point(335, 3); - this.button3.Name = "button3"; - this.button3.Size = new System.Drawing.Size(119, 23); - this.button3.TabIndex = 4; - this.button3.Text = "Expand root nodes"; - this.button3.UseVisualStyleBackColor = true; - this.button3.Click += new System.EventHandler(this.button3_Click); - // - // button4 - // - this.button4.Location = new System.Drawing.Point(84, 3); - this.button4.Name = "button4"; - this.button4.Size = new System.Drawing.Size(75, 23); - this.button4.TabIndex = 5; - this.button4.Text = "Cancel"; - this.button4.UseVisualStyleBackColor = true; - this.button4.Click += new System.EventHandler(this.button4_Click); - // - // BackgroundExpand - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.button4); - this.Controls.Add(this.button3); - this.Controls.Add(this.button2); - this.Controls.Add(this.button1); - this.Controls.Add(this._treeView); - this.Name = "BackgroundExpand"; - this.Size = new System.Drawing.Size(457, 404); - this.ResumeLayout(false); - - } - - #endregion - - private Aga.Controls.Tree.TreeViewAdv _treeView; - private Aga.Controls.Tree.NodeControls.NodeTextBox nodeTextBox1; - private System.Windows.Forms.Button button1; - private System.Windows.Forms.Button button2; - private Aga.Controls.Tree.NodeControls.ExpandingIcon expandingIcon1; - private System.Windows.Forms.Button button3; - private System.Windows.Forms.Button button4; - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/BackgroundExpand.cs b/src/Libraries/TreeViewAdv/SampleApp/BackgroundExpand.cs deleted file mode 100644 index f8e21a0189..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/BackgroundExpand.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Text; -using System.Windows.Forms; -using Aga.Controls; -using System.Resources; -using System.IO; -using System.Threading; -using Aga.Controls.Tree.NodeControls; -using Aga.Controls.Tree; - -namespace SampleApp -{ - public partial class BackgroundExpand : UserControl - { - public BackgroundExpand() - { - InitializeComponent(); - _treeView.Model = new SlowModel(); - } - - private void button1_Click(object sender, EventArgs e) - { - _treeView.ExpandAll(); - } - - private void button2_Click(object sender, EventArgs e) - { - _treeView.Model = new SlowModel(); - } - - private void button3_Click(object sender, EventArgs e) - { - foreach (TreeNodeAdv node in _treeView.Root.Children) - node.Expand(); - } - - private void button4_Click(object sender, EventArgs e) - { - _treeView.AbortBackgroundExpandingThreads(); - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/BackgroundExpand.resx b/src/Libraries/TreeViewAdv/SampleApp/BackgroundExpand.resx deleted file mode 100644 index 19dc0dd8b3..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/BackgroundExpand.resx +++ /dev/null @@ -1,120 +0,0 @@ -<?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> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/SampleApp/ColumnHandling.Designer.cs b/src/Libraries/TreeViewAdv/SampleApp/ColumnHandling.Designer.cs deleted file mode 100644 index 2c6eb06082..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/ColumnHandling.Designer.cs +++ /dev/null @@ -1,123 +0,0 @@ -namespace SampleApp -{ - partial class ColumnHandling - { - /// <summary> - /// Erforderliche Designervariable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Verwendete Ressourcen bereinigen. - /// </summary> - /// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Vom Komponenten-Designer generierter Code - - /// <summary> - /// Erforderliche Methode für die Designerunterstützung. - /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. - /// </summary> - private void InitializeComponent() - { - this.treeViewAdv1 = new Aga.Controls.Tree.TreeViewAdv(); - this.treeColumn1 = new Aga.Controls.Tree.TreeColumn(); - this.treeColumn2 = new Aga.Controls.Tree.TreeColumn(); - this.treeColumn3 = new Aga.Controls.Tree.TreeColumn(); - this.treeColumn4 = new Aga.Controls.Tree.TreeColumn(); - this.treeColumn5 = new Aga.Controls.Tree.TreeColumn(); - this.SuspendLayout(); - // - // treeViewAdv1 - // - this.treeViewAdv1.AllowColumnReorder = true; - this.treeViewAdv1.BackColor = System.Drawing.SystemColors.Window; - this.treeViewAdv1.Columns.Add(this.treeColumn1); - this.treeViewAdv1.Columns.Add(this.treeColumn2); - this.treeViewAdv1.Columns.Add(this.treeColumn3); - this.treeViewAdv1.Columns.Add(this.treeColumn4); - this.treeViewAdv1.Columns.Add(this.treeColumn5); - this.treeViewAdv1.Cursor = System.Windows.Forms.Cursors.Default; - this.treeViewAdv1.DefaultToolTipProvider = null; - this.treeViewAdv1.Dock = System.Windows.Forms.DockStyle.Fill; - this.treeViewAdv1.DragDropMarkColor = System.Drawing.Color.Black; - this.treeViewAdv1.GridLineStyle = ((Aga.Controls.Tree.GridLineStyle)((Aga.Controls.Tree.GridLineStyle.Horizontal | Aga.Controls.Tree.GridLineStyle.Vertical))); - this.treeViewAdv1.LineColor = System.Drawing.SystemColors.ControlDark; - this.treeViewAdv1.Location = new System.Drawing.Point(0, 0); - this.treeViewAdv1.Model = null; - this.treeViewAdv1.Name = "treeViewAdv1"; - this.treeViewAdv1.SelectedNode = null; - this.treeViewAdv1.Size = new System.Drawing.Size(626, 406); - this.treeViewAdv1.TabIndex = 0; - this.treeViewAdv1.Text = "treeViewAdv1"; - this.treeViewAdv1.UseColumns = true; - this.treeViewAdv1.NodeMouseDoubleClick += new System.EventHandler<Aga.Controls.Tree.TreeNodeAdvMouseEventArgs>(this.treeViewAdv1_NodeMouseDoubleClick); - // - // treeColumn1 - // - this.treeColumn1.Header = "Hiddenable"; - this.treeColumn1.SortOrder = System.Windows.Forms.SortOrder.None; - this.treeColumn1.TooltipText = "qweqweqwe"; - this.treeColumn1.Width = 100; - // - // treeColumn2 - // - this.treeColumn2.Header = "Min width 10"; - this.treeColumn2.MinColumnWidth = 10; - this.treeColumn2.SortOrder = System.Windows.Forms.SortOrder.None; - this.treeColumn2.TooltipText = "xcvxcxcvxcvxv"; - this.treeColumn2.Width = 150; - // - // treeColumn3 - // - this.treeColumn3.Header = "Fixed 100"; - this.treeColumn3.MaxColumnWidth = 100; - this.treeColumn3.MinColumnWidth = 100; - this.treeColumn3.SortOrder = System.Windows.Forms.SortOrder.None; - this.treeColumn3.TooltipText = "12312312313"; - this.treeColumn3.Width = 100; - // - // treeColumn4 - // - this.treeColumn4.Header = "Max width 150"; - this.treeColumn4.MaxColumnWidth = 150; - this.treeColumn4.SortOrder = System.Windows.Forms.SortOrder.None; - this.treeColumn4.TooltipText = null; - this.treeColumn4.Width = 150; - // - // treeColumn5 - // - this.treeColumn5.Header = "Hiddenable"; - this.treeColumn5.SortOrder = System.Windows.Forms.SortOrder.None; - this.treeColumn5.TooltipText = null; - this.treeColumn5.Width = 75; - // - // ColumnHandling - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.treeViewAdv1); - this.Name = "ColumnHandling"; - this.Size = new System.Drawing.Size(626, 406); - this.ResumeLayout(false); - - } - - #endregion - - private Aga.Controls.Tree.TreeViewAdv treeViewAdv1; - private Aga.Controls.Tree.TreeColumn treeColumn1; - private Aga.Controls.Tree.TreeColumn treeColumn2; - private Aga.Controls.Tree.TreeColumn treeColumn3; - private Aga.Controls.Tree.TreeColumn treeColumn4; - private Aga.Controls.Tree.TreeColumn treeColumn5; - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/ColumnHandling.cs b/src/Libraries/TreeViewAdv/SampleApp/ColumnHandling.cs deleted file mode 100644 index 564a196ca6..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/ColumnHandling.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Text; -using System.Windows.Forms; - -namespace SampleApp -{ - public partial class ColumnHandling : UserControl - { - public ColumnHandling() - { - InitializeComponent(); - } - - private void treeViewAdv1_NodeMouseDoubleClick(object sender, Aga.Controls.Tree.TreeNodeAdvMouseEventArgs e) - { - Console.WriteLine("DblClick {0}", e.Node); - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/ColumnHandling.resx b/src/Libraries/TreeViewAdv/SampleApp/ColumnHandling.resx deleted file mode 100644 index 19dc0dd8b3..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/ColumnHandling.resx +++ /dev/null @@ -1,120 +0,0 @@ -<?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> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/SampleApp/DataRowNode.cs b/src/Libraries/TreeViewAdv/SampleApp/DataRowNode.cs deleted file mode 100644 index 6233b33489..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/DataRowNode.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System; -using System.Data; -using System.Collections.Generic; -using System.Text; -using Aga.Controls.Tree; -using System.Drawing; - -namespace SampleApp -{ - public class DataRowNode - { - public DataRowNode(DataRow row, string text) - { - m_row = row; - m_text = text; - } - - string m_text; - public string Text - { - get { return m_text; } - set { m_text = value;} - } - - private Image _icon; - public Image Icon - { - get { return _icon; } - set { _icon = value; } - } - - private DataRow m_row; - - public DataRow Row - { - get { return m_row; } - set { m_row = value; } - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataRowNode.cs b/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataRowNode.cs deleted file mode 100644 index 6233b33489..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataRowNode.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System; -using System.Data; -using System.Collections.Generic; -using System.Text; -using Aga.Controls.Tree; -using System.Drawing; - -namespace SampleApp -{ - public class DataRowNode - { - public DataRowNode(DataRow row, string text) - { - m_row = row; - m_text = text; - } - - string m_text; - public string Text - { - get { return m_text; } - set { m_text = value;} - } - - private Image _icon; - public Image Icon - { - get { return _icon; } - set { _icon = value; } - } - - private DataRow m_row; - - public DataRow Row - { - get { return m_row; } - set { m_row = value; } - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeExample.cs b/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeExample.cs deleted file mode 100644 index 453895ea62..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeExample.cs +++ /dev/null @@ -1,102 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Text; -using System.Windows.Forms; -using Aga.Controls.Tree; -using Aga.Controls.Tree.NodeControls; -namespace SampleApp -{ - public partial class DataTableTreeExample : UserControl - { - - private DataTableTreeModel m_dataTableModel; - public DataTableTreeExample() - { - InitializeComponent(); - DataTable table = CreateSampleDataTable(); - - this.dataGridView1.Columns.Clear(); - this.dataGridView1.DataSource = table; - - treeViewAdv1.LoadOnDemand = true; - treeViewAdv1.SelectionMode = TreeSelectionMode.Multi; - treeViewAdv1.NodeControls.Clear(); - - NodeStateIcon ni = new NodeStateIcon(); - ni.DataPropertyName = "Icon"; - treeViewAdv1.NodeControls.Add(ni); - - NodeTextBox tb = new NodeTextBox(); - tb.DataPropertyName = "Text"; - treeViewAdv1.NodeControls.Add(tb); - - - m_dataTableModel = new DataTableTreeModel(table,"id"); - this.treeViewAdv1.Model = m_dataTableModel; - this.treeViewAdv1.SelectionChanged += new EventHandler(treeViewAdv1_SelectionChanged); - } - - void treeViewAdv1_SelectionChanged(object sender, EventArgs e) - { - Enabling(); - //treeViewAdv1.SelectedNodes - } - - private void Enabling() - { - if (treeViewAdv1.SelectedNodes.Count == 0) - addNodeToolStripMenuItem.Enabled = false; - else - addNodeToolStripMenuItem.Enabled = !treeViewAdv1.SelectedNode.IsLeaf; - } - - - private static DataTable CreateSampleDataTable() - { - DataTable table = new DataTable(); - table.Columns.Add("ID", typeof(int)); - table.Columns.Add("ParentID", typeof(int)); - table.Columns.Add("IsFolder", typeof(bool)); - table.Columns.Add("Name"); - table.Columns.Add("Tag"); - - table.Rows.Add(1, 1, true, "Columbia River ", "set ID = ParentID for root"); - table.Rows.Add(2, 1, false, "John Day", " "); - table.Rows.Add(3, 1, true, "Snake River", ""); - table.Rows.Add(4, 3, false, "Payette River", ""); - table.Rows.Add(5, 3, false, "Boise River", ""); - - return table; - } - - private void addNode_Click(object sender, - EventArgs e) - { - if (treeViewAdv1.SelectedNode != null) - { - DataRowNode n = treeViewAdv1.SelectedNode.Tag as DataRowNode; - if (!Convert.ToBoolean(n.Row["IsFolder"])) - { - return; - } - - TreePath parent = treeViewAdv1.GetPath(treeViewAdv1.SelectedNode); - - m_dataTableModel.AddChild(parent, "Hi "+DateTime.Today.ToShortDateString()); - } - } - - private void renameToolStripMenuItem_Click(object sender, EventArgs e) - { - - } - - private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) - { - Console.WriteLine("Row added"); - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeExample.designer.cs b/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeExample.designer.cs deleted file mode 100644 index 7044b41238..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeExample.designer.cs +++ /dev/null @@ -1,216 +0,0 @@ -namespace SampleApp -{ - partial class DataTableTreeExample - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Component Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DataTableTreeExample)); - this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.treeViewAdv1 = new Aga.Controls.Tree.TreeViewAdv(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.addNodeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.nodeTextBox1 = new Aga.Controls.Tree.NodeControls.NodeTextBox(); - this.nodeStateIcon1 = new Aga.Controls.Tree.NodeControls.NodeStateIcon(); - this.panel1 = new System.Windows.Forms.Panel(); - this.dataGridView1 = new System.Windows.Forms.DataGridView(); - this.ID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ParentID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.Label = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.Data = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.imageList1 = new System.Windows.Forms.ImageList(this.components); - this.label1 = new System.Windows.Forms.Label(); - this.splitContainer1.Panel1.SuspendLayout(); - this.splitContainer1.Panel2.SuspendLayout(); - this.splitContainer1.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); - this.panel1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); - this.SuspendLayout(); - // - // splitContainer1 - // - this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer1.Location = new System.Drawing.Point(0, 0); - this.splitContainer1.Name = "splitContainer1"; - // - // splitContainer1.Panel1 - // - this.splitContainer1.Panel1.Controls.Add(this.treeViewAdv1); - // - // splitContainer1.Panel2 - // - this.splitContainer1.Panel2.Controls.Add(this.panel1); - this.splitContainer1.Panel2.Controls.Add(this.dataGridView1); - this.splitContainer1.Size = new System.Drawing.Size(830, 528); - this.splitContainer1.SplitterDistance = 298; - this.splitContainer1.TabIndex = 0; - // - // treeViewAdv1 - // - this.treeViewAdv1.BackColor = System.Drawing.SystemColors.Window; - this.treeViewAdv1.ContextMenuStrip = this.contextMenuStrip1; - this.treeViewAdv1.Cursor = System.Windows.Forms.Cursors.Default; - this.treeViewAdv1.DefaultToolTipProvider = null; - this.treeViewAdv1.Dock = System.Windows.Forms.DockStyle.Fill; - this.treeViewAdv1.DragDropMarkColor = System.Drawing.Color.Black; - this.treeViewAdv1.LineColor = System.Drawing.SystemColors.ControlDark; - this.treeViewAdv1.Location = new System.Drawing.Point(0, 0); - this.treeViewAdv1.Model = null; - this.treeViewAdv1.Name = "treeViewAdv1"; - this.treeViewAdv1.NodeControls.Add(this.nodeTextBox1); - this.treeViewAdv1.NodeControls.Add(this.nodeStateIcon1); - this.treeViewAdv1.SelectedNode = null; - this.treeViewAdv1.Size = new System.Drawing.Size(298, 528); - this.treeViewAdv1.TabIndex = 0; - this.treeViewAdv1.Text = "treeViewAdv1"; - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.addNodeToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(153, 48); - // - // addNodeToolStripMenuItem - // - this.addNodeToolStripMenuItem.Name = "addNodeToolStripMenuItem"; - this.addNodeToolStripMenuItem.Size = new System.Drawing.Size(152, 22); - this.addNodeToolStripMenuItem.Text = "Add Node"; - this.addNodeToolStripMenuItem.Click += new System.EventHandler(this.addNode_Click); - // - // nodeTextBox1 - // - this.nodeTextBox1.IncrementalSearchEnabled = true; - this.nodeTextBox1.LeftMargin = 3; - this.nodeTextBox1.ParentColumn = null; - // - // nodeStateIcon1 - // - this.nodeStateIcon1.LeftMargin = 1; - this.nodeStateIcon1.ParentColumn = null; - // - // panel1 - // - this.panel1.Controls.Add(this.label1); - this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom; - this.panel1.Location = new System.Drawing.Point(0, 428); - this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(528, 100); - this.panel1.TabIndex = 1; - // - // dataGridView1 - // - this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { - this.ID, - this.ParentID, - this.Label, - this.Data}); - this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; - this.dataGridView1.Location = new System.Drawing.Point(0, 0); - this.dataGridView1.Name = "dataGridView1"; - this.dataGridView1.Size = new System.Drawing.Size(528, 528); - this.dataGridView1.TabIndex = 0; - this.dataGridView1.RowsAdded += new System.Windows.Forms.DataGridViewRowsAddedEventHandler(this.dataGridView1_RowsAdded); - // - // ID - // - this.ID.HeaderText = "ID"; - this.ID.Name = "ID"; - // - // ParentID - // - this.ParentID.HeaderText = "ParentID"; - this.ParentID.Name = "ParentID"; - // - // Label - // - this.Label.HeaderText = "Label"; - this.Label.Name = "Label"; - // - // Data - // - this.Data.HeaderText = "Data"; - this.Data.Name = "Data"; - // - // imageList1 - // - this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream"))); - this.imageList1.TransparentColor = System.Drawing.Color.Transparent; - this.imageList1.Images.SetKeyName(0, ""); - this.imageList1.Images.SetKeyName(1, ""); - this.imageList1.Images.SetKeyName(2, ""); - this.imageList1.Images.SetKeyName(3, ""); - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(59, 34); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(174, 13); - this.label1.TabIndex = 0; - this.label1.Text = "right click on a folder to add a node"; - // - // DataTableTreeExample - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.splitContainer1); - this.Name = "DataTableTreeExample"; - this.Size = new System.Drawing.Size(830, 528); - this.splitContainer1.Panel1.ResumeLayout(false); - this.splitContainer1.Panel2.ResumeLayout(false); - this.splitContainer1.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); - this.panel1.ResumeLayout(false); - this.panel1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.SplitContainer splitContainer1; - private Aga.Controls.Tree.TreeViewAdv treeViewAdv1; - private System.Windows.Forms.DataGridView dataGridView1; - private System.Windows.Forms.Panel panel1; - private System.Windows.Forms.DataGridViewTextBoxColumn ID; - private System.Windows.Forms.DataGridViewTextBoxColumn ParentID; - private System.Windows.Forms.DataGridViewTextBoxColumn Label; - private System.Windows.Forms.DataGridViewTextBoxColumn Data; - private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; - private System.Windows.Forms.ToolStripMenuItem addNodeToolStripMenuItem; - private System.Windows.Forms.ImageList imageList1; - private Aga.Controls.Tree.NodeControls.NodeTextBox nodeTextBox1; - private Aga.Controls.Tree.NodeControls.NodeStateIcon nodeStateIcon1; - private System.Windows.Forms.Label label1; - - - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeExample.resx b/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeExample.resx deleted file mode 100644 index 52af9b368e..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeExample.resx +++ /dev/null @@ -1,203 +0,0 @@ -<?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> - <metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>17, 17</value> - </metadata> - <metadata name="ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <metadata name="ParentID.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <metadata name="Label.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <metadata name="Data.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>162, 17</value> - </metadata> - <data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64"> - <value> - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABw - DQAAAk1TRnQBSQFMAgEBBAEAAQkBAAEEAQABEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA - AwABIAMAAQEBAAEYBgABGP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AB4AAf8CzAH/AswB8AHKAaYBzAOZ - AmYVVQGZAmYBzAKZAfABygGmAf8CzAH2As4B9QLNAecDvwKXAZQCbAFzAksBcwJLAXMCSwFzAksBcwJL - AXMCSwFzAksBlAJsAb8ClwHnAr8B9QLNA/EDFiEAAxYDTQH/AewBzAYAAzMDFgYAAyIDHAYAAxYDKQkA - AzMG/wFmAswBZgGZAcwBMwKZATMBZgGZATMBZgGZATMBZgGZATMBZgGZATMBZgGZATMBZgGZATMBZgGZ - ATMBZgGZAmYBmQPABv8B8AH3AfoBeQGyAc4BVgGWAbUBQAGAAZ8BMAFwAY8BLgFuAY0BKwFrAYoBKgFq - AYkBKAFoAYcBJwFnAYYBJQFlAYQBMwFzAZIBXwF3AYIDvQP6A/8ksgOWA00D8TAAA/8BmQLMAWYBmQHM - ATMBmQHMATMBmQHMATMBmQHMATMBmQHMATMBmQHMATMBmQHMATMBmQHMATMBmQHMATMBmQHMATMBmQHM - ATMBZgSZA/ED/wGlAc8B5AFSAacB0QEwAZYBwAFHAa0B0gE8AaEB0AE6AaABzwE4AZ0BzAE3AZwBywE1 - AZsBygE0AZoByAEqAZABwAEwAZYBvQEwAXIBigGUAZ8BpQP2A/8DzAPqG/ED4wOZAykD8QMpAwADshvM - A8ADhgMAAykD/wFmAZkBzAFmAcwB/wEzAswBmQL/AWYBzAH/AWYBzAH/AWYBzAH/AWYBzAH/AWYBzAH/ - AWYBzAH/AWYBzAH/AWYBzAH/ATMBmQHMAZABqQGtA/ED/wFQAaMBzQFxAcQB7gFOAbQB1AGGAewB/wFy - AdcB/wFyAdcB/wFyAdcB/wFyAdcB/wFyAdcB/wFyAdcB/wFfAcQB8AFrAdEB6gE6AaABvwGCAZwBqAP1 - A/8DzAb/AcwCZgGZAjMBmQIzAZkCMwGZAjMBmQIzAZkCMwHMAmYD6gOZAyID8QMWAwAD3QP/AZkCZgGZ - AjMBmQIzAZkCMwGZAjMBmQIzAZkCMwHMAmYD6gOGAwADFgP/AWYBmQHMAWYBzAH/AWYCzAGZAv8BZgHM - Af8BZgHMAf8BZgHMAf8BZgHMAf8BZgHMAf8BZgHMAf8BZgHMAf8BZgHMAf8BMwGZAcwBkAGpAa0D8QP/ - AVABpgHQAVcBvAHvAVIBtwHXAYoB8AH/AXwB4QH/AXwB4QH/AXwB4QH/AXwB4QH/AXwB4QH/AXwB4QH/ - AWcBzAHyAW8B1AHuATsBoQHAAYABmgGmA/QD/wPMBv8EzAKZAcwCmQHMApkBzAKZAcwCmQHMApkD1wPq - A5kDIgPxBgAD3QP/BMwCmQHMApkBzAKZAcwCmQHMApkBzAKZA8wD6gOZAwADKQP/AWYBmQHMAWYBzAH/ - AWYCzAGZAv8BmQL/AZkC/wGZAv8BmQL/AZkC/wGZAv8BZgHMAf8BZgHMAf8BMwGZAcwBkAGpAa0D8QP/ - AVQBqAHSAVkBvgHxAVYBuwHbAY4B9AH/AYQB6gH/AYQB6gH/AYQB6gH/AYQB6gH/AYQB6gH/AYQB6gH/ - AW8B1QH2AXMB2AHyATwBogHBAYEBmgGnA/QD/wPMBv8BzAKZAcwCZgHMAmYBzAJmAcwCZgHMAmYBzAJm - AcwCmQPqA5kDIgPxBgAD3QP/AcwCmQHMAmYBmQJmAcwCZgHMAmYBmQJmAcwCZgHMApkD6gOGAwADFgP/ - AWYBmQHMAWYBzAH/AWYCzAGZAv8BmQL/AZkC/wGZAv8BmQL/AZkC/wGZAv8BZgHMAf8BZgHMAf8BMwGZ - AcwBkAGpAa0D8QP/AVcBqgHUAVoBvwHyAVgBvgHeAZMB+QH/AY0B8wH/AY0B8wH/AY0B8wH/AY0B8wH/ - AY0B8wH/AY0B8wH/AXgB3gH4AXcB3AH2AT0BowHCAYEBmwGnA/QD/wPMBv8BzAKZAcwCmQHMApkBzAKZ - AcwCmQHMApkBzAKZA8AD6gOZAyID8QMcAwAD3QP/AcwCmQHMApkBzAKZAcwCmQHMApkBzAKZAcwCmQPA - A+oDlgMAAxwD/wFmAZkBzAFmAcwB/wFmAswBmQL/AZkC/wGZAv8BmQL/AZkC/wGZAv8BmQL/AZkBzAH/ - AWYBzAH/ATMBmQHMAZABqQGtA/ED/wFcAa4B1wFdAcIB8gFaAb8B3wGXAf0B/wGVAfsB/wGVAfsB/wGV - AfsB/wGVAfsB/wGVAfsB/wGVAfsB/wGAAeUB+wF7AeAB+gE+AaQBwwGDAZwBqQP1A/8DzAb/AcwCmQHM - ApkBzAKZAcwCmQHMApkBzAKZAcwCmQHMApkD6gOZAyID8QMcAwAD3QP/AcwCmQHMApkBzAKZAcwCmQHM - ApkBzAKZAcwCmQHMApkD6gOWAwADHAP/AWYCzAFmAcwB/wFmA8wC/wHMAv8BzAL/AcwC/wHMAv8BzAL/ - AcwC/wGZAv8BmQHMAf8BMwGZAcwBkAGpAa0D8QP/AWIBsQHZAWMByAHyAWUBvgHeAbkC/wG5Av8BuQL/ - AbkC/wG5Av8BuQL/AbkC/wGcAe0B/QGSAecB/QFMAaYBxQGMAaUBsgP2A/8DzAb/AcwCmQHMAmYBzAJm - AcwCZgHMAmYBzAJmAcwCZgHMApkD6gOZAyID8QYAA90D/wHMApkBzAJmAcwCZgHMAmYBzAJmAcwCZgHM - AmYBzAKZA+oDhgMAAxwD/wFmAswBZgHMAf8BZgLMAfAB+wH/AfAB+wH/AfAB+wH/AfAB+wH/AfAB+wH/ - BvEBxgHWAe8BxgHWAe8BZgGZAcwBmQLMBv8BZgG0AdoBbAHRAfMBeQG9Ad0B5QHxAfgB5QHxAfgB5QHx - AfgB5QHxAfgB5QHxAfgB5AHxAfcB5AHwAfcBugHoAfYBrQHmAfYBZgGmAcYBpAG9AckD+gP/A8wG/wPA - AcwCmQHMApkBzAKZAcwCmQHMApkBzAKZA8wD6gOZAyID8QYAA90D/wPAAcwCmQHMApkBzAKZAcwCmQHM - ApkBzAKZA8wD6gOWAwADIgP/AWYCzAGZAv8BZgHMAf8BMwGZAcwBMwGZAcwBMwGZAcwBMwGZAcwBMwGZ - AcwBMwGZAcwBMwGZAcwBMwGZAcwBMwGZAcwBMwGZAcwB1gLnBv8BaQG3AdwBggHoAf4BZAHGAegBOgGZ - AckBOgGZAckBOgGZAckBOgGZAckBOgGZAckBNQGUAcQBMQGPAb8BKgGLAbwBMwGQAb0BOwGTAb4BygHh - AewG/wPMBv8BzAJmAZkCZgGZAmYBmQJmAZkCZgGZAmYBmQJmAcwCmQPqA5kDIgPxAxYDAAPdA/8BzAJm - AZkCZgGZAmYBmQJmAZkCZgGZAmYBmQJmAcwCmQPqA4YDAAMWA/8BZgLMAZkC/wGZAv8BZgHMAf8BZgHM - Af8BZgHMAf8BxgHWAe8BxgHWAe8B1gLnAdYC5wGZAswBZgGZAcwBxgHWAe8B8AH7B/8BbQG7Ad4BjQHz - Af8BgwHpAfoBdgHcAfEBdgHcAfEBdgHcAfEBwAHjAfEBywHkAfEByQHjAe8ByAHhAe4BjAG/AdgBaAGi - Ar8B1QHgAfMB+AH7Bv8DzAb/A9cMzAbjA8ADsgN3AyID8QMiAwAD3QP/A9cB8AHKAaYDzAHwAcoBpgPM - BuMDwAOyA4YDAAMpA/8BZgPMAv8BmQL/AZkC/wGZAv8BzAL/AZkCzAGZAswBmQLMAZkCzAFmAZkBzAGZ - AswD8Qn/AXYBvQHeAcAB+wH/AZQB+gH/AZQB+gH/AZQB+gH/AcAB+gH/AaEB0AHlAZcBxgHeAZQBxAHd - AZEBwgHbAWsBrAHNAYwBuQHQA/cJ/wPMBv8BzAJmAZkCMwGZAjMBmQIzAZkCMwHMApkDsgMiBikDTQPx - BgAD3QP/AZkCZgGZAjMBmQIzAZkCMwGZAjMBzAKZA7IDIgMpAxwDAAMWA/8BmQHMAf8BxgHWAe8BzAL/ - AcwC/wHMAv8BxgHWAe8BmQLMAZkCzAGZAswBmQLMAZkCzAHGAdYB7wz/AaYB0gHpAcUB6gH1Ab8C/wG/ - Av8BvwL/AcAB5gHyAZMBxQHdAYsBwAHbAYgBvQHZAYUBvAHXAYEBuQHVAb8B2wHpDP8DzBj/A9cDsgPx - A90D/wPxBgADwBXdA8ABpAKgA9cDlgMAAzMD/wHwAfsB/wGZAswB8AH7Af8B8AH7Af8B8AH7Af8BmQLM - A/Eb/wHwAfgB+wGdAc4B5wHjAfEB+AHjAfEB+AHiAfAB+AGRAcUB4AHpAfEB9Rv/A8wY8QPqA9cD3Qb/ - A/EwAAb/AdYC5wFmAswBZgLMAWYCzAHWAuch/wHaAe0B9gFrAbUB2gFpAbMB2QFlAbAB1wHYAesB9R7/ - A8wYhgOZA90J/wPxAzMDAAMpAxYDIgMWAyIDFgYcAxYDIgMWAykDAAM5AUIBTQE+BwABPgMAASgDAAFA - AwABIAMAAQEBAAEBBgABARYAA///AAIACw== -</value> - </data> -</root> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeModel.cs b/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeModel.cs deleted file mode 100644 index fca939d08a..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/DataTableExample/DataTableTreeModel.cs +++ /dev/null @@ -1,107 +0,0 @@ -using System; -using System.Data; -using System.Collections.Generic; -using System.Text; -using System.Collections.ObjectModel; -using Aga.Controls.Tree; -using System.Drawing; -namespace SampleApp -{ - /// <summary> - /// Using a System.Data.DataTable to represent a tree structure - /// </summary> - public class DataTableTreeModel : TreeModelBase - { - private DataRowNode m_root; - - DataTable m_table; - string m_IDColumnName; - - public DataTableTreeModel(DataTable table, string idColumnName) - { - m_table = table; - m_IDColumnName = idColumnName; - DataRow[] rows = table.Select(m_IDColumnName+" = ParentID"); - if( rows.Length ==0 ) - { - throw new Exception("DataTableModel Requires a root Node"); - } - m_root = new DataRowNode(rows[0],rows[0]["Name"].ToString()); - m_root.Row = rows[0]; - } - - public override System.Collections.IEnumerable GetChildren(TreePath treePath) - { - List<DataRowNode> items = new List<DataRowNode>(); - - if (treePath.IsEmpty() ) - { - items.Add(m_root); - } - else - { - DataRowNode n = treePath.LastNode as DataRowNode; - - DataRow row = n.Row; - int id = Convert.ToInt32(row[m_IDColumnName]); - - DataRow[] rows = m_table.Select("ParentID = " + id+" and "+m_IDColumnName+" <> "+id); - foreach (DataRow r in rows) - { - DataRowNode node = new DataRowNode(r,r["Name"].ToString()); - node.Row = r; - //SampleApp.Properties.Resources.ResourceManager. - //node.Icon = new Bitmap(SampleApp.Properties.Resources.Records,new Size(15,15)); - items.Add(node); - } - } - return items; - } - - public override bool IsLeaf(TreePath treePath) - { - DataRowNode n = treePath.LastNode as DataRowNode; - if (n.Row["IsFolder"] == DBNull.Value) - return false; - return !Convert.ToBoolean(n.Row["IsFolder"]); - } - - - //public event EventHandler<TreeModelEventArgs> NodesChanged; - - //public event EventHandler<TreeModelEventArgs> NodesInserted; - - //public event EventHandler<TreeModelEventArgs> NodesRemoved; - - //public event EventHandler<TreePathEventArgs> StructureChanged; - - - public void AddChild(TreePath parent, string text) - { - DataRowNode n = parent.LastNode as DataRowNode; - - DataRow r = m_table.NewRow(); - r["ID"] = GetNextID(); - r["ParentID"] = n.Row["ID"]; - r["IsFolder"] = false; - r["Name"] = text; - r["Tag"] = ""; - m_table.Rows.Add(r); - DataRowNode child = new DataRowNode(r, text); - OnStructureChanged(new TreePathEventArgs(parent)); - } - - private int GetNextID() - { - int max = 1; - for (int i = 0; i < m_table.Rows.Count; i++) - { - int id = Convert.ToInt32(m_table.Rows[i]["ID"]); - if (id > max) - max = id; - } - - return max + 1; - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/DataTableTreeExample.cs b/src/Libraries/TreeViewAdv/SampleApp/DataTableTreeExample.cs deleted file mode 100644 index a865090588..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/DataTableTreeExample.cs +++ /dev/null @@ -1,103 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Text; -using System.Windows.Forms; -using Aga.Controls.Tree; -using Aga.Controls.Tree.NodeControls; -namespace SampleApp -{ - public partial class DataTableTreeExample : UserControl - { - - private DataTableTreeModel m_dataTableModel; - public DataTableTreeExample() - { - InitializeComponent(); - DataTable table = CreateSampleDataTable(); - - this.dataGridView1.Columns.Clear(); - this.dataGridView1.DataSource = table; - - treeViewAdv1.LoadOnDemand = true; - treeViewAdv1.SelectionMode = TreeSelectionMode.Multi; - treeViewAdv1.NodeControls.Clear(); - - NodeStateIcon ni = new NodeStateIcon(); - ni.DataPropertyName = "Icon"; - treeViewAdv1.NodeControls.Add(ni); - - NodeTextBox tb = new NodeTextBox(); - tb.DataPropertyName = "Text"; - treeViewAdv1.NodeControls.Add(tb); - - - m_dataTableModel = new DataTableTreeModel(table,"id"); - this.treeViewAdv1.Model = m_dataTableModel; - this.treeViewAdv1.SelectionChanged += new EventHandler(treeViewAdv1_SelectionChanged); - } - - void treeViewAdv1_SelectionChanged(object sender, EventArgs e) - { - Enabling(); - //treeViewAdv1.SelectedNodes - } - - private void Enabling() - { - if (treeViewAdv1.SelectedNodes.Count == 0) - addNodeToolStripMenuItem.Enabled = false; - else - addNodeToolStripMenuItem.Enabled = !treeViewAdv1.SelectedNode.IsLeaf; - } - - - private static DataTable CreateSampleDataTable() - { - DataTable table = new DataTable(); - table.Columns.Add("ID", typeof(int)); - table.Columns.Add("ParentID", typeof(int)); - table.Columns.Add("IsFolder", typeof(bool)); - table.Columns.Add("Name"); - table.Columns.Add("Tag"); - - table.Rows.Add(1, 1, true, "Columbia River ", "set ID = ParentID for root"); - table.Rows.Add(2, 1, false, "John Day", " "); - table.Rows.Add(3, 1, true, "Snake River", ""); - table.Rows.Add(4, 3, false, "Payette River", ""); - table.Rows.Add(5, 3, false, "Boise River", ""); - - return table; - } - - private void addNode_Click(object sender, - EventArgs e) - { - if (treeViewAdv1.SelectedNode != null) - { - DataRowNode n = treeViewAdv1.SelectedNode.Tag as DataRowNode; - if (!Convert.ToBoolean(n.Row["IsFolder"])) - { - return; - } - - TreePath parent = treeViewAdv1.GetPath(treeViewAdv1.SelectedNode); - - m_dataTableModel.AddChild(parent, "Hi "+DateTime.Today.ToShortDateString()); - - } - } - - private void renameToolStripMenuItem_Click(object sender, EventArgs e) - { - - } - - private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) - { - Console.WriteLine("Row added"); - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/DataTableTreeExample.designer.cs b/src/Libraries/TreeViewAdv/SampleApp/DataTableTreeExample.designer.cs deleted file mode 100644 index 7044b41238..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/DataTableTreeExample.designer.cs +++ /dev/null @@ -1,216 +0,0 @@ -namespace SampleApp -{ - partial class DataTableTreeExample - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Component Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DataTableTreeExample)); - this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.treeViewAdv1 = new Aga.Controls.Tree.TreeViewAdv(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.addNodeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.nodeTextBox1 = new Aga.Controls.Tree.NodeControls.NodeTextBox(); - this.nodeStateIcon1 = new Aga.Controls.Tree.NodeControls.NodeStateIcon(); - this.panel1 = new System.Windows.Forms.Panel(); - this.dataGridView1 = new System.Windows.Forms.DataGridView(); - this.ID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ParentID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.Label = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.Data = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.imageList1 = new System.Windows.Forms.ImageList(this.components); - this.label1 = new System.Windows.Forms.Label(); - this.splitContainer1.Panel1.SuspendLayout(); - this.splitContainer1.Panel2.SuspendLayout(); - this.splitContainer1.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); - this.panel1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); - this.SuspendLayout(); - // - // splitContainer1 - // - this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer1.Location = new System.Drawing.Point(0, 0); - this.splitContainer1.Name = "splitContainer1"; - // - // splitContainer1.Panel1 - // - this.splitContainer1.Panel1.Controls.Add(this.treeViewAdv1); - // - // splitContainer1.Panel2 - // - this.splitContainer1.Panel2.Controls.Add(this.panel1); - this.splitContainer1.Panel2.Controls.Add(this.dataGridView1); - this.splitContainer1.Size = new System.Drawing.Size(830, 528); - this.splitContainer1.SplitterDistance = 298; - this.splitContainer1.TabIndex = 0; - // - // treeViewAdv1 - // - this.treeViewAdv1.BackColor = System.Drawing.SystemColors.Window; - this.treeViewAdv1.ContextMenuStrip = this.contextMenuStrip1; - this.treeViewAdv1.Cursor = System.Windows.Forms.Cursors.Default; - this.treeViewAdv1.DefaultToolTipProvider = null; - this.treeViewAdv1.Dock = System.Windows.Forms.DockStyle.Fill; - this.treeViewAdv1.DragDropMarkColor = System.Drawing.Color.Black; - this.treeViewAdv1.LineColor = System.Drawing.SystemColors.ControlDark; - this.treeViewAdv1.Location = new System.Drawing.Point(0, 0); - this.treeViewAdv1.Model = null; - this.treeViewAdv1.Name = "treeViewAdv1"; - this.treeViewAdv1.NodeControls.Add(this.nodeTextBox1); - this.treeViewAdv1.NodeControls.Add(this.nodeStateIcon1); - this.treeViewAdv1.SelectedNode = null; - this.treeViewAdv1.Size = new System.Drawing.Size(298, 528); - this.treeViewAdv1.TabIndex = 0; - this.treeViewAdv1.Text = "treeViewAdv1"; - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.addNodeToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(153, 48); - // - // addNodeToolStripMenuItem - // - this.addNodeToolStripMenuItem.Name = "addNodeToolStripMenuItem"; - this.addNodeToolStripMenuItem.Size = new System.Drawing.Size(152, 22); - this.addNodeToolStripMenuItem.Text = "Add Node"; - this.addNodeToolStripMenuItem.Click += new System.EventHandler(this.addNode_Click); - // - // nodeTextBox1 - // - this.nodeTextBox1.IncrementalSearchEnabled = true; - this.nodeTextBox1.LeftMargin = 3; - this.nodeTextBox1.ParentColumn = null; - // - // nodeStateIcon1 - // - this.nodeStateIcon1.LeftMargin = 1; - this.nodeStateIcon1.ParentColumn = null; - // - // panel1 - // - this.panel1.Controls.Add(this.label1); - this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom; - this.panel1.Location = new System.Drawing.Point(0, 428); - this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(528, 100); - this.panel1.TabIndex = 1; - // - // dataGridView1 - // - this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { - this.ID, - this.ParentID, - this.Label, - this.Data}); - this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; - this.dataGridView1.Location = new System.Drawing.Point(0, 0); - this.dataGridView1.Name = "dataGridView1"; - this.dataGridView1.Size = new System.Drawing.Size(528, 528); - this.dataGridView1.TabIndex = 0; - this.dataGridView1.RowsAdded += new System.Windows.Forms.DataGridViewRowsAddedEventHandler(this.dataGridView1_RowsAdded); - // - // ID - // - this.ID.HeaderText = "ID"; - this.ID.Name = "ID"; - // - // ParentID - // - this.ParentID.HeaderText = "ParentID"; - this.ParentID.Name = "ParentID"; - // - // Label - // - this.Label.HeaderText = "Label"; - this.Label.Name = "Label"; - // - // Data - // - this.Data.HeaderText = "Data"; - this.Data.Name = "Data"; - // - // imageList1 - // - this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream"))); - this.imageList1.TransparentColor = System.Drawing.Color.Transparent; - this.imageList1.Images.SetKeyName(0, ""); - this.imageList1.Images.SetKeyName(1, ""); - this.imageList1.Images.SetKeyName(2, ""); - this.imageList1.Images.SetKeyName(3, ""); - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(59, 34); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(174, 13); - this.label1.TabIndex = 0; - this.label1.Text = "right click on a folder to add a node"; - // - // DataTableTreeExample - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.splitContainer1); - this.Name = "DataTableTreeExample"; - this.Size = new System.Drawing.Size(830, 528); - this.splitContainer1.Panel1.ResumeLayout(false); - this.splitContainer1.Panel2.ResumeLayout(false); - this.splitContainer1.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); - this.panel1.ResumeLayout(false); - this.panel1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.SplitContainer splitContainer1; - private Aga.Controls.Tree.TreeViewAdv treeViewAdv1; - private System.Windows.Forms.DataGridView dataGridView1; - private System.Windows.Forms.Panel panel1; - private System.Windows.Forms.DataGridViewTextBoxColumn ID; - private System.Windows.Forms.DataGridViewTextBoxColumn ParentID; - private System.Windows.Forms.DataGridViewTextBoxColumn Label; - private System.Windows.Forms.DataGridViewTextBoxColumn Data; - private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; - private System.Windows.Forms.ToolStripMenuItem addNodeToolStripMenuItem; - private System.Windows.Forms.ImageList imageList1; - private Aga.Controls.Tree.NodeControls.NodeTextBox nodeTextBox1; - private Aga.Controls.Tree.NodeControls.NodeStateIcon nodeStateIcon1; - private System.Windows.Forms.Label label1; - - - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/DataTableTreeExample.resx b/src/Libraries/TreeViewAdv/SampleApp/DataTableTreeExample.resx deleted file mode 100644 index 52af9b368e..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/DataTableTreeExample.resx +++ /dev/null @@ -1,203 +0,0 @@ -<?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> - <metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>17, 17</value> - </metadata> - <metadata name="ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <metadata name="ParentID.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <metadata name="Label.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <metadata name="Data.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>162, 17</value> - </metadata> - <data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64"> - <value> - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABw - DQAAAk1TRnQBSQFMAgEBBAEAAQkBAAEEAQABEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA - AwABIAMAAQEBAAEYBgABGP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AB4AAf8CzAH/AswB8AHKAaYBzAOZ - AmYVVQGZAmYBzAKZAfABygGmAf8CzAH2As4B9QLNAecDvwKXAZQCbAFzAksBcwJLAXMCSwFzAksBcwJL - AXMCSwFzAksBlAJsAb8ClwHnAr8B9QLNA/EDFiEAAxYDTQH/AewBzAYAAzMDFgYAAyIDHAYAAxYDKQkA - AzMG/wFmAswBZgGZAcwBMwKZATMBZgGZATMBZgGZATMBZgGZATMBZgGZATMBZgGZATMBZgGZATMBZgGZ - ATMBZgGZAmYBmQPABv8B8AH3AfoBeQGyAc4BVgGWAbUBQAGAAZ8BMAFwAY8BLgFuAY0BKwFrAYoBKgFq - AYkBKAFoAYcBJwFnAYYBJQFlAYQBMwFzAZIBXwF3AYIDvQP6A/8ksgOWA00D8TAAA/8BmQLMAWYBmQHM - ATMBmQHMATMBmQHMATMBmQHMATMBmQHMATMBmQHMATMBmQHMATMBmQHMATMBmQHMATMBmQHMATMBmQHM - ATMBZgSZA/ED/wGlAc8B5AFSAacB0QEwAZYBwAFHAa0B0gE8AaEB0AE6AaABzwE4AZ0BzAE3AZwBywE1 - AZsBygE0AZoByAEqAZABwAEwAZYBvQEwAXIBigGUAZ8BpQP2A/8DzAPqG/ED4wOZAykD8QMpAwADshvM - A8ADhgMAAykD/wFmAZkBzAFmAcwB/wEzAswBmQL/AWYBzAH/AWYBzAH/AWYBzAH/AWYBzAH/AWYBzAH/ - AWYBzAH/AWYBzAH/AWYBzAH/ATMBmQHMAZABqQGtA/ED/wFQAaMBzQFxAcQB7gFOAbQB1AGGAewB/wFy - AdcB/wFyAdcB/wFyAdcB/wFyAdcB/wFyAdcB/wFyAdcB/wFfAcQB8AFrAdEB6gE6AaABvwGCAZwBqAP1 - A/8DzAb/AcwCZgGZAjMBmQIzAZkCMwGZAjMBmQIzAZkCMwHMAmYD6gOZAyID8QMWAwAD3QP/AZkCZgGZ - AjMBmQIzAZkCMwGZAjMBmQIzAZkCMwHMAmYD6gOGAwADFgP/AWYBmQHMAWYBzAH/AWYCzAGZAv8BZgHM - Af8BZgHMAf8BZgHMAf8BZgHMAf8BZgHMAf8BZgHMAf8BZgHMAf8BZgHMAf8BMwGZAcwBkAGpAa0D8QP/ - AVABpgHQAVcBvAHvAVIBtwHXAYoB8AH/AXwB4QH/AXwB4QH/AXwB4QH/AXwB4QH/AXwB4QH/AXwB4QH/ - AWcBzAHyAW8B1AHuATsBoQHAAYABmgGmA/QD/wPMBv8EzAKZAcwCmQHMApkBzAKZAcwCmQHMApkD1wPq - A5kDIgPxBgAD3QP/BMwCmQHMApkBzAKZAcwCmQHMApkBzAKZA8wD6gOZAwADKQP/AWYBmQHMAWYBzAH/ - AWYCzAGZAv8BmQL/AZkC/wGZAv8BmQL/AZkC/wGZAv8BZgHMAf8BZgHMAf8BMwGZAcwBkAGpAa0D8QP/ - AVQBqAHSAVkBvgHxAVYBuwHbAY4B9AH/AYQB6gH/AYQB6gH/AYQB6gH/AYQB6gH/AYQB6gH/AYQB6gH/ - AW8B1QH2AXMB2AHyATwBogHBAYEBmgGnA/QD/wPMBv8BzAKZAcwCZgHMAmYBzAJmAcwCZgHMAmYBzAJm - AcwCmQPqA5kDIgPxBgAD3QP/AcwCmQHMAmYBmQJmAcwCZgHMAmYBmQJmAcwCZgHMApkD6gOGAwADFgP/ - AWYBmQHMAWYBzAH/AWYCzAGZAv8BmQL/AZkC/wGZAv8BmQL/AZkC/wGZAv8BZgHMAf8BZgHMAf8BMwGZ - AcwBkAGpAa0D8QP/AVcBqgHUAVoBvwHyAVgBvgHeAZMB+QH/AY0B8wH/AY0B8wH/AY0B8wH/AY0B8wH/ - AY0B8wH/AY0B8wH/AXgB3gH4AXcB3AH2AT0BowHCAYEBmwGnA/QD/wPMBv8BzAKZAcwCmQHMApkBzAKZ - AcwCmQHMApkBzAKZA8AD6gOZAyID8QMcAwAD3QP/AcwCmQHMApkBzAKZAcwCmQHMApkBzAKZAcwCmQPA - A+oDlgMAAxwD/wFmAZkBzAFmAcwB/wFmAswBmQL/AZkC/wGZAv8BmQL/AZkC/wGZAv8BmQL/AZkBzAH/ - AWYBzAH/ATMBmQHMAZABqQGtA/ED/wFcAa4B1wFdAcIB8gFaAb8B3wGXAf0B/wGVAfsB/wGVAfsB/wGV - AfsB/wGVAfsB/wGVAfsB/wGVAfsB/wGAAeUB+wF7AeAB+gE+AaQBwwGDAZwBqQP1A/8DzAb/AcwCmQHM - ApkBzAKZAcwCmQHMApkBzAKZAcwCmQHMApkD6gOZAyID8QMcAwAD3QP/AcwCmQHMApkBzAKZAcwCmQHM - ApkBzAKZAcwCmQHMApkD6gOWAwADHAP/AWYCzAFmAcwB/wFmA8wC/wHMAv8BzAL/AcwC/wHMAv8BzAL/ - AcwC/wGZAv8BmQHMAf8BMwGZAcwBkAGpAa0D8QP/AWIBsQHZAWMByAHyAWUBvgHeAbkC/wG5Av8BuQL/ - AbkC/wG5Av8BuQL/AbkC/wGcAe0B/QGSAecB/QFMAaYBxQGMAaUBsgP2A/8DzAb/AcwCmQHMAmYBzAJm - AcwCZgHMAmYBzAJmAcwCZgHMApkD6gOZAyID8QYAA90D/wHMApkBzAJmAcwCZgHMAmYBzAJmAcwCZgHM - AmYBzAKZA+oDhgMAAxwD/wFmAswBZgHMAf8BZgLMAfAB+wH/AfAB+wH/AfAB+wH/AfAB+wH/AfAB+wH/ - BvEBxgHWAe8BxgHWAe8BZgGZAcwBmQLMBv8BZgG0AdoBbAHRAfMBeQG9Ad0B5QHxAfgB5QHxAfgB5QHx - AfgB5QHxAfgB5QHxAfgB5AHxAfcB5AHwAfcBugHoAfYBrQHmAfYBZgGmAcYBpAG9AckD+gP/A8wG/wPA - AcwCmQHMApkBzAKZAcwCmQHMApkBzAKZA8wD6gOZAyID8QYAA90D/wPAAcwCmQHMApkBzAKZAcwCmQHM - ApkBzAKZA8wD6gOWAwADIgP/AWYCzAGZAv8BZgHMAf8BMwGZAcwBMwGZAcwBMwGZAcwBMwGZAcwBMwGZ - AcwBMwGZAcwBMwGZAcwBMwGZAcwBMwGZAcwBMwGZAcwB1gLnBv8BaQG3AdwBggHoAf4BZAHGAegBOgGZ - AckBOgGZAckBOgGZAckBOgGZAckBOgGZAckBNQGUAcQBMQGPAb8BKgGLAbwBMwGQAb0BOwGTAb4BygHh - AewG/wPMBv8BzAJmAZkCZgGZAmYBmQJmAZkCZgGZAmYBmQJmAcwCmQPqA5kDIgPxAxYDAAPdA/8BzAJm - AZkCZgGZAmYBmQJmAZkCZgGZAmYBmQJmAcwCmQPqA4YDAAMWA/8BZgLMAZkC/wGZAv8BZgHMAf8BZgHM - Af8BZgHMAf8BxgHWAe8BxgHWAe8B1gLnAdYC5wGZAswBZgGZAcwBxgHWAe8B8AH7B/8BbQG7Ad4BjQHz - Af8BgwHpAfoBdgHcAfEBdgHcAfEBdgHcAfEBwAHjAfEBywHkAfEByQHjAe8ByAHhAe4BjAG/AdgBaAGi - Ar8B1QHgAfMB+AH7Bv8DzAb/A9cMzAbjA8ADsgN3AyID8QMiAwAD3QP/A9cB8AHKAaYDzAHwAcoBpgPM - BuMDwAOyA4YDAAMpA/8BZgPMAv8BmQL/AZkC/wGZAv8BzAL/AZkCzAGZAswBmQLMAZkCzAFmAZkBzAGZ - AswD8Qn/AXYBvQHeAcAB+wH/AZQB+gH/AZQB+gH/AZQB+gH/AcAB+gH/AaEB0AHlAZcBxgHeAZQBxAHd - AZEBwgHbAWsBrAHNAYwBuQHQA/cJ/wPMBv8BzAJmAZkCMwGZAjMBmQIzAZkCMwHMApkDsgMiBikDTQPx - BgAD3QP/AZkCZgGZAjMBmQIzAZkCMwGZAjMBzAKZA7IDIgMpAxwDAAMWA/8BmQHMAf8BxgHWAe8BzAL/ - AcwC/wHMAv8BxgHWAe8BmQLMAZkCzAGZAswBmQLMAZkCzAHGAdYB7wz/AaYB0gHpAcUB6gH1Ab8C/wG/ - Av8BvwL/AcAB5gHyAZMBxQHdAYsBwAHbAYgBvQHZAYUBvAHXAYEBuQHVAb8B2wHpDP8DzBj/A9cDsgPx - A90D/wPxBgADwBXdA8ABpAKgA9cDlgMAAzMD/wHwAfsB/wGZAswB8AH7Af8B8AH7Af8B8AH7Af8BmQLM - A/Eb/wHwAfgB+wGdAc4B5wHjAfEB+AHjAfEB+AHiAfAB+AGRAcUB4AHpAfEB9Rv/A8wY8QPqA9cD3Qb/ - A/EwAAb/AdYC5wFmAswBZgLMAWYCzAHWAuch/wHaAe0B9gFrAbUB2gFpAbMB2QFlAbAB1wHYAesB9R7/ - A8wYhgOZA90J/wPxAzMDAAMpAxYDIgMWAyIDFgYcAxYDIgMWAykDAAM5AUIBTQE+BwABPgMAASgDAAFA - AwABIAMAAQEBAAEBBgABARYAA///AAIACw== -</value> - </data> -</root> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/SampleApp/DataTableTreeModel.cs b/src/Libraries/TreeViewAdv/SampleApp/DataTableTreeModel.cs deleted file mode 100644 index fca939d08a..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/DataTableTreeModel.cs +++ /dev/null @@ -1,107 +0,0 @@ -using System; -using System.Data; -using System.Collections.Generic; -using System.Text; -using System.Collections.ObjectModel; -using Aga.Controls.Tree; -using System.Drawing; -namespace SampleApp -{ - /// <summary> - /// Using a System.Data.DataTable to represent a tree structure - /// </summary> - public class DataTableTreeModel : TreeModelBase - { - private DataRowNode m_root; - - DataTable m_table; - string m_IDColumnName; - - public DataTableTreeModel(DataTable table, string idColumnName) - { - m_table = table; - m_IDColumnName = idColumnName; - DataRow[] rows = table.Select(m_IDColumnName+" = ParentID"); - if( rows.Length ==0 ) - { - throw new Exception("DataTableModel Requires a root Node"); - } - m_root = new DataRowNode(rows[0],rows[0]["Name"].ToString()); - m_root.Row = rows[0]; - } - - public override System.Collections.IEnumerable GetChildren(TreePath treePath) - { - List<DataRowNode> items = new List<DataRowNode>(); - - if (treePath.IsEmpty() ) - { - items.Add(m_root); - } - else - { - DataRowNode n = treePath.LastNode as DataRowNode; - - DataRow row = n.Row; - int id = Convert.ToInt32(row[m_IDColumnName]); - - DataRow[] rows = m_table.Select("ParentID = " + id+" and "+m_IDColumnName+" <> "+id); - foreach (DataRow r in rows) - { - DataRowNode node = new DataRowNode(r,r["Name"].ToString()); - node.Row = r; - //SampleApp.Properties.Resources.ResourceManager. - //node.Icon = new Bitmap(SampleApp.Properties.Resources.Records,new Size(15,15)); - items.Add(node); - } - } - return items; - } - - public override bool IsLeaf(TreePath treePath) - { - DataRowNode n = treePath.LastNode as DataRowNode; - if (n.Row["IsFolder"] == DBNull.Value) - return false; - return !Convert.ToBoolean(n.Row["IsFolder"]); - } - - - //public event EventHandler<TreeModelEventArgs> NodesChanged; - - //public event EventHandler<TreeModelEventArgs> NodesInserted; - - //public event EventHandler<TreeModelEventArgs> NodesRemoved; - - //public event EventHandler<TreePathEventArgs> StructureChanged; - - - public void AddChild(TreePath parent, string text) - { - DataRowNode n = parent.LastNode as DataRowNode; - - DataRow r = m_table.NewRow(); - r["ID"] = GetNextID(); - r["ParentID"] = n.Row["ID"]; - r["IsFolder"] = false; - r["Name"] = text; - r["Tag"] = ""; - m_table.Rows.Add(r); - DataRowNode child = new DataRowNode(r, text); - OnStructureChanged(new TreePathEventArgs(parent)); - } - - private int GetNextID() - { - int max = 1; - for (int i = 0; i < m_table.Rows.Count; i++) - { - int id = Convert.ToInt32(m_table.Rows[i]["ID"]); - if (id > max) - max = id; - } - - return max + 1; - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/FolderBrowser.Designer.cs b/src/Libraries/TreeViewAdv/SampleApp/FolderBrowser.Designer.cs deleted file mode 100644 index 30cfafd5da..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/FolderBrowser.Designer.cs +++ /dev/null @@ -1,203 +0,0 @@ -namespace SampleApp -{ - partial class FolderBrowser - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Component Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - this.cboxGrid = new System.Windows.Forms.ComboBox(); - this.cbLines = new System.Windows.Forms.CheckBox(); - this.label1 = new System.Windows.Forms.Label(); - this._treeView = new Aga.Controls.Tree.TreeViewAdv(); - this.treeColumn1 = new Aga.Controls.Tree.TreeColumn(); - this.treeColumn2 = new Aga.Controls.Tree.TreeColumn(); - this.treeColumn3 = new Aga.Controls.Tree.TreeColumn(); - this.nodeCheckBox1 = new Aga.Controls.Tree.NodeControls.NodeCheckBox(); - this._icon = new Aga.Controls.Tree.NodeControls.NodeStateIcon(); - this._name = new Aga.Controls.Tree.NodeControls.NodeTextBox(); - this._size = new Aga.Controls.Tree.NodeControls.NodeTextBox(); - this._date = new Aga.Controls.Tree.NodeControls.NodeTextBox(); - this.SuspendLayout(); - // - // cboxGrid - // - this.cboxGrid.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.cboxGrid.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cboxGrid.FormattingEnabled = true; - this.cboxGrid.Location = new System.Drawing.Point(338, 303); - this.cboxGrid.Name = "cboxGrid"; - this.cboxGrid.Size = new System.Drawing.Size(192, 21); - this.cboxGrid.TabIndex = 1; - this.cboxGrid.SelectedIndexChanged += new System.EventHandler(this.cboxGrid_SelectedIndexChanged); - // - // cbLines - // - this.cbLines.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.cbLines.AutoSize = true; - this.cbLines.Location = new System.Drawing.Point(3, 305); - this.cbLines.Name = "cbLines"; - this.cbLines.Size = new System.Drawing.Size(81, 17); - this.cbLines.TabIndex = 3; - this.cbLines.Text = "Show Lines"; - this.cbLines.UseVisualStyleBackColor = true; - this.cbLines.CheckedChanged += new System.EventHandler(this.cbLines_CheckedChanged); - // - // label1 - // - this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(257, 306); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(75, 13); - this.label1.TabIndex = 4; - this.label1.Text = "Grid Line Style"; - // - // _treeView - // - this._treeView.AllowColumnReorder = true; - this._treeView.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._treeView.AutoRowHeight = true; - this._treeView.BackColor = System.Drawing.SystemColors.Window; - this._treeView.Columns.Add(this.treeColumn1); - this._treeView.Columns.Add(this.treeColumn2); - this._treeView.Columns.Add(this.treeColumn3); - this._treeView.Cursor = System.Windows.Forms.Cursors.Default; - this._treeView.DefaultToolTipProvider = null; - this._treeView.DragDropMarkColor = System.Drawing.Color.Black; - this._treeView.FullRowSelect = true; - this._treeView.GridLineStyle = ((Aga.Controls.Tree.GridLineStyle)((Aga.Controls.Tree.GridLineStyle.Horizontal | Aga.Controls.Tree.GridLineStyle.Vertical))); - this._treeView.LineColor = System.Drawing.SystemColors.ControlDark; - this._treeView.LoadOnDemand = true; - this._treeView.Location = new System.Drawing.Point(0, 0); - this._treeView.Model = null; - this._treeView.Name = "_treeView"; - this._treeView.NodeControls.Add(this.nodeCheckBox1); - this._treeView.NodeControls.Add(this._icon); - this._treeView.NodeControls.Add(this._name); - this._treeView.NodeControls.Add(this._size); - this._treeView.NodeControls.Add(this._date); - this._treeView.SelectedNode = null; - this._treeView.ShowNodeToolTips = true; - this._treeView.Size = new System.Drawing.Size(533, 298); - this._treeView.TabIndex = 0; - this._treeView.UseColumns = true; - this._treeView.NodeMouseDoubleClick += new System.EventHandler<Aga.Controls.Tree.TreeNodeAdvMouseEventArgs>(this._treeView_NodeMouseDoubleClick); - this._treeView.ColumnClicked += new System.EventHandler<Aga.Controls.Tree.TreeColumnEventArgs>(this._treeView_ColumnClicked); - this._treeView.MouseClick += new System.Windows.Forms.MouseEventHandler(this._treeView_MouseClick); - // - // treeColumn1 - // - this.treeColumn1.Header = "Name"; - this.treeColumn1.SortOrder = System.Windows.Forms.SortOrder.None; - this.treeColumn1.TooltipText = "File name"; - this.treeColumn1.Width = 250; - // - // treeColumn2 - // - this.treeColumn2.Header = "Size"; - this.treeColumn2.SortOrder = System.Windows.Forms.SortOrder.None; - this.treeColumn2.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; - this.treeColumn2.TooltipText = "File size"; - this.treeColumn2.Width = 100; - // - // treeColumn3 - // - this.treeColumn3.Header = "Date"; - this.treeColumn3.SortOrder = System.Windows.Forms.SortOrder.None; - this.treeColumn3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.treeColumn3.TooltipText = "File date"; - this.treeColumn3.Width = 150; - // - // nodeCheckBox1 - // - this.nodeCheckBox1.DataPropertyName = "IsChecked"; - this.nodeCheckBox1.LeftMargin = 0; - this.nodeCheckBox1.ParentColumn = this.treeColumn1; - // - // _icon - // - this._icon.DataPropertyName = "Icon"; - this._icon.LeftMargin = 1; - this._icon.ParentColumn = this.treeColumn1; - // - // _name - // - this._name.DataPropertyName = "Name"; - this._name.IncrementalSearchEnabled = true; - this._name.LeftMargin = 3; - this._name.ParentColumn = this.treeColumn1; - this._name.Trimming = System.Drawing.StringTrimming.EllipsisCharacter; - this._name.UseCompatibleTextRendering = true; - // - // _size - // - this._size.DataPropertyName = "Size"; - this._size.IncrementalSearchEnabled = true; - this._size.LeftMargin = 3; - this._size.ParentColumn = this.treeColumn2; - this._size.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; - // - // _date - // - this._date.DataPropertyName = "Date"; - this._date.IncrementalSearchEnabled = true; - this._date.LeftMargin = 3; - this._date.ParentColumn = this.treeColumn3; - this._date.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // FolderBrowser - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.label1); - this.Controls.Add(this.cbLines); - this.Controls.Add(this.cboxGrid); - this.Controls.Add(this._treeView); - this.Name = "FolderBrowser"; - this.Size = new System.Drawing.Size(533, 327); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private Aga.Controls.Tree.TreeViewAdv _treeView; - private Aga.Controls.Tree.NodeControls.NodeStateIcon _icon; - private Aga.Controls.Tree.NodeControls.NodeTextBox _name; - private Aga.Controls.Tree.NodeControls.NodeTextBox _size; - private Aga.Controls.Tree.NodeControls.NodeTextBox _date; - private Aga.Controls.Tree.NodeControls.NodeCheckBox nodeCheckBox1; - private Aga.Controls.Tree.TreeColumn treeColumn1; - private Aga.Controls.Tree.TreeColumn treeColumn2; - private Aga.Controls.Tree.TreeColumn treeColumn3; - private System.Windows.Forms.ComboBox cboxGrid; - private System.Windows.Forms.CheckBox cbLines; - private System.Windows.Forms.Label label1; - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/FolderBrowser.cs b/src/Libraries/TreeViewAdv/SampleApp/FolderBrowser.cs deleted file mode 100644 index c5967d41ca..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/FolderBrowser.cs +++ /dev/null @@ -1,88 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Text; -using System.Windows.Forms; - -using Aga.Controls.Tree.NodeControls; -using Aga.Controls.Tree; -using System.Collections; - -namespace SampleApp -{ - public partial class FolderBrowser : UserControl - { - private class ToolTipProvider: IToolTipProvider - { - public string GetToolTip(TreeNodeAdv node, NodeControl nodeControl) - { - if (node.Tag is RootItem) - return null; - else - return "Second click to rename node"; - } - } - - public FolderBrowser() - { - InitializeComponent(); - - cboxGrid.DataSource = System.Enum.GetValues(typeof(GridLineStyle)); - cboxGrid.SelectedItem = GridLineStyle.HorizontalAndVertical; - - cbLines.Checked = _treeView.ShowLines; - - _name.ToolTipProvider = new ToolTipProvider(); - _name.EditorShowing += new CancelEventHandler(_name_EditorShowing); - - _treeView.Model = new SortedTreeModel(new FolderBrowserModel()); - - } - - void _name_EditorShowing(object sender, CancelEventArgs e) - { - if (_treeView.CurrentNode.Tag is RootItem) - e.Cancel = true; - } - - private void _treeView_MouseClick(object sender, MouseEventArgs e) - { - if (e.Button == MouseButtons.Right) - { - NodeControlInfo info = _treeView.GetNodeControlInfoAt(e.Location); - if (info.Control != null) - { - Console.WriteLine(info.Bounds); - } - } - } - - private void _treeView_ColumnClicked(object sender, TreeColumnEventArgs e) - { - TreeColumn clicked = e.Column; - if (clicked.SortOrder == SortOrder.Ascending) - clicked.SortOrder = SortOrder.Descending; - else - clicked.SortOrder = SortOrder.Ascending; - - (_treeView.Model as SortedTreeModel).Comparer = new FolderItemSorter(clicked.Header, clicked.SortOrder); - } - - private void cboxGrid_SelectedIndexChanged(object sender, EventArgs e) - { - _treeView.GridLineStyle = (GridLineStyle)cboxGrid.SelectedItem; - } - - private void cbLines_CheckedChanged(object sender, EventArgs e) - { - _treeView.ShowLines = cbLines.Checked; - } - - private void _treeView_NodeMouseDoubleClick(object sender, TreeNodeAdvMouseEventArgs e) - { - Console.WriteLine(e.Node); - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/FolderBrowser.resx b/src/Libraries/TreeViewAdv/SampleApp/FolderBrowser.resx deleted file mode 100644 index 19dc0dd8b3..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/FolderBrowser.resx +++ /dev/null @@ -1,120 +0,0 @@ -<?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> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/SampleApp/FolderBrowserModel.cs b/src/Libraries/TreeViewAdv/SampleApp/FolderBrowserModel.cs deleted file mode 100644 index 9bce53f166..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/FolderBrowserModel.cs +++ /dev/null @@ -1,157 +0,0 @@ -#pragma warning disable 67 // Event never used - -using System; -using System.Collections.Generic; -using System.Text; - -using Aga.Controls.Tree; -using System.IO; -using System.Drawing; -using System.ComponentModel; -using System.Threading; - -namespace SampleApp -{ - public class FolderBrowserModel: ITreeModel - { - private BackgroundWorker _worker; - private List<BaseItem> _itemsToRead; - private Dictionary<string, List<BaseItem>> _cache = new Dictionary<string, List<BaseItem>>(); - - public FolderBrowserModel() - { - _itemsToRead = new List<BaseItem>(); - - _worker = new BackgroundWorker(); - _worker.WorkerReportsProgress = true; - _worker.DoWork += new DoWorkEventHandler(ReadFilesProperties); - _worker.ProgressChanged += new ProgressChangedEventHandler(ProgressChanged); - } - - void ReadFilesProperties(object sender, DoWorkEventArgs e) - { - while(_itemsToRead.Count > 0) - { - BaseItem item = _itemsToRead[0]; - _itemsToRead.RemoveAt(0); - - Thread.Sleep(50); //emulate time consuming operation - if (item is FolderItem) - { - DirectoryInfo info = new DirectoryInfo(item.ItemPath); - item.Date = info.CreationTime; - } - else if (item is FileItem) - { - FileInfo info = new FileInfo(item.ItemPath); - item.Size = info.Length; - item.Date = info.CreationTime; - if (info.Extension.ToLower() == ".ico") - { - Icon icon = new Icon(item.ItemPath); - item.Icon = icon.ToBitmap(); - } - else if (info.Extension.ToLower() == ".bmp") - { - item.Icon = new Bitmap(item.ItemPath); - } - } - _worker.ReportProgress(0, item); - } - } - - void ProgressChanged(object sender, ProgressChangedEventArgs e) - { - OnNodesChanged(e.UserState as BaseItem); - } - - private TreePath GetPath(BaseItem item) - { - if (item == null) - return TreePath.Empty; - else - { - Stack<object> stack = new Stack<object>(); - while (item != null) - { - stack.Push(item); - item = item.Parent; - } - return new TreePath(stack.ToArray()); - } - } - - public System.Collections.IEnumerable GetChildren(TreePath treePath) - { - List<BaseItem> items = null; - if (treePath.IsEmpty()) - { - if (_cache.ContainsKey("ROOT")) - items = _cache["ROOT"]; - else - { - items = new List<BaseItem>(); - _cache.Add("ROOT", items); - foreach (string str in Environment.GetLogicalDrives()) - items.Add(new RootItem(str, this)); - } - } - else - { - BaseItem parent = treePath.LastNode as BaseItem; - if (parent != null) - { - if (_cache.ContainsKey(parent.ItemPath)) - items = _cache[parent.ItemPath]; - else - { - items = new List<BaseItem>(); - try - { - foreach (string str in Directory.GetDirectories(parent.ItemPath)) - items.Add(new FolderItem(str, parent, this)); - foreach (string str in Directory.GetFiles(parent.ItemPath)) - { - FileItem item = new FileItem(str, parent, this); - items.Add(item); - } - } - catch (IOException) - { - return null; - } - _cache.Add(parent.ItemPath, items); - _itemsToRead.AddRange(items); - if (!_worker.IsBusy) - _worker.RunWorkerAsync(); - } - } - } - return items; - } - - public bool IsLeaf(TreePath treePath) - { - return treePath.LastNode is FileItem; - } - - public event EventHandler<TreeModelEventArgs> NodesChanged; - internal void OnNodesChanged(BaseItem item) - { - if (NodesChanged != null) - { - TreePath path = GetPath(item.Parent); - NodesChanged(this, new TreeModelEventArgs(path, new object[] { item })); - } - } - - public event EventHandler<TreeModelEventArgs> NodesInserted; - public event EventHandler<TreeModelEventArgs> NodesRemoved; - public event EventHandler<TreePathEventArgs> StructureChanged; - public void OnStructureChanged() - { - if (StructureChanged != null) - StructureChanged(this, new TreePathEventArgs()); - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/FolderItemSorter.cs b/src/Libraries/TreeViewAdv/SampleApp/FolderItemSorter.cs deleted file mode 100644 index 6c24aca14d..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/FolderItemSorter.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Collections; -using System.Windows.Forms; - -namespace SampleApp -{ - public class FolderItemSorter : IComparer - { - private string _mode; - private SortOrder _order; - - public FolderItemSorter(string mode, SortOrder order) - { - _mode = mode; - _order = order; - } - - public int Compare(object x, object y) - { - BaseItem a = x as BaseItem; - BaseItem b = y as BaseItem; - int res = 0; - - if (_mode == "Date") - res = DateTime.Compare(a.Date, b.Date); - else if (_mode == "Size") - { - if (a.Size < b.Size) - res = -1; - else if (a.Size > b.Size) - res = 1; - } - else - res = string.Compare(a.Name, b.Name); - - if (_order == SortOrder.Ascending) - return -res; - else - return res; - } - - private string GetData(object x) - { - return (x as BaseItem).Name; - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/FolderItems.cs b/src/Libraries/TreeViewAdv/SampleApp/FolderItems.cs deleted file mode 100644 index 40eb32eb81..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/FolderItems.cs +++ /dev/null @@ -1,159 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Drawing; -using System.IO; - -namespace SampleApp -{ - public abstract class BaseItem - { - private string _path = ""; - public string ItemPath - { - get { return _path; } - set { _path = value; } - } - - private Image _icon; - public Image Icon - { - get { return _icon; } - set { _icon = value; } - } - - private long _size = 0; - public long Size - { - get { return _size; } - set { _size = value; } - } - - private DateTime _date; - public DateTime Date - { - get { return _date; } - set { _date = value; } - } - - public abstract string Name - { - get; - set; - } - - private BaseItem _parent; - public BaseItem Parent - { - get { return _parent; } - set { _parent = value; } - } - - private bool _isChecked; - public bool IsChecked - { - get { return _isChecked; } - set - { - _isChecked = value; - if (Owner != null) - Owner.OnNodesChanged(this); - } - } - - private FolderBrowserModel _owner; - public FolderBrowserModel Owner - { - get { return _owner; } - set { _owner = value; } - } - - /*public override bool Equals(object obj) - { - if (obj is BaseItem) - return _path.Equals((obj as BaseItem).ItemPath); - else - return base.Equals(obj); - } - - public override int GetHashCode() - { - return _path.GetHashCode(); - }*/ - - public override string ToString() - { - return _path; - } - } - - public class RootItem : BaseItem - { - public RootItem(string name, FolderBrowserModel owner) - { - ItemPath = name; - Owner = owner; - } - - public override string Name - { - get - { - return ItemPath; - } - set - { - } - } - } - - public class FolderItem : BaseItem - { - public override string Name - { - get - { - return Path.GetFileName(ItemPath); - } - set - { - string dir = Path.GetDirectoryName(ItemPath); - string destination = Path.Combine(dir, value); - Directory.Move(ItemPath, destination); - ItemPath = destination; - } - } - - public FolderItem(string name, BaseItem parent, FolderBrowserModel owner) - { - ItemPath = name; - Parent = parent; - Owner = owner; - } - } - - public class FileItem : BaseItem - { - public override string Name - { - get - { - return Path.GetFileName(ItemPath); - } - set - { - string dir = Path.GetDirectoryName(ItemPath); - string destination = Path.Combine(dir, value); - File.Move(ItemPath, destination); - ItemPath = destination; - } - } - - public FileItem(string name, BaseItem parent, FolderBrowserModel owner) - { - ItemPath = name; - Parent = parent; - Owner = owner; - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/MainForm.Designer.cs b/src/Libraries/TreeViewAdv/SampleApp/MainForm.Designer.cs deleted file mode 100644 index 80f0ec15ce..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/MainForm.Designer.cs +++ /dev/null @@ -1,243 +0,0 @@ -namespace SampleApp -{ - partial class MainForm - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - this.tabControl1 = new System.Windows.Forms.TabControl(); - this.tabPage2 = new System.Windows.Forms.TabPage(); - this.simpleExample1 = new SampleApp.SimpleExample(); - this.tabPage3 = new System.Windows.Forms.TabPage(); - this.advancedExample1 = new SampleApp.AdvancedExample(); - this.tabPage1 = new System.Windows.Forms.TabPage(); - this.folderBrowser1 = new SampleApp.FolderBrowser(); - this.tabPage4 = new System.Windows.Forms.TabPage(); - this.performanceTest1 = new SampleApp.PerformanceTest(); - this.tabPage5 = new System.Windows.Forms.TabPage(); - this.hiddenColumn1 = new SampleApp.ColumnHandling(); - this.tabPage6 = new System.Windows.Forms.TabPage(); - this.backgroundExpand1 = new SampleApp.BackgroundExpand(); - this.tabPage7 = new System.Windows.Forms.TabPage(); - this.dataTableTreeExample1 = new SampleApp.DataTableTreeExample(); - this.tabControl1.SuspendLayout(); - this.tabPage2.SuspendLayout(); - this.tabPage3.SuspendLayout(); - this.tabPage1.SuspendLayout(); - this.tabPage4.SuspendLayout(); - this.tabPage5.SuspendLayout(); - this.tabPage6.SuspendLayout(); - this.tabPage7.SuspendLayout(); - this.SuspendLayout(); - // - // tabControl1 - // - this.tabControl1.Controls.Add(this.tabPage2); - this.tabControl1.Controls.Add(this.tabPage3); - this.tabControl1.Controls.Add(this.tabPage1); - this.tabControl1.Controls.Add(this.tabPage4); - this.tabControl1.Controls.Add(this.tabPage5); - this.tabControl1.Controls.Add(this.tabPage6); - this.tabControl1.Controls.Add(this.tabPage7); - this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill; - this.tabControl1.Location = new System.Drawing.Point(0, 0); - this.tabControl1.Name = "tabControl1"; - this.tabControl1.SelectedIndex = 0; - this.tabControl1.Size = new System.Drawing.Size(834, 589); - this.tabControl1.TabIndex = 0; - // - // tabPage2 - // - this.tabPage2.Controls.Add(this.simpleExample1); - this.tabPage2.Location = new System.Drawing.Point(4, 22); - this.tabPage2.Name = "tabPage2"; - this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(826, 563); - this.tabPage2.TabIndex = 1; - this.tabPage2.Text = "Simple Example"; - this.tabPage2.UseVisualStyleBackColor = true; - // - // simpleExample1 - // - this.simpleExample1.Dock = System.Windows.Forms.DockStyle.Fill; - this.simpleExample1.Location = new System.Drawing.Point(3, 3); - this.simpleExample1.Name = "simpleExample1"; - this.simpleExample1.Size = new System.Drawing.Size(820, 557); - this.simpleExample1.TabIndex = 0; - // - // tabPage3 - // - this.tabPage3.Controls.Add(this.advancedExample1); - this.tabPage3.Location = new System.Drawing.Point(4, 22); - this.tabPage3.Name = "tabPage3"; - this.tabPage3.Padding = new System.Windows.Forms.Padding(3); - this.tabPage3.Size = new System.Drawing.Size(826, 563); - this.tabPage3.TabIndex = 2; - this.tabPage3.Text = "Advanced Example"; - this.tabPage3.UseVisualStyleBackColor = true; - // - // advancedExample1 - // - this.advancedExample1.Dock = System.Windows.Forms.DockStyle.Fill; - this.advancedExample1.Location = new System.Drawing.Point(3, 3); - this.advancedExample1.Name = "advancedExample1"; - this.advancedExample1.Size = new System.Drawing.Size(820, 557); - this.advancedExample1.TabIndex = 0; - // - // tabPage1 - // - this.tabPage1.Controls.Add(this.folderBrowser1); - this.tabPage1.Location = new System.Drawing.Point(4, 22); - this.tabPage1.Name = "tabPage1"; - this.tabPage1.Padding = new System.Windows.Forms.Padding(3); - this.tabPage1.Size = new System.Drawing.Size(826, 563); - this.tabPage1.TabIndex = 0; - this.tabPage1.Text = "Folder Browser"; - this.tabPage1.UseVisualStyleBackColor = true; - // - // folderBrowser1 - // - this.folderBrowser1.Dock = System.Windows.Forms.DockStyle.Fill; - this.folderBrowser1.Location = new System.Drawing.Point(3, 3); - this.folderBrowser1.Name = "folderBrowser1"; - this.folderBrowser1.Size = new System.Drawing.Size(820, 557); - this.folderBrowser1.TabIndex = 0; - // - // tabPage4 - // - this.tabPage4.Controls.Add(this.performanceTest1); - this.tabPage4.Location = new System.Drawing.Point(4, 22); - this.tabPage4.Name = "tabPage4"; - this.tabPage4.Padding = new System.Windows.Forms.Padding(3); - this.tabPage4.Size = new System.Drawing.Size(826, 563); - this.tabPage4.TabIndex = 3; - this.tabPage4.Text = "Performance Test"; - this.tabPage4.UseVisualStyleBackColor = true; - // - // performanceTest1 - // - this.performanceTest1.Dock = System.Windows.Forms.DockStyle.Fill; - this.performanceTest1.Location = new System.Drawing.Point(3, 3); - this.performanceTest1.Name = "performanceTest1"; - this.performanceTest1.Size = new System.Drawing.Size(820, 557); - this.performanceTest1.TabIndex = 0; - // - // tabPage5 - // - this.tabPage5.Controls.Add(this.hiddenColumn1); - this.tabPage5.Location = new System.Drawing.Point(4, 22); - this.tabPage5.Name = "tabPage5"; - this.tabPage5.Size = new System.Drawing.Size(826, 563); - this.tabPage5.TabIndex = 4; - this.tabPage5.Text = "Column Handling"; - this.tabPage5.UseVisualStyleBackColor = true; - // - // hiddenColumn1 - // - this.hiddenColumn1.Dock = System.Windows.Forms.DockStyle.Fill; - this.hiddenColumn1.Location = new System.Drawing.Point(0, 0); - this.hiddenColumn1.Name = "hiddenColumn1"; - this.hiddenColumn1.Size = new System.Drawing.Size(826, 563); - this.hiddenColumn1.TabIndex = 0; - // - // tabPage6 - // - this.tabPage6.Controls.Add(this.backgroundExpand1); - this.tabPage6.Location = new System.Drawing.Point(4, 22); - this.tabPage6.Name = "tabPage6"; - this.tabPage6.Padding = new System.Windows.Forms.Padding(3); - this.tabPage6.Size = new System.Drawing.Size(826, 563); - this.tabPage6.TabIndex = 5; - this.tabPage6.Text = "Background Expanding"; - this.tabPage6.UseVisualStyleBackColor = true; - // - // backgroundExpand1 - // - this.backgroundExpand1.Dock = System.Windows.Forms.DockStyle.Fill; - this.backgroundExpand1.Location = new System.Drawing.Point(3, 3); - this.backgroundExpand1.Name = "backgroundExpand1"; - this.backgroundExpand1.Size = new System.Drawing.Size(820, 557); - this.backgroundExpand1.TabIndex = 0; - // - // tabPage7 - // - this.tabPage7.Controls.Add(this.dataTableTreeExample1); - this.tabPage7.Location = new System.Drawing.Point(4, 22); - this.tabPage7.Name = "tabPage7"; - this.tabPage7.Padding = new System.Windows.Forms.Padding(3); - this.tabPage7.Size = new System.Drawing.Size(826, 563); - this.tabPage7.TabIndex = 6; - this.tabPage7.Text = "DataTableModel"; - this.tabPage7.UseVisualStyleBackColor = true; - // - // dataTableTreeExample1 - // - this.dataTableTreeExample1.Dock = System.Windows.Forms.DockStyle.Fill; - this.dataTableTreeExample1.Location = new System.Drawing.Point(3, 3); - this.dataTableTreeExample1.Name = "dataTableTreeExample1"; - this.dataTableTreeExample1.Size = new System.Drawing.Size(820, 557); - this.dataTableTreeExample1.TabIndex = 0; - // - // MainForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(834, 589); - this.Controls.Add(this.tabControl1); - this.Name = "MainForm"; - this.Text = "Sample Application"; - this.tabControl1.ResumeLayout(false); - this.tabPage2.ResumeLayout(false); - this.tabPage3.ResumeLayout(false); - this.tabPage1.ResumeLayout(false); - this.tabPage4.ResumeLayout(false); - this.tabPage5.ResumeLayout(false); - this.tabPage6.ResumeLayout(false); - this.tabPage7.ResumeLayout(false); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.TabControl tabControl1; - private System.Windows.Forms.TabPage tabPage1; - private System.Windows.Forms.TabPage tabPage2; - private FolderBrowser folderBrowser1; - private SimpleExample simpleExample1; - private System.Windows.Forms.TabPage tabPage3; - private AdvancedExample advancedExample1; - private System.Windows.Forms.TabPage tabPage4; - private PerformanceTest performanceTest1; - private System.Windows.Forms.TabPage tabPage5; - private ColumnHandling hiddenColumn1; - private System.Windows.Forms.TabPage tabPage6; - private BackgroundExpand backgroundExpand1; - private System.Windows.Forms.TabPage tabPage7; - private DataTableTreeExample dataTableTreeExample1; - } -} - diff --git a/src/Libraries/TreeViewAdv/SampleApp/MainForm.cs b/src/Libraries/TreeViewAdv/SampleApp/MainForm.cs deleted file mode 100644 index a9b8a72a84..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/MainForm.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; - -namespace SampleApp -{ - public partial class MainForm : Form - { - public MainForm() - { - InitializeComponent(); - } - } -} \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/SampleApp/MainForm.resx b/src/Libraries/TreeViewAdv/SampleApp/MainForm.resx deleted file mode 100644 index 19dc0dd8b3..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/MainForm.resx +++ /dev/null @@ -1,120 +0,0 @@ -<?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> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/SampleApp/MyNode.cs b/src/Libraries/TreeViewAdv/SampleApp/MyNode.cs deleted file mode 100644 index 5039ab0938..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/MyNode.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Aga.Controls.Tree; - -namespace SampleApp -{ - public class MyNode : Node - { - public override string Text - { - get - { - return base.Text; - } - set - { - if (string.IsNullOrEmpty(value)) - throw new ArgumentNullException(); - - base.Text = value; - } - } - - private bool _checked; - public bool Checked - { - get { return _checked; } - set { _checked = value; } - } - - public MyNode(string text) - : base(text) - { - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/PerformaceTestModel.cs b/src/Libraries/TreeViewAdv/SampleApp/PerformaceTestModel.cs deleted file mode 100644 index 1937ef3825..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/PerformaceTestModel.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Aga.Controls.Tree; - -namespace SampleApp -{ - public class PerformaceTestModel : ITreeModel - { - List<Node> _items = new List<Node>(); - - public PerformaceTestModel(int count) - { - for (int i = 0; i < count; i++) - _items.Add(new Node(i.ToString())); - } - - public System.Collections.IEnumerable GetChildren(TreePath treePath) - { - return _items; - } - - public bool IsLeaf(TreePath treePath) - { - return true; - } - - public event EventHandler<TreeModelEventArgs> NodesChanged; - public event EventHandler<TreeModelEventArgs> NodesInserted; - public event EventHandler<TreeModelEventArgs> NodesRemoved; - public event EventHandler<TreePathEventArgs> StructureChanged; - } -} \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/SampleApp/PerformanceTest.Designer.cs b/src/Libraries/TreeViewAdv/SampleApp/PerformanceTest.Designer.cs deleted file mode 100644 index 00e086dec9..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/PerformanceTest.Designer.cs +++ /dev/null @@ -1,210 +0,0 @@ -namespace SampleApp -{ - partial class PerformanceTest - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Component Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - this._load = new System.Windows.Forms.Button(); - this.label1 = new System.Windows.Forms.Label(); - this._load2 = new System.Windows.Forms.Button(); - this._treeView2 = new System.Windows.Forms.TreeView(); - this.label2 = new System.Windows.Forms.Label(); - this._expand2 = new System.Windows.Forms.Button(); - this.label3 = new System.Windows.Forms.Label(); - this._expand = new System.Windows.Forms.Button(); - this.label4 = new System.Windows.Forms.Label(); - this.label5 = new System.Windows.Forms.Label(); - this.label6 = new System.Windows.Forms.Label(); - this._treeView = new Aga.Controls.Tree.TreeViewAdv(); - this.nodeTextBox1 = new Aga.Controls.Tree.NodeControls.NodeTextBox(); - this.SuspendLayout(); - // - // _load - // - this._load.Location = new System.Drawing.Point(3, 332); - this._load.Name = "_load"; - this._load.Size = new System.Drawing.Size(107, 23); - this._load.TabIndex = 1; - this._load.Text = "Load"; - this._load.UseVisualStyleBackColor = true; - this._load.Click += new System.EventHandler(this._load_Click); - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(3, 16); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(71, 13); - this.label1.TabIndex = 2; - this.label1.Text = "TreeViewAdv"; - // - // _load2 - // - this._load2.Location = new System.Drawing.Point(273, 332); - this._load2.Name = "_load2"; - this._load2.Size = new System.Drawing.Size(107, 23); - this._load2.TabIndex = 3; - this._load2.Text = "Load"; - this._load2.UseVisualStyleBackColor = true; - this._load2.Click += new System.EventHandler(this._load2_Click); - // - // _treeView2 - // - this._treeView2.Location = new System.Drawing.Point(273, 32); - this._treeView2.Name = "_treeView2"; - this._treeView2.Size = new System.Drawing.Size(269, 294); - this._treeView2.TabIndex = 4; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(275, 16); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(130, 13); - this.label2.TabIndex = 5; - this.label2.Text = "Windows.Forms.TreeView"; - // - // _expand2 - // - this._expand2.Location = new System.Drawing.Point(273, 361); - this._expand2.Name = "_expand2"; - this._expand2.Size = new System.Drawing.Size(107, 23); - this._expand2.TabIndex = 6; - this._expand2.Text = "Expand/Collapse"; - this._expand2.UseVisualStyleBackColor = true; - this._expand2.Click += new System.EventHandler(this._expand2_Click); - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(116, 337); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(35, 13); - this.label3.TabIndex = 8; - this.label3.Text = "label3"; - // - // _expand - // - this._expand.Location = new System.Drawing.Point(3, 361); - this._expand.Name = "_expand"; - this._expand.Size = new System.Drawing.Size(107, 23); - this._expand.TabIndex = 9; - this._expand.Text = "Expand/Collapse"; - this._expand.UseVisualStyleBackColor = true; - this._expand.Click += new System.EventHandler(this._expand_Click); - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(116, 366); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(35, 13); - this.label4.TabIndex = 10; - this.label4.Text = "label4"; - // - // label5 - // - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(386, 337); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(35, 13); - this.label5.TabIndex = 11; - this.label5.Text = "label5"; - // - // label6 - // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(386, 366); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(35, 13); - this.label6.TabIndex = 12; - this.label6.Text = "label6"; - // - // _treeView - // - this._treeView.BackColor = System.Drawing.SystemColors.Window; - this._treeView.Cursor = System.Windows.Forms.Cursors.Default; - this._treeView.DefaultToolTipProvider = null; - this._treeView.DragDropMarkColor = System.Drawing.Color.Black; - this._treeView.LineColor = System.Drawing.SystemColors.ControlDark; - this._treeView.LoadOnDemand = true; - this._treeView.Location = new System.Drawing.Point(3, 32); - this._treeView.Model = null; - this._treeView.Name = "_treeView"; - this._treeView.NodeControls.Add(this.nodeTextBox1); - this._treeView.SelectedNode = null; - this._treeView.SelectionMode = Aga.Controls.Tree.TreeSelectionMode.Multi; - this._treeView.Size = new System.Drawing.Size(269, 294); - this._treeView.TabIndex = 0; - this._treeView.Text = "treeViewAdv1"; - // - // nodeTextBox1 - // - this.nodeTextBox1.DataPropertyName = "Text"; - this.nodeTextBox1.IncrementalSearchEnabled = true; - this.nodeTextBox1.ParentColumn = null; - // - // PerformanceTest - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.label6); - this.Controls.Add(this.label5); - this.Controls.Add(this.label4); - this.Controls.Add(this._expand); - this.Controls.Add(this.label3); - this.Controls.Add(this._expand2); - this.Controls.Add(this.label2); - this.Controls.Add(this._treeView2); - this.Controls.Add(this._load2); - this.Controls.Add(this.label1); - this.Controls.Add(this._load); - this.Controls.Add(this._treeView); - this.Name = "PerformanceTest"; - this.Size = new System.Drawing.Size(598, 488); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private Aga.Controls.Tree.TreeViewAdv _treeView; - private Aga.Controls.Tree.NodeControls.NodeTextBox nodeTextBox1; - private System.Windows.Forms.Button _load; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Button _load2; - private System.Windows.Forms.TreeView _treeView2; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.Button _expand2; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.Button _expand; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.Label label5; - private System.Windows.Forms.Label label6; - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/PerformanceTest.cs b/src/Libraries/TreeViewAdv/SampleApp/PerformanceTest.cs deleted file mode 100644 index 2436b0de5f..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/PerformanceTest.cs +++ /dev/null @@ -1,116 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Text; -using System.Windows.Forms; -using Aga.Controls.Tree; -using Aga.Controls; - -namespace SampleApp -{ - public partial class PerformanceTest : UserControl - { - private const int Num = 25000; - private TreeModel _model; - - public PerformanceTest() - { - InitializeComponent(); - } - - private void _load_Click(object sender, EventArgs e) - { - label3.Text = "Working"; - Application.DoEvents(); - - _treeView.Model = null; - _model = null; - GC.Collect(3); - - TimeCounter.Start(); - - _model = new TreeModel(); - for (int i = 0; i < 10; i++) - { - _model.Root.Nodes.Add(new Node(i.ToString())); - for (int n = 0; n < 500; n++) - { - _model.Root.Nodes[i].Nodes.Add(new Node(n.ToString())); - for (int k = 0; k < 5; k++) - _model.Root.Nodes[i].Nodes[n].Nodes.Add(new Node(k.ToString())); - } - } - - _treeView.Model = _model; - - label3.Text = TimeCounter.Finish().ToString(); - } - - private void _expand_Click(object sender, EventArgs e) - { - if (_treeView.Root.Children.Count > 0) - { - label4.Text = "Working"; - Application.DoEvents(); - - TimeCounter.Start(); - - if (_treeView.Root.Children[0].IsExpanded) - _treeView.CollapseAll(); - else - _treeView.ExpandAll(); - - label4.Text = TimeCounter.Finish().ToString(); - } - } - - private void _load2_Click(object sender, EventArgs e) - { - label5.Text = "Working"; - Application.DoEvents(); - - _treeView2.Nodes.Clear(); - - TimeCounter.Start(); - _treeView2.BeginUpdate(); - - List<TreeNode> list = new List<TreeNode>(); - for (int i = 0; i < 10; i++) - { - list.Add(new TreeNode(i.ToString())); - for (int n = 0; n < 500; n++) - { - list[i].Nodes.Add(n.ToString()); - for (int k = 0; k < 5; k++) - list[i].Nodes[n].Nodes.Add(k.ToString()); - } - } - _treeView2.Nodes.AddRange(list.ToArray()); - - _treeView2.EndUpdate(); - label5.Text = TimeCounter.Finish().ToString(); - } - - private void _expand2_Click(object sender, EventArgs e) - { - if (_treeView2.Nodes.Count > 0) - { - label6.Text = "Working"; - Application.DoEvents(); - - TimeCounter.Start(); - - //treeView1.BeginUpdate(); - if (_treeView2.Nodes[0].IsExpanded) - _treeView2.CollapseAll(); - else - _treeView2.ExpandAll(); - //treeView1.EndUpdate(); - - label6.Text = TimeCounter.Finish().ToString(); - } - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/PerformanceTest.resx b/src/Libraries/TreeViewAdv/SampleApp/PerformanceTest.resx deleted file mode 100644 index 19dc0dd8b3..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/PerformanceTest.resx +++ /dev/null @@ -1,120 +0,0 @@ -<?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> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/SampleApp/Program.cs b/src/Libraries/TreeViewAdv/SampleApp/Program.cs deleted file mode 100644 index df80610809..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/Program.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Windows.Forms; -using Aga.Controls; - -namespace SampleApp -{ - static class Program - { - /// <summary> - /// The main entry point for the application. - /// </summary> - [STAThread] - static void Main() - { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new MainForm()); - Console.WriteLine(PerformanceAnalyzer.GenerateReport("OnPaint")); - } - } -} \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/SampleApp/Properties/AssemblyInfo.cs b/src/Libraries/TreeViewAdv/SampleApp/Properties/AssemblyInfo.cs deleted file mode 100644 index 25f230ed57..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SampleApp")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Alcatel")] -[assembly: AssemblyProduct("SampleApp")] -[assembly: AssemblyCopyright("Copyright © Alcatel 2006")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("0854fdd5-3621-4012-a7d8-5298a62a4d9d")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/Libraries/TreeViewAdv/SampleApp/Properties/Resources.Designer.cs b/src/Libraries/TreeViewAdv/SampleApp/Properties/Resources.Designer.cs deleted file mode 100644 index ce3a3a8ffe..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/Properties/Resources.Designer.cs +++ /dev/null @@ -1,70 +0,0 @@ -//------------------------------------------------------------------------------ -// <auto-generated> -// This code was generated by a tool. -// Runtime Version:2.0.50727.42 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// </auto-generated> -//------------------------------------------------------------------------------ - -namespace SampleApp.Properties { - using System; - - - /// <summary> - /// A strongly-typed resource class, for looking up localized strings, etc. - /// </summary> - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// <summary> - /// Returns the cached ResourceManager instance used by this class. - /// </summary> - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SampleApp.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// <summary> - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// </summary> - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - internal static byte[] loading_icon { - get { - object obj = ResourceManager.GetObject("loading_icon", resourceCulture); - return ((byte[])(obj)); - } - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/Properties/Resources.resx b/src/Libraries/TreeViewAdv/SampleApp/Properties/Resources.resx deleted file mode 100644 index 384625ba8e..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/Properties/Resources.resx +++ /dev/null @@ -1,124 +0,0 @@ -<?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> - <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <data name="loading_icon" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\loading_icon;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> -</root> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/SampleApp/Properties/Settings.Designer.cs b/src/Libraries/TreeViewAdv/SampleApp/Properties/Settings.Designer.cs deleted file mode 100644 index 613c76275e..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/Properties/Settings.Designer.cs +++ /dev/null @@ -1,26 +0,0 @@ -//------------------------------------------------------------------------------ -// <auto-generated> -// This code was generated by a tool. -// Runtime Version:2.0.50727.42 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// </auto-generated> -//------------------------------------------------------------------------------ - -namespace SampleApp.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default { - get { - return defaultInstance; - } - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/Properties/Settings.settings b/src/Libraries/TreeViewAdv/SampleApp/Properties/Settings.settings deleted file mode 100644 index 39645652af..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/Properties/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version='1.0' encoding='utf-8'?> -<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)"> - <Profiles> - <Profile Name="(Default)" /> - </Profiles> - <Settings /> -</SettingsFile> diff --git a/src/Libraries/TreeViewAdv/SampleApp/Resources/loading_icon b/src/Libraries/TreeViewAdv/SampleApp/Resources/loading_icon deleted file mode 100644 index dfbfc57074d2b44699c8172c8d27d5f048afe68a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 592 zcmZ?wbhEHb6k!lySj51vb?erdGiRoyr5PI=GcYjx|NkFI0)gUxZa>$MU}whwS0g<G zW=4?EPZm}V237_gCI%)30U%^xwvO24dSrs7xHv=ZG{XmbZyqbXcDyG=vXCc2vnik^ zLiG5T>eK7=R!?v^kQ~L)sw@1$!sndNiSTz%dsL9jV*#4S2ZRjFx)H04f3G)P!J&DH zbK{z$w~mS4+uEU=X(#<u%<+R>q0Qm1z4sXwe7BYR@H`l50z1M*TtE}FB6g`B0=nqB zMD8>JWEVMxa5IRk<33&VH|$5wVb(}RMpO?$9H0}iOY~rXrFgeMt{B5LgojQUg!H^V zwASakxwF8}efRC;0wO$-d;kg&E^vrwM(koeaC)bx)8tjxyiL!Dsc^&__TBefmL19C z%z5~}j4+Gy;~&SL?~7qVww?v<f35}px=nvPS<;s%e(2fU@2!s_>bevHSRSr;b$Od+ z43D$n?ytSiO-|{zA955zHh}|ZJIMdq5e!%VwX8TguX|!x^oAH26-&nhyv?E0_`B>@ zYjU*CKJ>|Ff8xT+dynf(0lS|QEk+F@cHQ~+K~U)CoY2@=-0w~sG%UI?_3=zCh6fx@ cm$&io7;lzlX_bAvOZGjR;3uoy?o15U06?S2&Hw-a diff --git a/src/Libraries/TreeViewAdv/SampleApp/SampleApp.csproj b/src/Libraries/TreeViewAdv/SampleApp/SampleApp.csproj deleted file mode 100644 index e4dde3f15f..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/SampleApp.csproj +++ /dev/null @@ -1,168 +0,0 @@ -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProductVersion>8.0.50727</ProductVersion> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{C197EFF6-AD4E-4E44-8601-D101E0736144}</ProjectGuid> - <OutputType>WinExe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <RootNamespace>SampleApp</RootNamespace> - <AssemblyName>SampleApp</AssemblyName> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugSymbols>true</DebugSymbols> - <DebugType>full</DebugType> - <Optimize>false</Optimize> - <OutputPath>bin\Debug\</OutputPath> - <DefineConstants>DEBUG;TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - <OutputPath>bin\Release\</OutputPath> - <DefineConstants>TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - </PropertyGroup> - <ItemGroup> - <Reference Include="System" /> - <Reference Include="System.Data" /> - <Reference Include="System.Deployment" /> - <Reference Include="System.Drawing" /> - <Reference Include="System.Windows.Forms" /> - <Reference Include="System.Xml" /> - </ItemGroup> - <ItemGroup> - <Compile Include="AdvancedExample.cs"> - <SubType>UserControl</SubType> - </Compile> - <Compile Include="AdvancedExample.Designer.cs"> - <DependentUpon>AdvancedExample.cs</DependentUpon> - </Compile> - <Compile Include="BackgroundExpand.cs"> - <SubType>UserControl</SubType> - </Compile> - <Compile Include="BackgroundExpand.Designer.cs"> - <DependentUpon>BackgroundExpand.cs</DependentUpon> - </Compile> - <Compile Include="ColumnHandling.cs"> - <SubType>UserControl</SubType> - </Compile> - <Compile Include="ColumnHandling.Designer.cs"> - <DependentUpon>ColumnHandling.cs</DependentUpon> - </Compile> - <Compile Include="DataTableExample\DataRowNode.cs" /> - <Compile Include="DataTableExample\DataTableTreeExample.cs"> - <SubType>UserControl</SubType> - </Compile> - <Compile Include="DataTableExample\DataTableTreeExample.designer.cs"> - <DependentUpon>DataTableTreeExample.cs</DependentUpon> - </Compile> - <Compile Include="DataTableExample\DataTableTreeModel.cs" /> - <Compile Include="FolderItemSorter.cs" /> - <Compile Include="FolderItems.cs" /> - <Compile Include="FolderBrowser.cs"> - <SubType>UserControl</SubType> - </Compile> - <Compile Include="FolderBrowser.Designer.cs"> - <DependentUpon>FolderBrowser.cs</DependentUpon> - </Compile> - <Compile Include="FolderBrowserModel.cs" /> - <Compile Include="MainForm.cs"> - <SubType>Form</SubType> - </Compile> - <Compile Include="MainForm.Designer.cs"> - <DependentUpon>MainForm.cs</DependentUpon> - </Compile> - <Compile Include="MyNode.cs" /> - <Compile Include="PerformanceTest.cs"> - <SubType>UserControl</SubType> - </Compile> - <Compile Include="PerformanceTest.Designer.cs"> - <DependentUpon>PerformanceTest.cs</DependentUpon> - </Compile> - <Compile Include="Program.cs" /> - <Compile Include="Properties\AssemblyInfo.cs" /> - <EmbeddedResource Include="AdvancedExample.resx"> - <SubType>Designer</SubType> - <DependentUpon>AdvancedExample.cs</DependentUpon> - </EmbeddedResource> - <EmbeddedResource Include="BackgroundExpand.resx"> - <SubType>Designer</SubType> - <DependentUpon>BackgroundExpand.cs</DependentUpon> - </EmbeddedResource> - <EmbeddedResource Include="FolderBrowser.resx"> - <SubType>Designer</SubType> - <DependentUpon>FolderBrowser.cs</DependentUpon> - </EmbeddedResource> - <EmbeddedResource Include="ColumnHandling.resx"> - <SubType>Designer</SubType> - <DependentUpon>ColumnHandling.cs</DependentUpon> - </EmbeddedResource> - <EmbeddedResource Include="MainForm.resx"> - <SubType>Designer</SubType> - <DependentUpon>MainForm.cs</DependentUpon> - </EmbeddedResource> - <EmbeddedResource Include="PerformanceTest.resx"> - <SubType>Designer</SubType> - <DependentUpon>PerformanceTest.cs</DependentUpon> - </EmbeddedResource> - <EmbeddedResource Include="Properties\Resources.resx"> - <Generator>ResXFileCodeGenerator</Generator> - <LastGenOutput>Resources.Designer.cs</LastGenOutput> - <SubType>Designer</SubType> - </EmbeddedResource> - <EmbeddedResource Include="SimpleExample.resx"> - <SubType>Designer</SubType> - <DependentUpon>SimpleExample.cs</DependentUpon> - </EmbeddedResource> - <Compile Include="Properties\Resources.Designer.cs"> - <AutoGen>True</AutoGen> - <DependentUpon>Resources.resx</DependentUpon> - <DesignTime>True</DesignTime> - </Compile> - <None Include="Properties\Settings.settings"> - <Generator>SettingsSingleFileGenerator</Generator> - <LastGenOutput>Settings.Designer.cs</LastGenOutput> - </None> - <Compile Include="Properties\Settings.Designer.cs"> - <AutoGen>True</AutoGen> - <DependentUpon>Settings.settings</DependentUpon> - <DesignTimeSharedInput>True</DesignTimeSharedInput> - </Compile> - <Compile Include="SimpleExample.cs"> - <SubType>UserControl</SubType> - </Compile> - <Compile Include="SimpleExample.Designer.cs"> - <DependentUpon>SimpleExample.cs</DependentUpon> - </Compile> - <Compile Include="SlowModel.cs" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\Aga.Controls\Aga.Controls.csproj"> - <Project>{E73BB233-D88B-44A7-A98F-D71EE158381D}</Project> - <Name>Aga.Controls</Name> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" /> - </ItemGroup> - <ItemGroup> - <EmbeddedResource Include="DataTableExample\DataTableTreeExample.resx"> - <DependentUpon>DataTableTreeExample.cs</DependentUpon> - <SubType>Designer</SubType> - </EmbeddedResource> - <EmbeddedResource Include="Resources\loading_icon" /> - </ItemGroup> - <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> - <!-- To modify your build process, add your task inside one of the targets below and uncomment it. - Other similar extension points exist, see Microsoft.Common.targets. - <Target Name="BeforeBuild"> - </Target> - <Target Name="AfterBuild"> - </Target> - --> -</Project> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/SampleApp/SimpleExample.Designer.cs b/src/Libraries/TreeViewAdv/SampleApp/SimpleExample.Designer.cs deleted file mode 100644 index 7a05b981c0..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/SimpleExample.Designer.cs +++ /dev/null @@ -1,378 +0,0 @@ -namespace SampleApp -{ - partial class SimpleExample - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Component Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this._addRoot = new System.Windows.Forms.Button(); - this._clear = new System.Windows.Forms.Button(); - this._addChild = new System.Windows.Forms.Button(); - this._deleteNode = new System.Windows.Forms.Button(); - this._timer = new System.Windows.Forms.Timer(this.components); - this._autoRowHeight = new System.Windows.Forms.CheckBox(); - this._fontSize = new System.Windows.Forms.NumericUpDown(); - this.label1 = new System.Windows.Forms.Label(); - this._performanceTest = new System.Windows.Forms.CheckBox(); - this.button1 = new System.Windows.Forms.Button(); - this.button2 = new System.Windows.Forms.Button(); - this.btnExpNode = new System.Windows.Forms.Button(); - this.btnExpNodes = new System.Windows.Forms.Button(); - this.btnCollNode = new System.Windows.Forms.Button(); - this.btnCollNodes = new System.Windows.Forms.Button(); - this.button3 = new System.Windows.Forms.Button(); - this._tree2 = new Aga.Controls.Tree.TreeViewAdv(); - this.nodeTextBox1 = new Aga.Controls.Tree.NodeControls.NodeTextBox(); - this._tree = new Aga.Controls.Tree.TreeViewAdv(); - this._nodeCheckBox = new Aga.Controls.Tree.NodeControls.NodeCheckBox(); - this._nodeStateIcon = new Aga.Controls.Tree.NodeControls.NodeStateIcon(); - this._nodeTextBox = new Aga.Controls.Tree.NodeControls.NodeTextBox(); - ((System.ComponentModel.ISupportInitialize)(this._fontSize)).BeginInit(); - this.SuspendLayout(); - // - // _addRoot - // - this._addRoot.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this._addRoot.Location = new System.Drawing.Point(381, 3); - this._addRoot.Name = "_addRoot"; - this._addRoot.Size = new System.Drawing.Size(91, 23); - this._addRoot.TabIndex = 1; - this._addRoot.Text = "Add Root"; - this._addRoot.UseVisualStyleBackColor = true; - this._addRoot.Click += new System.EventHandler(this.AddRootClick); - // - // _clear - // - this._clear.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this._clear.Location = new System.Drawing.Point(381, 90); - this._clear.Name = "_clear"; - this._clear.Size = new System.Drawing.Size(91, 23); - this._clear.TabIndex = 2; - this._clear.Text = "Clear Tree"; - this._clear.UseVisualStyleBackColor = true; - this._clear.Click += new System.EventHandler(this.ClearClick); - // - // _addChild - // - this._addChild.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this._addChild.Location = new System.Drawing.Point(381, 32); - this._addChild.Name = "_addChild"; - this._addChild.Size = new System.Drawing.Size(91, 23); - this._addChild.TabIndex = 3; - this._addChild.Text = "Add Child"; - this._addChild.UseVisualStyleBackColor = true; - this._addChild.Click += new System.EventHandler(this.AddChildClick); - // - // _deleteNode - // - this._deleteNode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this._deleteNode.Location = new System.Drawing.Point(381, 61); - this._deleteNode.Name = "_deleteNode"; - this._deleteNode.Size = new System.Drawing.Size(91, 23); - this._deleteNode.TabIndex = 5; - this._deleteNode.Text = "Delete Node"; - this._deleteNode.UseVisualStyleBackColor = true; - this._deleteNode.Click += new System.EventHandler(this.DeleteClick); - // - // _timer - // - this._timer.Interval = 1; - this._timer.Tick += new System.EventHandler(this._timer_Tick); - // - // _autoRowHeight - // - this._autoRowHeight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this._autoRowHeight.AutoSize = true; - this._autoRowHeight.Checked = true; - this._autoRowHeight.CheckState = System.Windows.Forms.CheckState.Checked; - this._autoRowHeight.Location = new System.Drawing.Point(450, 336); - this._autoRowHeight.Name = "_autoRowHeight"; - this._autoRowHeight.Size = new System.Drawing.Size(101, 17); - this._autoRowHeight.TabIndex = 7; - this._autoRowHeight.Text = "&AutoRowHeight"; - this._autoRowHeight.UseVisualStyleBackColor = true; - this._autoRowHeight.Click += new System.EventHandler(this._autoRowHeight_Click); - // - // _fontSize - // - this._fontSize.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this._fontSize.Location = new System.Drawing.Point(510, 310); - this._fontSize.Maximum = new decimal(new int[] { - 30, - 0, - 0, - 0}); - this._fontSize.Minimum = new decimal(new int[] { - 9, - 0, - 0, - 0}); - this._fontSize.Name = "_fontSize"; - this._fontSize.Size = new System.Drawing.Size(48, 20); - this._fontSize.TabIndex = 8; - this._fontSize.Value = new decimal(new int[] { - 9, - 0, - 0, - 0}); - this._fontSize.ValueChanged += new System.EventHandler(this._fontSize_ValueChanged); - // - // label1 - // - this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(450, 312); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(54, 13); - this.label1.TabIndex = 9; - this.label1.Text = "Font Size:"; - // - // _performanceTest - // - this._performanceTest.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this._performanceTest.AutoSize = true; - this._performanceTest.Location = new System.Drawing.Point(450, 359); - this._performanceTest.Name = "_performanceTest"; - this._performanceTest.Size = new System.Drawing.Size(109, 17); - this._performanceTest.TabIndex = 10; - this._performanceTest.Text = "Measure Perform."; - this._performanceTest.UseVisualStyleBackColor = true; - this._performanceTest.Click += new System.EventHandler(this._performanceTest_Click); - // - // button1 - // - this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.button1.Location = new System.Drawing.Point(381, 148); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(91, 23); - this.button1.TabIndex = 12; - this.button1.Text = "Refresh"; - this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.button1_Click); - // - // button2 - // - this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.button2.Location = new System.Drawing.Point(381, 119); - this.button2.Name = "button2"; - this.button2.Size = new System.Drawing.Size(91, 23); - this.button2.TabIndex = 13; - this.button2.Text = "Expand/Collapse"; - this.button2.UseVisualStyleBackColor = true; - this.button2.Click += new System.EventHandler(this.button2_Click); - // - // btnExpNode - // - this.btnExpNode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.btnExpNode.Location = new System.Drawing.Point(478, 3); - this.btnExpNode.Name = "btnExpNode"; - this.btnExpNode.Size = new System.Drawing.Size(91, 23); - this.btnExpNode.TabIndex = 14; - this.btnExpNode.Text = "Expand Node"; - this.btnExpNode.UseVisualStyleBackColor = true; - this.btnExpNode.Click += new System.EventHandler(this.btnExpNode_Click); - // - // btnExpNodes - // - this.btnExpNodes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.btnExpNodes.Location = new System.Drawing.Point(478, 32); - this.btnExpNodes.Name = "btnExpNodes"; - this.btnExpNodes.Size = new System.Drawing.Size(91, 23); - this.btnExpNodes.TabIndex = 15; - this.btnExpNodes.Text = "Expand Nodes"; - this.btnExpNodes.UseVisualStyleBackColor = true; - this.btnExpNodes.Click += new System.EventHandler(this.btnExpNodes_Click); - // - // btnCollNode - // - this.btnCollNode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.btnCollNode.Location = new System.Drawing.Point(478, 61); - this.btnCollNode.Name = "btnCollNode"; - this.btnCollNode.Size = new System.Drawing.Size(91, 23); - this.btnCollNode.TabIndex = 18; - this.btnCollNode.Text = "Collapse Node"; - this.btnCollNode.UseVisualStyleBackColor = true; - this.btnCollNode.Click += new System.EventHandler(this.btnCollNode_Click); - // - // btnCollNodes - // - this.btnCollNodes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.btnCollNodes.Location = new System.Drawing.Point(478, 90); - this.btnCollNodes.Name = "btnCollNodes"; - this.btnCollNodes.Size = new System.Drawing.Size(91, 23); - this.btnCollNodes.TabIndex = 19; - this.btnCollNodes.Text = "Collapse Nodes"; - this.btnCollNodes.UseVisualStyleBackColor = true; - this.btnCollNodes.Click += new System.EventHandler(this.btnCollNodes_Click); - // - // button3 - // - this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.button3.Location = new System.Drawing.Point(478, 119); - this.button3.Name = "button3"; - this.button3.Size = new System.Drawing.Size(91, 23); - this.button3.TabIndex = 21; - this.button3.Text = "Clear Selection"; - this.button3.UseVisualStyleBackColor = true; - this.button3.Click += new System.EventHandler(this.button3_Click); - // - // _tree2 - // - this._tree2.AllowDrop = true; - this._tree2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this._tree2.BackColor = System.Drawing.SystemColors.Window; - this._tree2.Cursor = System.Windows.Forms.Cursors.Default; - this._tree2.DefaultToolTipProvider = null; - this._tree2.DisplayDraggingNodes = true; - this._tree2.DragDropMarkColor = System.Drawing.Color.Black; - this._tree2.LineColor = System.Drawing.SystemColors.ControlDark; - this._tree2.LoadOnDemand = true; - this._tree2.Location = new System.Drawing.Point(0, 229); - this._tree2.Model = null; - this._tree2.Name = "_tree2"; - this._tree2.NodeControls.Add(this.nodeTextBox1); - this._tree2.SelectedNode = null; - this._tree2.Size = new System.Drawing.Size(375, 155); - this._tree2.TabIndex = 11; - this._tree2.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this._tree2_ItemDrag); - // - // nodeTextBox1 - // - this.nodeTextBox1.DataPropertyName = "Text"; - this.nodeTextBox1.IncrementalSearchEnabled = true; - this.nodeTextBox1.LeftMargin = 3; - this.nodeTextBox1.ParentColumn = null; - // - // _tree - // - this._tree.AllowDrop = true; - this._tree.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._tree.AutoRowHeight = true; - this._tree.BackColor = System.Drawing.SystemColors.Window; - this._tree.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this._tree.Cursor = System.Windows.Forms.Cursors.Default; - this._tree.DefaultToolTipProvider = null; - this._tree.DisplayDraggingNodes = true; - this._tree.DragDropMarkColor = System.Drawing.Color.Black; - this._tree.LineColor = System.Drawing.SystemColors.ControlDark; - this._tree.LoadOnDemand = true; - this._tree.Location = new System.Drawing.Point(0, 0); - this._tree.Model = null; - this._tree.Name = "_tree"; - this._tree.NodeControls.Add(this._nodeCheckBox); - this._tree.NodeControls.Add(this._nodeStateIcon); - this._tree.NodeControls.Add(this._nodeTextBox); - this._tree.SelectedNode = null; - this._tree.SelectionMode = Aga.Controls.Tree.TreeSelectionMode.MultiSameParent; - this._tree.ShowNodeToolTips = true; - this._tree.Size = new System.Drawing.Size(375, 223); - this._tree.TabIndex = 0; - this._tree.NodeMouseDoubleClick += new System.EventHandler<Aga.Controls.Tree.TreeNodeAdvMouseEventArgs>(this._tree_NodeMouseDoubleClick); - this._tree.SelectionChanged += new System.EventHandler(this._tree_SelectionChanged); - this._tree.DragOver += new System.Windows.Forms.DragEventHandler(this._tree_DragOver); - this._tree.DragDrop += new System.Windows.Forms.DragEventHandler(this._tree_DragDrop); - this._tree.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this._tree_ItemDrag); - // - // _nodeCheckBox - // - this._nodeCheckBox.DataPropertyName = "CheckState"; - this._nodeCheckBox.EditEnabled = true; - this._nodeCheckBox.LeftMargin = 0; - this._nodeCheckBox.ParentColumn = null; - this._nodeCheckBox.ThreeState = true; - // - // _nodeStateIcon - // - this._nodeStateIcon.LeftMargin = 1; - this._nodeStateIcon.ParentColumn = null; - // - // _nodeTextBox - // - this._nodeTextBox.DataPropertyName = "Text"; - this._nodeTextBox.EditEnabled = true; - this._nodeTextBox.IncrementalSearchEnabled = true; - this._nodeTextBox.LeftMargin = 3; - this._nodeTextBox.ParentColumn = null; - // - // SimpleExample - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.button3); - this.Controls.Add(this.btnCollNodes); - this.Controls.Add(this.btnCollNode); - this.Controls.Add(this.btnExpNodes); - this.Controls.Add(this.btnExpNode); - this.Controls.Add(this.button2); - this.Controls.Add(this.button1); - this.Controls.Add(this._tree2); - this.Controls.Add(this._performanceTest); - this.Controls.Add(this.label1); - this.Controls.Add(this._fontSize); - this.Controls.Add(this._autoRowHeight); - this.Controls.Add(this._deleteNode); - this.Controls.Add(this._addChild); - this.Controls.Add(this._clear); - this.Controls.Add(this._addRoot); - this.Controls.Add(this._tree); - this.Name = "SimpleExample"; - this.Size = new System.Drawing.Size(572, 387); - ((System.ComponentModel.ISupportInitialize)(this._fontSize)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private Aga.Controls.Tree.TreeViewAdv _tree; - private System.Windows.Forms.Button _addRoot; - private System.Windows.Forms.Button _clear; - private Aga.Controls.Tree.NodeControls.NodeCheckBox _nodeCheckBox; - private System.Windows.Forms.Button _addChild; - private System.Windows.Forms.Button _deleteNode; - private Aga.Controls.Tree.NodeControls.NodeStateIcon _nodeStateIcon; - private Aga.Controls.Tree.NodeControls.NodeTextBox _nodeTextBox; - private System.Windows.Forms.Timer _timer; - private System.Windows.Forms.CheckBox _autoRowHeight; - private System.Windows.Forms.NumericUpDown _fontSize; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.CheckBox _performanceTest; - private Aga.Controls.Tree.TreeViewAdv _tree2; - private Aga.Controls.Tree.NodeControls.NodeTextBox nodeTextBox1; - private System.Windows.Forms.Button button1; - private System.Windows.Forms.Button button2; - private System.Windows.Forms.Button btnExpNode; - private System.Windows.Forms.Button btnExpNodes; - private System.Windows.Forms.Button btnCollNode; - private System.Windows.Forms.Button btnCollNodes; - private System.Windows.Forms.Button button3; - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/SimpleExample.cs b/src/Libraries/TreeViewAdv/SampleApp/SimpleExample.cs deleted file mode 100644 index 9e18af96a2..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/SimpleExample.cs +++ /dev/null @@ -1,287 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Text; -using System.Windows.Forms; -using Aga.Controls.Tree; -using Aga.Controls.Tree.NodeControls; -using System.Threading; -using Aga.Controls; - -namespace SampleApp -{ - public partial class SimpleExample : UserControl - { - private class ToolTipProvider : IToolTipProvider - { - public string GetToolTip(TreeNodeAdv node, NodeControl nodeControl) - { - return "Drag&Drop nodes to move them"; - } - } - - private TreeModel _model; - private Font _childFont; - - public SimpleExample() - { - InitializeComponent(); - - _tree.NodeMouseClick += new EventHandler<TreeNodeAdvMouseEventArgs>(_tree_NodeMouseClick); - - _nodeTextBox.ToolTipProvider = new ToolTipProvider(); - _nodeTextBox.DrawText += new EventHandler<DrawEventArgs>(_nodeTextBox_DrawText); - _model = new TreeModel(); - _childFont = new Font(_tree.Font.FontFamily, 18, FontStyle.Bold); - _tree.Model = _model; - ChangeButtons(); - - _tree.BeginUpdate(); - for (int i = 0; i < 10; i++) - { - Node node = AddRoot(); - for (int n = 0; n < 500; n++) - { - Node child = AddChild(node); - for (int k = 0; k < 5; k++) - AddChild(child); - } - } - _tree.EndUpdate(); - - TreeModel model2 = new TreeModel(); - _tree2.Model = model2; - for (int i = 0; i < 10; i++) - model2.Nodes.Add(new MyNode("Node" + i.ToString())); - } - - void _tree_NodeMouseClick(object sender, TreeNodeAdvMouseEventArgs e) - { - Console.WriteLine("NodeMouseClick at " + e.Node.Index.ToString()); - } - - void _nodeTextBox_DrawText(object sender, DrawEventArgs e) - { - if ((e.Node.Tag as MyNode).Text.StartsWith("Child")) - { - e.TextColor = Color.Red; - e.Font = _childFont; - } - } - - private Node AddRoot() - { - Node node = new MyNode("Long Root Node Text" + _model.Nodes.Count.ToString()); - _model.Nodes.Add(node); - return node; - } - - private Node AddChild(Node parent) - { - Node node = new MyNode("Child Node " + parent.Nodes.Count.ToString()); - parent.Nodes.Add(node); - return node; - } - - private void ClearClick(object sender, EventArgs e) - { - _tree.BeginUpdate(); - _model.Nodes.Clear(); - _tree.EndUpdate(); - } - - private void AddRootClick(object sender, EventArgs e) - { - AddRoot(); - } - - private void AddChildClick(object sender, EventArgs e) - { - if (_tree.SelectedNode != null) - { - Node parent = _tree.SelectedNode.Tag as Node; - AddChild(parent); - _tree.SelectedNode.IsExpanded = true; - } - } - - private void DeleteClick(object sender, EventArgs e) - { - if (_tree.SelectedNode != null) - (_tree.SelectedNode.Tag as Node).Parent = null; - } - - private void _tree_SelectionChanged(object sender, EventArgs e) - { - ChangeButtons(); - } - - private void ChangeButtons() - { - _addChild.Enabled = (_tree.SelectedNode != null); - _deleteNode.Enabled = (_tree.SelectedNode != null); - - btnExpNode.Enabled = (_tree.SelectedNode != null); - btnExpNodes.Enabled = (_tree.SelectedNode != null); - - btnCollNode.Enabled = (_tree.SelectedNode != null); - btnCollNodes.Enabled = (_tree.SelectedNode != null); - } - - private void _tree_ItemDrag(object sender, ItemDragEventArgs e) - { - _tree.DoDragDropSelectedNodes(DragDropEffects.Move); - } - - private void _tree_DragOver(object sender, DragEventArgs e) - { - if (e.Data.GetDataPresent(typeof(TreeNodeAdv[])) && _tree.DropPosition.Node != null) - { - TreeNodeAdv[] nodes = e.Data.GetData(typeof(TreeNodeAdv[])) as TreeNodeAdv[]; - TreeNodeAdv parent = _tree.DropPosition.Node; - if (_tree.DropPosition.Position != NodePosition.Inside) - parent = parent.Parent; - - foreach (TreeNodeAdv node in nodes) - if (!CheckNodeParent(parent, node)) - { - e.Effect = DragDropEffects.None; - return; - } - - e.Effect = e.AllowedEffect; - } - } - - private bool CheckNodeParent(TreeNodeAdv parent, TreeNodeAdv node) - { - while (parent != null) - { - if (node == parent) - return false; - else - parent = parent.Parent; - } - return true; - } - - private void _tree_DragDrop(object sender, DragEventArgs e) - { - _tree.BeginUpdate(); - - TreeNodeAdv[] nodes = (TreeNodeAdv[])e.Data.GetData(typeof(TreeNodeAdv[])); - Node dropNode = _tree.DropPosition.Node.Tag as Node; - if (_tree.DropPosition.Position == NodePosition.Inside) - { - foreach (TreeNodeAdv n in nodes) - { - (n.Tag as Node).Parent = dropNode; - } - _tree.DropPosition.Node.IsExpanded = true; - } - else - { - Node parent = dropNode.Parent; - Node nextItem = dropNode; - if (_tree.DropPosition.Position == NodePosition.After) - nextItem = dropNode.NextNode; - - foreach(TreeNodeAdv node in nodes) - (node.Tag as Node).Parent = null; - - int index = -1; - index = parent.Nodes.IndexOf(nextItem); - foreach (TreeNodeAdv node in nodes) - { - Node item = node.Tag as Node; - if (index == -1) - parent.Nodes.Add(item); - else - { - parent.Nodes.Insert(index, item); - index++; - } - } - } - - _tree.EndUpdate(); - } - - private void _timer_Tick(object sender, EventArgs e) - { - _tree.Refresh(); - } - - private void _performanceTest_Click(object sender, EventArgs e) - { - _timer.Enabled = _performanceTest.Checked; - } - - private void _autoRowHeight_Click(object sender, EventArgs e) - { - _tree.AutoRowHeight = _autoRowHeight.Checked; - } - - private void _fontSize_ValueChanged(object sender, EventArgs e) - { - _tree.Font = new Font(_tree.Font.FontFamily, (float)_fontSize.Value); - } - - private void _tree_NodeMouseDoubleClick(object sender, TreeNodeAdvMouseEventArgs e) - { - if (e.Control is NodeTextBox) - MessageBox.Show(e.Node.Tag.ToString()); - } - - private void _tree2_ItemDrag(object sender, ItemDragEventArgs e) - { - _tree2.DoDragDropSelectedNodes(DragDropEffects.Move); - } - - private void button1_Click(object sender, EventArgs e) - { - TimeCounter.Start(); - _tree.FullUpdate(); - //_model.Root.Nodes[0].Text = "Child"; - button1.Text = TimeCounter.Finish().ToString(); - } - - private void button2_Click(object sender, EventArgs e) - { - if (_tree.Root.Children.Count > 0) - { - if (_tree.Root.Children[0].IsExpanded) - _tree.CollapseAll(); - else - _tree.ExpandAll(); - } - } - - private void btnExpNode_Click(object sender, EventArgs e) - { - _tree.SelectedNode.Expand(); - } - - private void btnExpNodes_Click(object sender, EventArgs e) - { - _tree.SelectedNode.ExpandAll(); - } - - private void btnCollNode_Click(object sender, EventArgs e) - { - _tree.SelectedNode.Collapse(); - } - - private void btnCollNodes_Click(object sender, EventArgs e) - { - _tree.SelectedNode.CollapseAll(); - } - - private void button3_Click(object sender, EventArgs e) - { - _tree.ClearSelection(); - } - } -} diff --git a/src/Libraries/TreeViewAdv/SampleApp/SimpleExample.resx b/src/Libraries/TreeViewAdv/SampleApp/SimpleExample.resx deleted file mode 100644 index c46cede45a..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/SimpleExample.resx +++ /dev/null @@ -1,123 +0,0 @@ -<?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> - <metadata name="_timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>17, 17</value> - </metadata> -</root> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/SampleApp/SlowModel.cs b/src/Libraries/TreeViewAdv/SampleApp/SlowModel.cs deleted file mode 100644 index c9b5dc5e72..0000000000 --- a/src/Libraries/TreeViewAdv/SampleApp/SlowModel.cs +++ /dev/null @@ -1,43 +0,0 @@ -#pragma warning disable 67 // Event never used - -using System; -using System.Collections.Generic; -using System.Text; -using Aga.Controls.Tree; -using System.Threading; - -namespace SampleApp -{ - public class SlowModel: ITreeModel - { - #region ITreeModel Members - - public System.Collections.IEnumerable GetChildren(TreePath treePath) - { - if (treePath.FullPath.Length < 3) - for (int i = 0; i < 5; i++) - { - if (treePath.FirstNode != null) - Thread.Sleep(1000); - yield return new Node("item" + i.ToString()); - } - else - yield break; - } - - public bool IsLeaf(TreePath treePath) - { - return false; - } - - public event EventHandler<TreeModelEventArgs> NodesChanged; - - public event EventHandler<TreeModelEventArgs> NodesInserted; - - public event EventHandler<TreeModelEventArgs> NodesRemoved; - - public event EventHandler<TreePathEventArgs> StructureChanged; - - #endregion - } -} diff --git a/src/Libraries/TreeViewAdv/TreeViewAdv.sln b/src/Libraries/TreeViewAdv/TreeViewAdv.sln deleted file mode 100644 index e60b80c66b..0000000000 --- a/src/Libraries/TreeViewAdv/TreeViewAdv.sln +++ /dev/null @@ -1,174 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleApp", "SampleApp\SampleApp.csproj", "{C197EFF6-AD4E-4E44-8601-D101E0736144}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls.UnitTests", "UnitTests\Aga.Controls.UnitTests.csproj", "{F74BBDC5-A90C-438B-A6C2-347B49398FDB}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{C8A04BBE-4366-4640-A7CF-1A8B27F68DDD}" - ProjectSection(SolutionItems) = preProject - ReleaseNotes.txt = ReleaseNotes.txt - EndProjectSection - ProjectSection(FolderStartupServices) = postProject - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E73BB233-D88B-44A7-A98F-D71EE158381D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E73BB233-D88B-44A7-A98F-D71EE158381D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E73BB233-D88B-44A7-A98F-D71EE158381D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E73BB233-D88B-44A7-A98F-D71EE158381D}.Release|Any CPU.Build.0 = Release|Any CPU - {C197EFF6-AD4E-4E44-8601-D101E0736144}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C197EFF6-AD4E-4E44-8601-D101E0736144}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C197EFF6-AD4E-4E44-8601-D101E0736144}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C197EFF6-AD4E-4E44-8601-D101E0736144}.Release|Any CPU.Build.0 = Release|Any CPU - {F74BBDC5-A90C-438B-A6C2-347B49398FDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F74BBDC5-A90C-438B-A6C2-347B49398FDB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F74BBDC5-A90C-438B-A6C2-347B49398FDB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F74BBDC5-A90C-438B-A6C2-347B49398FDB}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(TextTemplating) = postSolution - TextTemplating = 1 - EndGlobalSection -EndGlobal diff --git a/src/Libraries/TreeViewAdv/UnitTests/Aga.Controls.UnitTests.csproj b/src/Libraries/TreeViewAdv/UnitTests/Aga.Controls.UnitTests.csproj deleted file mode 100644 index 07b8ef184a..0000000000 --- a/src/Libraries/TreeViewAdv/UnitTests/Aga.Controls.UnitTests.csproj +++ /dev/null @@ -1,62 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProductVersion>8.0.50727</ProductVersion> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{F74BBDC5-A90C-438B-A6C2-347B49398FDB}</ProjectGuid> - <OutputType>Library</OutputType> - <RootNamespace>Aga.Controls.UnitTests</RootNamespace> - <AssemblyName>Aga.Controls.UnitTests</AssemblyName> - <WarningLevel>4</WarningLevel> - <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <SignAssembly>true</SignAssembly> - <AssemblyOriginatorKeyFile> - </AssemblyOriginatorKeyFile> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugSymbols>true</DebugSymbols> - <DebugType>full</DebugType> - <Optimize>false</Optimize> - <OutputPath>.\bin\Debug\</OutputPath> - <DefineConstants>DEBUG;TRACE</DefineConstants> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugSymbols>false</DebugSymbols> - <Optimize>true</Optimize> - <OutputPath>.\bin\Release\</OutputPath> - <DefineConstants>TRACE</DefineConstants> - </PropertyGroup> - <ItemGroup> - <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>C:\WINNT\assembly\GAC_MSIL\Microsoft.VisualStudio.QualityTools.UnitTestFramework\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll</HintPath> - </Reference> - <Reference Include="System" /> - <Reference Include="System.Data" /> - <Reference Include="System.Deployment" /> - <Reference Include="System.Design" /> - <Reference Include="System.Drawing" /> - <Reference Include="System.Windows.Forms" /> - <Reference Include="System.Xml" /> - </ItemGroup> - <ItemGroup> - <Compile Include="NodeTest.cs" /> - <Compile Include="PerformanceTest.cs" /> - <Compile Include="Properties\AssemblyInfo.cs" /> - <Compile Include="SerializationTest.cs" /> - <Compile Include="TreeNodeAdvTest.cs" /> - <Compile Include="VSCodeGenAccessors.cs" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\Aga.Controls\Aga.Controls.csproj"> - <Project>{E73BB233-D88B-44A7-A98F-D71EE158381D}</Project> - <Name>Aga.Controls</Name> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" /> - </ItemGroup> - <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" /> -</Project> \ No newline at end of file diff --git a/src/Libraries/TreeViewAdv/UnitTests/NodeTest.cs b/src/Libraries/TreeViewAdv/UnitTests/NodeTest.cs deleted file mode 100644 index 1eacc44c2d..0000000000 --- a/src/Libraries/TreeViewAdv/UnitTests/NodeTest.cs +++ /dev/null @@ -1,135 +0,0 @@ -// The following code was generated by Microsoft Visual Studio 2005. -// The test owner should check each test for validity. -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System; -using System.Text; -using System.Collections.Generic; -using Aga.Controls.Tree; - -namespace Aga.Controls.UnitTests -{ - [TestClass] - public class NodeTest - { - [TestMethod] - public void ParentTest() - { - Node r1 = new Node(""); - Node node = new Node(""); - Assert.AreEqual(-1, node.Index); - - r1.Nodes.Add(node); - Assert.AreEqual(1, r1.Nodes.Count); - Assert.AreEqual(r1, node.Parent); - Assert.AreEqual(0, node.Index); - - r1.Nodes.Remove(node); - Assert.AreEqual(0, r1.Nodes.Count); - Assert.AreEqual(null, node.Parent); - Assert.AreEqual(-1, node.Index); - - node.Parent = r1; - Assert.AreEqual(1, r1.Nodes.Count); - Assert.AreEqual(r1, node.Parent); - Assert.AreEqual(0, node.Index); - - node.Parent = null; - Assert.AreEqual(0, r1.Nodes.Count); - Assert.AreEqual(null, node.Parent); - Assert.AreEqual(-1, node.Index); - - - Node r2 = new Node(""); - node.Parent = r1; - - node.Parent = r2; - Assert.AreEqual(1, r2.Nodes.Count); - Assert.AreEqual(0, r1.Nodes.Count); - Assert.AreEqual(r2, node.Parent); - - r1.Nodes.Add(node); - Assert.AreEqual(1, r1.Nodes.Count); - Assert.AreEqual(0, r2.Nodes.Count); - Assert.AreEqual(r1, node.Parent); - - - - Node node2 = new Node(""); - r1.Nodes[0] = node2; - Assert.AreEqual(null, node.Parent); - Assert.AreEqual(r1, node2.Parent); - } - - [TestMethod] - public void IndexTest() - { - Node r1 = new Node(""); - Node node0 = new Node(""); - Node node1 = new Node(""); - Node node2 = new Node(""); - Assert.AreEqual(-1, node0.Index); - - r1.Nodes.Add(node0); - r1.Nodes.Add(node1); - r1.Nodes.Add(node2); - CheckNodes(r1); - - r1.Nodes.Insert(1, new Node()); - CheckNodes(r1); - - r1.Nodes.RemoveAt(2); - CheckNodes(r1); - } - - private void CheckNodes(Node root) - { - for (int i = 0; i < root.Nodes.Count; i++ ) - Assert.AreEqual(i, root.Nodes[i].Index); - } - - [TestMethod] - public void ClearTest() - { - Node node = new Node(""); - int num = 125000; - for (int i = 0; i < num; i++) - node.Nodes.Add(new Node()); - Assert.AreEqual(num, node.Nodes.Count); - - TimeCounter.Start(); - node.Nodes.Clear(); - Console.WriteLine("Clear: {0}", TimeCounter.Finish()); - - Assert.AreEqual(0, node.Nodes.Count); - } - - - private int remove, insert; - [TestMethod] - public void ModelTest() - { - TreeModel model = new TreeModel(); - model.NodesInserted += new EventHandler<TreeModelEventArgs>(model_NodesInserted); - model.NodesRemoved += new EventHandler<TreeModelEventArgs>(model_NodesRemoved); - - remove = 0; - insert = 0; - Node node = new Node(""); - model.Root.Nodes.Add(node); - model.Root.Nodes.Remove(node); - Assert.AreEqual(1, remove); - Assert.AreEqual(1, insert); - } - - void model_NodesRemoved(object sender, TreeModelEventArgs e) - { - remove++; - } - - void model_NodesInserted(object sender, TreeModelEventArgs e) - { - insert++; - } - - } -} diff --git a/src/Libraries/TreeViewAdv/UnitTests/PerformanceTest.cs b/src/Libraries/TreeViewAdv/UnitTests/PerformanceTest.cs deleted file mode 100644 index 3b50bb7b9f..0000000000 --- a/src/Libraries/TreeViewAdv/UnitTests/PerformanceTest.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Text; -using System.Collections.Generic; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System.Drawing; -using System.Windows.Forms; - -namespace Aga.Controls.UnitTests -{ - [TestClass] - public class PerformanceTest - { - public PerformanceTest() - { - } - - [TestMethod] - public void TestMethod() - { - Bitmap b = new Bitmap(500, 50); - Graphics gr = Graphics.FromImage(b); - int num = 5000; - string text = "Some Text String"; - Rectangle rect = new Rectangle(0, 0, 500, 50); - - TimeCounter.Start(); - for (int i = 0; i < num; i++) - { - TextRenderer.MeasureText(text, Control.DefaultFont); - TextRenderer.DrawText(gr, text, Control.DefaultFont, rect, Color.Black); - } - Console.WriteLine("TextRenderer {0}", TimeCounter.Finish()); - - TimeCounter.Start(); - for (int i = 0; i < num; i++) - { - gr.MeasureString(text, Control.DefaultFont); - gr.DrawString(text, Control.DefaultFont, Brushes.Black, rect); - } - Console.WriteLine("Graphics {0}", TimeCounter.Finish()); - } - } -} diff --git a/src/Libraries/TreeViewAdv/UnitTests/Properties/AssemblyInfo.cs b/src/Libraries/TreeViewAdv/UnitTests/Properties/AssemblyInfo.cs deleted file mode 100644 index f0a54abc08..0000000000 --- a/src/Libraries/TreeViewAdv/UnitTests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM componenets. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("33bff0bc-c0f6-4762-b3b5-db31a160e5bc")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Revision and Build Numbers -// by using the '*' as shown below: -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/Libraries/TreeViewAdv/UnitTests/SerializationTest.cs b/src/Libraries/TreeViewAdv/UnitTests/SerializationTest.cs deleted file mode 100644 index ccea5faad3..0000000000 --- a/src/Libraries/TreeViewAdv/UnitTests/SerializationTest.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System.Runtime.Serialization.Formatters.Binary; -using System.IO; -using Aga.Controls.Tree; -using System.Reflection; -using System.Globalization; - -namespace Aga.Controls.UnitTests -{ - [TestClass] - public class SerializationTest - { - [TestMethod] - public void TestTreeNodeAdv() - { - PropertyInfo prop = typeof(TreeNodeAdv).GetProperty("Nodes", BindingFlags.NonPublic | BindingFlags.Instance); - - TreeNodeAdv node = new TreeNodeAdv("root"); - node.IsExpanded = true; - ICollection<TreeNodeAdv> nodes = (ICollection<TreeNodeAdv>)prop.GetValue(node, null); - - nodes.Add(new TreeNodeAdv("ch0")); - nodes.Add(new TreeNodeAdv("ch2")); - - MemoryStream ms = new MemoryStream(); - BinaryFormatter formatter = new BinaryFormatter(); - formatter.Serialize(ms, node); - ms.Position = 0; - - TreeNodeAdv node2 = formatter.Deserialize(ms) as TreeNodeAdv; - Assert.AreEqual(node.Tag, node2.Tag); - Assert.AreEqual(node.IsExpanded, node2.IsExpanded); - Assert.AreEqual(node.Children.Count, node2.Children.Count); - for (int i = 0; i < node.Children.Count; i++) - Assert.AreEqual(node.Children[i].Tag, node2.Children[i].Tag); - } - } -} diff --git a/src/Libraries/TreeViewAdv/UnitTests/TreeNodeAdvTest.cs b/src/Libraries/TreeViewAdv/UnitTests/TreeNodeAdvTest.cs deleted file mode 100644 index d87015be6c..0000000000 --- a/src/Libraries/TreeViewAdv/UnitTests/TreeNodeAdvTest.cs +++ /dev/null @@ -1,98 +0,0 @@ -// The following code was generated by Microsoft Visual Studio 2005. -// The test owner should check each test for validity. -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System; -using System.Text; -using System.Collections.Generic; -using Aga.Controls.Tree; -using System.Collections.ObjectModel; -namespace Aga.Controls.UnitTests -{ - /// <summary> - ///This is a test class for Aga.Controls.Tree.TreeNodeAdv and is intended - ///to contain all Aga.Controls.Tree.TreeNodeAdv Unit Tests - ///</summary> - [TestClass()] - public class TreeNodeAdvTest - { - - - private TestContext testContextInstance; - - /// <summary> - ///Gets or sets the test context which provides - ///information about and functionality for the current test run. - ///</summary> - public TestContext TestContext - { - get - { - return testContextInstance; - } - set - { - testContextInstance = value; - } - } - - #region Additional test attributes - // - //You can use the following additional attributes as you write your tests: - // - //Use ClassInitialize to run code before running the first test in the class - // - //[ClassInitialize()] - //public static void MyClassInitialize(TestContext testContext) - //{ - //} - // - //Use ClassCleanup to run code after all tests in a class have run - // - //[ClassCleanup()] - //public static void MyClassCleanup() - //{ - //} - // - //Use TestInitialize to run code before running each test - // - //[TestInitialize()] - //public void MyTestInitialize() - //{ - //} - // - //Use TestCleanup to run code after each test has run - // - //[TestCleanup()] - //public void MyTestCleanup() - //{ - //} - // - #endregion - - - /// <summary> - ///A test for Nodes - ///</summary> - [DeploymentItem("Aga.Controls.dll")] - [TestMethod()] - public void NodesTest() - { - TreeNodeAdv target = new TreeNodeAdv(null); - Aga.Controls.UnitTests.Aga_Controls_Tree_TreeNodeAdvAccessor accessor = new Aga.Controls.UnitTests.Aga_Controls_Tree_TreeNodeAdvAccessor(target); - Collection<TreeNodeAdv> nodes = accessor.Nodes; - - TimeCounter.Start(); - for (int i = 0; i < 125000; i++) - nodes.Add(new TreeNodeAdv(null)); - Console.WriteLine("Add: {0}", TimeCounter.Finish()); - - TimeCounter.Start(); - accessor.Nodes.Clear(); - Console.WriteLine("Clear: {0}", TimeCounter.Finish()); - Assert.AreEqual(0, accessor.Nodes.Count); - } - - } - - -} diff --git a/src/Libraries/TreeViewAdv/UnitTests/VSCodeGenAccessors.cs b/src/Libraries/TreeViewAdv/UnitTests/VSCodeGenAccessors.cs deleted file mode 100644 index e557e7474f..0000000000 --- a/src/Libraries/TreeViewAdv/UnitTests/VSCodeGenAccessors.cs +++ /dev/null @@ -1,260 +0,0 @@ -// ------------------------------------------------------------------------------ -//<autogenerated> -// This code was generated by Microsoft Visual Studio Team System 2005. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -//</autogenerated> -//------------------------------------------------------------------------------ -using Microsoft.VisualStudio.TestTools.UnitTesting; - -namespace Aga.Controls.UnitTests -{ -[System.Diagnostics.DebuggerStepThrough()] -[System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TestTools.UnitTestGeneration", "1.0.0.0")] -internal class BaseAccessor { - - protected Microsoft.VisualStudio.TestTools.UnitTesting.PrivateObject m_privateObject; - - protected BaseAccessor(object target, Microsoft.VisualStudio.TestTools.UnitTesting.PrivateType type) { - m_privateObject = new Microsoft.VisualStudio.TestTools.UnitTesting.PrivateObject(target, type); - } - - protected BaseAccessor(Microsoft.VisualStudio.TestTools.UnitTesting.PrivateType type) : - this(null, type) { - } - - internal virtual object Target { - get { - return m_privateObject.Target; - } - } - - public override string ToString() { - return this.Target.ToString(); - } - - public override bool Equals(object obj) { - if (typeof(BaseAccessor).IsInstanceOfType(obj)) { - obj = ((BaseAccessor)(obj)).Target; - } - return this.Target.Equals(obj); - } - - public override int GetHashCode() { - return this.Target.GetHashCode(); - } -} - - -[System.Diagnostics.DebuggerStepThrough()] -[System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TestTools.UnitTestGeneration", "1.0.0.0")] -internal class Aga_Controls_Tree_TreeNodeAdvAccessor : BaseAccessor { - - protected static Microsoft.VisualStudio.TestTools.UnitTesting.PrivateType m_privateType = new Microsoft.VisualStudio.TestTools.UnitTesting.PrivateType(typeof(global::Aga.Controls.Tree.TreeNodeAdv)); - - internal Aga_Controls_Tree_TreeNodeAdvAccessor(global::Aga.Controls.Tree.TreeNodeAdv target) : - base(target, m_privateType) { - } - - internal global::Aga.Controls.Tree.TreeViewAdv _tree { - get { - global::Aga.Controls.Tree.TreeViewAdv ret = ((global::Aga.Controls.Tree.TreeViewAdv)(m_privateObject.GetField("_tree"))); - return ret; - } - set { - m_privateObject.SetField("_tree", value); - } - } - - internal global::Aga.Controls.Tree.TreeViewAdv Tree { - get { - global::Aga.Controls.Tree.TreeViewAdv ret = ((global::Aga.Controls.Tree.TreeViewAdv)(m_privateObject.GetProperty("Tree"))); - return ret; - } - } - - internal int _row { - get { - int ret = ((int)(m_privateObject.GetField("_row"))); - return ret; - } - set { - m_privateObject.SetField("_row", value); - } - } - - internal int Row { - get { - int ret = ((int)(m_privateObject.GetProperty("Row"))); - return ret; - } - set { - m_privateObject.SetProperty("Row", value); - } - } - - internal int _index { - get { - int ret = ((int)(m_privateObject.GetField("_index"))); - return ret; - } - set { - m_privateObject.SetField("_index", value); - } - } - - internal bool _isSelected { - get { - bool ret = ((bool)(m_privateObject.GetField("_isSelected"))); - return ret; - } - set { - m_privateObject.SetField("_isSelected", value); - } - } - - internal bool IsVisible { - get { - bool ret = ((bool)(m_privateObject.GetProperty("IsVisible"))); - return ret; - } - } - - internal bool _isLeaf { - get { - bool ret = ((bool)(m_privateObject.GetField("_isLeaf"))); - return ret; - } - set { - m_privateObject.SetField("_isLeaf", value); - } - } - - internal bool _isExpandedOnce { - get { - bool ret = ((bool)(m_privateObject.GetField("_isExpandedOnce"))); - return ret; - } - set { - m_privateObject.SetField("_isExpandedOnce", value); - } - } - - internal bool _isExpanded { - get { - bool ret = ((bool)(m_privateObject.GetField("_isExpanded"))); - return ret; - } - set { - m_privateObject.SetField("_isExpanded", value); - } - } - - internal global::Aga.Controls.Tree.TreeNodeAdv _parent { - get { - global::Aga.Controls.Tree.TreeNodeAdv ret = ((global::Aga.Controls.Tree.TreeNodeAdv)(m_privateObject.GetField("_parent"))); - return ret; - } - set { - m_privateObject.SetField("_parent", value); - } - } - - internal global::Aga.Controls.Tree.TreeNodeAdv BottomNode { - get { - global::Aga.Controls.Tree.TreeNodeAdv ret = ((global::Aga.Controls.Tree.TreeNodeAdv)(m_privateObject.GetProperty("BottomNode"))); - return ret; - } - } - - internal global::Aga.Controls.Tree.TreeNodeAdv NextVisibleNode { - get { - global::Aga.Controls.Tree.TreeNodeAdv ret = ((global::Aga.Controls.Tree.TreeNodeAdv)(m_privateObject.GetProperty("NextVisibleNode"))); - return ret; - } - } - - internal object _tag { - get { - object ret = ((object)(m_privateObject.GetField("_tag"))); - return ret; - } - set { - m_privateObject.SetField("_tag", value); - } - } - - internal System.Collections.ObjectModel.Collection<Aga.Controls.Tree.TreeNodeAdv> Nodes { - get { - System.Collections.ObjectModel.Collection<Aga.Controls.Tree.TreeNodeAdv> ret = ((System.Collections.ObjectModel.Collection<Aga.Controls.Tree.TreeNodeAdv>)(m_privateObject.GetProperty("Nodes"))); - return ret; - } - } - - internal System.Nullable<System.Drawing.Rectangle> _bounds { - get { - System.Nullable<System.Drawing.Rectangle> ret = ((System.Nullable<System.Drawing.Rectangle>)(m_privateObject.GetField("_bounds"))); - return ret; - } - set { - m_privateObject.SetField("_bounds", value); - } - } - - internal System.Nullable<System.Drawing.Rectangle> Bounds { - get { - System.Nullable<System.Drawing.Rectangle> ret = ((System.Nullable<System.Drawing.Rectangle>)(m_privateObject.GetProperty("Bounds"))); - return ret; - } - set { - m_privateObject.SetProperty("Bounds", value); - } - } - - internal static global::Aga.Controls.Tree.TreeNodeAdv CreatePrivate(global::Aga.Controls.Tree.TreeViewAdv tree, object tag) { - object[] args = new object[] { - tree, - tag}; - Microsoft.VisualStudio.TestTools.UnitTesting.PrivateObject priv_obj = new Microsoft.VisualStudio.TestTools.UnitTesting.PrivateObject(typeof(global::Aga.Controls.Tree.TreeNodeAdv), new System.Type[] { - typeof(global::Aga.Controls.Tree.TreeViewAdv), - typeof(object)}, args); - return ((global::Aga.Controls.Tree.TreeNodeAdv)(priv_obj.Target)); - } - - internal void SetIsExpanded(bool value, bool ignoreChildren) { - object[] args = new object[] { - value, - ignoreChildren}; - m_privateObject.Invoke("SetIsExpanded", new System.Type[] { - typeof(bool), - typeof(bool)}, args); - } - - internal void SetIsExpandedRecursive(global::Aga.Controls.Tree.TreeNodeAdv root, bool value) { - object[] args = new object[] { - root, - value}; - m_privateObject.Invoke("SetIsExpandedRecursive", new System.Type[] { - typeof(global::Aga.Controls.Tree.TreeNodeAdv), - typeof(bool)}, args); - } - - internal void AssignIsExpanded(bool value) { - object[] args = new object[] { - value}; - m_privateObject.Invoke("AssignIsExpanded", new System.Type[] { - typeof(bool)}, args); - } - - internal static global::Aga.Controls.Tree.TreeNodeAdv CreatePrivate(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) { - object[] args = new object[] { - info, - context}; - Microsoft.VisualStudio.TestTools.UnitTesting.PrivateObject priv_obj = new Microsoft.VisualStudio.TestTools.UnitTesting.PrivateObject(typeof(global::Aga.Controls.Tree.TreeNodeAdv), new System.Type[] { - typeof(global::System.Runtime.Serialization.SerializationInfo), - typeof(global::System.Runtime.Serialization.StreamingContext)}, args); - return ((global::Aga.Controls.Tree.TreeNodeAdv)(priv_obj.Target)); - } -} -} diff --git a/src/Libraries/TreeViewAdv/VBSample.sln b/src/Libraries/TreeViewAdv/VBSample.sln deleted file mode 100644 index ebbfed00df..0000000000 --- a/src/Libraries/TreeViewAdv/VBSample.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "VBMultiColTree", "VBSample\VBMultiColTree\VBMultiColTree.vbproj", "{B6FE37C1-11BD-466B-A5D5-82C230487864}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{076844FE-D17E-496D-9319-CB97E06E03B7}" - ProjectSection(SolutionItems) = preProject - VBSample\Some Notes on using TreeViewAdv version 1_6_0_0.doc = VBSample\Some Notes on using TreeViewAdv version 1_6_0_0.doc - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B6FE37C1-11BD-466B-A5D5-82C230487864}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B6FE37C1-11BD-466B-A5D5-82C230487864}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B6FE37C1-11BD-466B-A5D5-82C230487864}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B6FE37C1-11BD-466B-A5D5-82C230487864}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal From d5398b3960cac3dab4084e6593ca3964d3ea3ce6 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Fri, 5 Aug 2011 21:29:29 +0200 Subject: [PATCH 119/168] fix Setup and Tests --- SharpDevelop.Tests.sln | 599 ++++++++++++++++++++--------------------- src/Setup/Files.wxs | 3 - src/Setup/Setup.wxs | 1 - 3 files changed, 296 insertions(+), 307 deletions(-) diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln index 281e10552e..e4d01390ef 100644 --- a/SharpDevelop.Tests.sln +++ b/SharpDevelop.Tests.sln @@ -1,69 +1,69 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -# SharpDevelop 4.1.0.7374-alpha +# SharpDevelop 4.1.0.7636-alpha Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -72,307 +72,297 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{ ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "src\Libraries\Mono.Cecil\Mono.Cecil.csproj", "{D68133BD-1E63-496E-9EDE-4FBDBF77B486}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "src\Libraries\Mono.Cecil\Mono.Cecil.csproj", "{D68133BD-1E63-496E-9EDE-4FBDBF77B486}" +EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{39327899-ED91-4F7F-988C-4FE4E17C014D}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + {1152B71B-3C05-4598-B20D-823B5D40559E} = {1152B71B-3C05-4598-B20D-823B5D40559E} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Irony", "src\AddIns\Misc\Reports\Irony\Irony.csproj", "{D81F5C91-D7DB-46E5-BC99-49488FB6814C}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" + ProjectSection(SolutionItems) = postProject + EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SettingsEditor", "src\AddIns\DisplayBindings\SettingsEditor\Project\SettingsEditor.csproj", "{85226AFB-CE71-4851-9A75-7EEC663A8E8A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PackageManagement", "PackageManagement", "{C6410CCE-C29F-4BF4-94BF-545DE1CBB144}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.PowerShell", "src\AddIns\Misc\PackageManagement\PowerShell\Project\PackageManagement.PowerShell.csproj", "{A406803B-C584-43A3-BCEE-A0BB3132CB5F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Cmdlets.Tests", "src\AddIns\Misc\PackageManagement\Cmdlets\Test\PackageManagement.Cmdlets.Tests.csproj", "{11115C83-3DB1-431F-8B98-59040359238D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Cmdlets", "src\AddIns\Misc\PackageManagement\Cmdlets\Project\PackageManagement.Cmdlets.csproj", "{E0A5E80A-003B-4335-A9DC-A76E2E46D38D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Tests", "src\AddIns\Misc\PackageManagement\Test\PackageManagement.Tests.csproj", "{56E98A01-8398-4A08-9578-C7337711A52B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement", "src\AddIns\Misc\PackageManagement\Project\PackageManagement.csproj", "{AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ILSpyAddIn", "src\AddIns\Misc\ILSpyAddIn\ILSpyAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextTemplating.Tests", "src\AddIns\Misc\TextTemplating\Test\TextTemplating.Tests.csproj", "{5186325C-DD7F-4246-9BE7-3F384EFBF5A6}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextTemplating", "src\AddIns\Misc\TextTemplating\Project\TextTemplating.csproj", "{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -382,246 +372,254 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Mi {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextTemplating", "src\AddIns\Misc\TextTemplating\Project\TextTemplating.csproj", "{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextTemplating.Tests", "src\AddIns\Misc\TextTemplating\Test\TextTemplating.Tests.csproj", "{5186325C-DD7F-4246-9BE7-3F384EFBF5A6}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ILSpyAddIn", "src\AddIns\Misc\ILSpyAddIn\ILSpyAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PackageManagement", "PackageManagement", "{C6410CCE-C29F-4BF4-94BF-545DE1CBB144}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement", "src\AddIns\Misc\PackageManagement\Project\PackageManagement.csproj", "{AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Tests", "src\AddIns\Misc\PackageManagement\Test\PackageManagement.Tests.csproj", "{56E98A01-8398-4A08-9578-C7337711A52B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Cmdlets", "src\AddIns\Misc\PackageManagement\Cmdlets\Project\PackageManagement.Cmdlets.csproj", "{E0A5E80A-003B-4335-A9DC-A76E2E46D38D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Cmdlets.Tests", "src\AddIns\Misc\PackageManagement\Cmdlets\Test\PackageManagement.Cmdlets.Tests.csproj", "{11115C83-3DB1-431F-8B98-59040359238D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.PowerShell", "src\AddIns\Misc\PackageManagement\PowerShell\Project\PackageManagement.PowerShell.csproj", "{A406803B-C584-43A3-BCEE-A0BB3132CB5F}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SettingsEditor", "src\AddIns\DisplayBindings\SettingsEditor\Project\SettingsEditor.csproj", "{85226AFB-CE71-4851-9A75-7EEC663A8E8A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" + ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Irony", "src\AddIns\Misc\Reports\Irony\Irony.csproj", "{D81F5C91-D7DB-46E5-BC99-49488FB6814C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - {1152B71B-3C05-4598-B20D-823B5D40559E} = {1152B71B-3C05-4598-B20D-823B5D40559E} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -688,10 +686,6 @@ Global {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}.Debug|Any CPU.Build.0 = Debug|Any CPU {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}.Release|Any CPU.ActiveCfg = Release|Any CPU {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}.Release|Any CPU.Build.0 = Release|Any CPU - {E73BB233-D88B-44A7-A98F-D71EE158381D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E73BB233-D88B-44A7-A98F-D71EE158381D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E73BB233-D88B-44A7-A98F-D71EE158381D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E73BB233-D88B-44A7-A98F-D71EE158381D}.Release|Any CPU.Build.0 = Release|Any CPU {4AC2D5F1-F671-480C-A075-6BF62B3721B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4AC2D5F1-F671-480C-A075-6BF62B3721B2}.Debug|Any CPU.Build.0 = Debug|Any CPU {4AC2D5F1-F671-480C-A075-6BF62B3721B2}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -1409,136 +1403,135 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {D68133BD-1E63-496E-9EDE-4FBDBF77B486} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} {870115DD-960A-4406-A6B9-600BCDC36A03} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {D81F5C91-D7DB-46E5-BC99-49488FB6814C} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} - {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} - {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} - {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} - {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} - {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} - {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} - {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {5186325C-DD7F-4246-9BE7-3F384EFBF5A6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {A406803B-C584-43A3-BCEE-A0BB3132CB5F} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} - {11115C83-3DB1-431F-8B98-59040359238D} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} - {E0A5E80A-003B-4335-A9DC-A76E2E46D38D} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} - {56E98A01-8398-4A08-9578-C7337711A52B} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} - {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} - {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} + {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} + {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} + {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} + {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} + {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} {85226AFB-CE71-4851-9A75-7EEC663A8E8A} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} - {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} - {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} - {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} - {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} - {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} - {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} + {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {5186325C-DD7F-4246-9BE7-3F384EFBF5A6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} + {56E98A01-8398-4A08-9578-C7337711A52B} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} + {E0A5E80A-003B-4335-A9DC-A76E2E46D38D} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} + {11115C83-3DB1-431F-8B98-59040359238D} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} + {A406803B-C584-43A3-BCEE-A0BB3132CB5F} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} + {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} + {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} + {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} + {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} + {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} + {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} + {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {D81F5C91-D7DB-46E5-BC99-49488FB6814C} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} EndGlobalSection EndGlobal diff --git a/src/Setup/Files.wxs b/src/Setup/Files.wxs index c30c497667..6d09295534 100644 --- a/src/Setup/Files.wxs +++ b/src/Setup/Files.wxs @@ -459,9 +459,6 @@ </Component> </Directory> </Directory> - <Component Guid="3730EF42-5257-4EB2-9DA1-57151E5EB5A3" Id="AgaControlsDll" DiskId="1"> - <File Source="..\..\bin\Aga.Controls.dll" Id="Aga.Controls.dll" Name="Aga.Controls.dll" Assembly=".net" AssemblyApplication="Aga.Controls.dll" AssemblyManifest="Aga.Controls.dll" KeyPath="yes" /> - </Component> <Component Guid="2EC34D8A-CF14-4E1F-A512-9A596A1C256D" Id="ICSharpCodeCoreWinFormsDll" DiskId="1"> <File Source="..\..\bin\ICSharpCode.Core.WinForms.dll" Name="ICSharpCode.Core.WinForms.dll" Id="ICSharpCode.Core.WinForms.dll" KeyPath="yes" /> </Component> diff --git a/src/Setup/Setup.wxs b/src/Setup/Setup.wxs index bef70bb053..3ff2db7079 100644 --- a/src/Setup/Setup.wxs +++ b/src/Setup/Setup.wxs @@ -195,7 +195,6 @@ <ComponentRef Id="ICSharpCodeTreeViewDll"/> <ComponentRef Id="ICSharpCodeSharpDevelopBuildWorker35Exe"/> <ComponentRef Id="ICSharpCodeSharpDevelopBuildWorker40Exe"/> - <ComponentRef Id="AgaControlsDll"/> <ComponentRef Id="log4netDll"/> <ComponentRef Id="GraphSharpDll"/> <ComponentRef Id="GraphSharpControlsDll"/> From 97f4f8c3055273f27c42c28d80754aede3eaa91b Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Fri, 5 Aug 2011 21:43:03 +0200 Subject: [PATCH 120/168] remove Ctrl+Q shortcut; QuickDocumentation was never implemented for AvalonEdit --- src/Main/Base/Project/ICSharpCode.SharpDevelop.addin | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin index 4c260f3c4e..84104a3deb 100755 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin @@ -1672,12 +1672,6 @@ </MenuItem> </Condition> - <Condition name = "WindowActive" activewindow="ICSharpCode.SharpDevelop.Editor.ITextEditorProvider" action="Disable"> - <MenuItem id = "ShowQuickHelp" - label = "${res:XML.MainMenu.ToolMenu.QuickXmlDoc}" - shortcut = "Control|Q" - class = "ICSharpCode.SharpDevelop.DefaultEditor.Commands.QuickDocumentation"/> - </Condition> <Condition name = "SolutionOpen" action="Disable"> <MenuItem id = "Upgrade" label = "${res:ICSharpCode.SharpDevelop.Project.UpgradeView.Title}" From 33018ccb61ea6378bea5fadedc9ddabf585f9a50 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Sat, 6 Aug 2011 08:56:40 +0200 Subject: [PATCH 121/168] fix SD-1611 - Add 'region tooltips' to AvalonEdit --- .../AvalonEdit.AddIn/Src/CodeEditorView.cs | 27 ++++++++++++++----- .../Folding/FoldingManager.cs | 2 ++ .../Folding/FoldingSection.cs | 9 +++++++ 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs index 84fcc5a492..17385ce748 100755 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs @@ -14,10 +14,10 @@ using System.Windows.Controls.Primitives; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Threading; - using ICSharpCode.AvalonEdit.AddIn.Options; using ICSharpCode.AvalonEdit.AddIn.Snippets; using ICSharpCode.AvalonEdit.Editing; +using ICSharpCode.AvalonEdit.Folding; using ICSharpCode.AvalonEdit.Highlighting; using ICSharpCode.AvalonEdit.Rendering; using ICSharpCode.NRefactory; @@ -239,14 +239,27 @@ namespace ICSharpCode.AvalonEdit.AddIn args.LogicalPosition = AvalonEditDocumentAdapter.ToLocation(pos.Value); } - TextMarkerService textMarkerService = this.Adapter.GetService(typeof(ITextMarkerService)) as TextMarkerService; - if (args.InDocument && textMarkerService != null) { - var markersAtOffset = textMarkerService.GetMarkersAtOffset(args.Editor.Document.PositionToOffset(args.LogicalPosition.Line, args.LogicalPosition.Column)); + if (args.InDocument) { + int offset = args.Editor.Document.PositionToOffset(args.LogicalPosition.Line, args.LogicalPosition.Column); - ITextMarker markerWithToolTip = markersAtOffset.FirstOrDefault(marker => marker.ToolTip != null); + FoldingManager foldings = this.Adapter.GetService(typeof(FoldingManager)) as FoldingManager; + if (foldings != null) { + var foldingsAtOffset = foldings.GetFoldingsContaining(offset); + FoldingSection collapsedSection = foldingsAtOffset.FirstOrDefault(section => section.IsFolded); + + if (collapsedSection != null) { + args.SetToolTip(collapsedSection.TextContent); + } + } - if (markerWithToolTip != null) { - args.SetToolTip(markerWithToolTip.ToolTip); + TextMarkerService textMarkerService = this.Adapter.GetService(typeof(ITextMarkerService)) as TextMarkerService; + if (textMarkerService != null) { + var markersAtOffset = textMarkerService.GetMarkersAtOffset(offset); + ITextMarker markerWithToolTip = markersAtOffset.FirstOrDefault(marker => marker.ToolTip != null); + + if (markerWithToolTip != null) { + args.SetToolTip(markerWithToolTip.ToolTip); + } } } diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/FoldingManager.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/FoldingManager.cs index 0dbf278a03..87ad45e8a0 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/FoldingManager.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/FoldingManager.cs @@ -327,6 +327,7 @@ namespace ICSharpCode.AvalonEdit.Folding margin = new FoldingMargin() { FoldingManager = this }; generator = new FoldingElementGenerator() { FoldingManager = this }; textArea.LeftMargins.Add(margin); + textArea.TextView.Services.AddService(typeof(FoldingManager), this); // HACK: folding only works correctly when it has highest priority textArea.TextView.ElementGenerators.Insert(0, generator); textArea.Caret.PositionChanged += textArea_Caret_PositionChanged; @@ -363,6 +364,7 @@ namespace ICSharpCode.AvalonEdit.Folding textArea.Caret.PositionChanged -= textArea_Caret_PositionChanged; textArea.LeftMargins.Remove(margin); textArea.TextView.ElementGenerators.Remove(generator); + textArea.TextView.Services.RemoveService(typeof(FoldingManager)); margin = null; generator = null; textArea = null; diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/FoldingSection.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/FoldingSection.cs index 7df9196e98..afc9907a0d 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/FoldingSection.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/FoldingSection.cs @@ -71,6 +71,15 @@ namespace ICSharpCode.AvalonEdit.Folding } } + /// <summary> + /// Gets the content of the collapsed lines as text. + /// </summary> + public string TextContent { + get { + return manager.document.GetText(StartOffset, EndOffset - StartOffset); + } + } + /// <summary> /// Gets/Sets an additional object associated with this folding section. /// </summary> From 08cfc14a42e9e4f31f6f8f1c08e6b5936e9f9d89 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Sat, 6 Aug 2011 15:18:03 +0200 Subject: [PATCH 122/168] fix SD-1394 - Indentation in region tooltip: proposed algorithm: Each line is checked for leading indentation whitespaces. If a line has the same or more indentation than the first line, it is reduced. If a line has is less indented than the first line the indentation is removed completely. See the following example: line 1 line 2 line 3 line 4 is reduced to: line 1 line 2 line 3 line 4 --- .../AvalonEdit.AddIn/Src/CodeEditorView.cs | 2 +- .../Folding/FoldingSection.cs | 58 +++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs index 17385ce748..e9921205be 100755 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs @@ -248,7 +248,7 @@ namespace ICSharpCode.AvalonEdit.AddIn FoldingSection collapsedSection = foldingsAtOffset.FirstOrDefault(section => section.IsFolded); if (collapsedSection != null) { - args.SetToolTip(collapsedSection.TextContent); + args.SetToolTip(collapsedSection.TooltipText); } } diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/FoldingSection.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/FoldingSection.cs index afc9907a0d..f60e0db466 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/FoldingSection.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Folding/FoldingSection.cs @@ -2,6 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using System.Text; using System.Windows.Threading; using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Rendering; @@ -80,6 +81,63 @@ namespace ICSharpCode.AvalonEdit.Folding } } + /// <summary> + /// Gets the content of the collapsed lines as tooltip text. + /// </summary> + public string TooltipText { + get { + // This fixes SD-1394: + // Each line is checked for leading indentation whitespaces. If + // a line has the same or more indentation than the first line, + // it is reduced. If a line is less indented than the first line + // the indentation is removed completely. + // + // See the following example: + // line 1 + // line 2 + // line 3 + // line 4 + // + // is reduced to: + // line 1 + // line 2 + // line 3 + // line 4 + + var startLine = manager.document.GetLineByOffset(StartOffset); + var endLine = manager.document.GetLineByOffset(EndOffset); + var builder = new StringBuilder(); + + var current = startLine; + ISegment startIndent = TextUtilities.GetLeadingWhitespace(manager.document, startLine); + + while (current != endLine.NextLine) { + ISegment currentIndent = TextUtilities.GetLeadingWhitespace(manager.document, current); + + if (current == startLine && current == endLine) + builder.Append(manager.document.GetText(StartOffset, EndOffset - StartOffset)); + else if (current == startLine) { + if (current.EndOffset - StartOffset > 0) + builder.AppendLine(manager.document.GetText(StartOffset, current.EndOffset - StartOffset).TrimStart()); + } else if (current == endLine) { + if (startIndent.Length <= currentIndent.Length) + builder.Append(manager.document.GetText(current.Offset + startIndent.Length, EndOffset - current.Offset - startIndent.Length)); + else + builder.Append(manager.document.GetText(current.Offset + currentIndent.Length, EndOffset - current.Offset - currentIndent.Length)); + } else { + if (startIndent.Length <= currentIndent.Length) + builder.AppendLine(manager.document.GetText(current.Offset + startIndent.Length, current.Length - startIndent.Length)); + else + builder.AppendLine(manager.document.GetText(current.Offset + currentIndent.Length, current.Length - currentIndent.Length)); + } + + current = current.NextLine; + } + + return builder.ToString(); + } + } + /// <summary> /// Gets/Sets an additional object associated with this folding section. /// </summary> From 9d405ff6283e8180e7209ca657f2d324697b5a1b Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Mon, 8 Aug 2011 16:49:18 +0200 Subject: [PATCH 123/168] fix http://bugtracker.sharpdevelop.net/issue/ViewIssue.aspx?id=1768&PROJID=4 --- data/resources/StringResources.resx | 3 +++ .../Project/ICSharpCode.SharpDevelop.addin | 9 +++++++++ .../Base/Project/Src/Commands/DebugCommands.cs | 18 ++++++++++++++++-- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/data/resources/StringResources.resx b/data/resources/StringResources.resx index a19352698d..cf578a4f55 100644 --- a/data/resources/StringResources.resx +++ b/data/resources/StringResources.resx @@ -7990,6 +7990,9 @@ The resources files have been renamed/moved accordingly.</value> <data name="XML.MainMenu.DebugMenu.RunWithoutDebug.Description" xml:space="preserve"> <value>Runs the program without attached debugger.</value> </data> + <data name="XML.MainMenu.DebugMenu.RunLastBuild" xml:space="preserve"> + <value>Run last build</value> + </data> <data name="XML.MainMenu.DebugMenu.StepInto" xml:space="preserve"> <value>Step into</value> </data> diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin index 84104a3deb..d9b037b572 100755 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin @@ -1505,6 +1505,15 @@ </Condition> </Condition> + <Condition name = "SolutionOpen" action="Disable"> + <Condition name="IsProcessRunning" isdebugging="False" action="Disable"> + <MenuItem id = "RunWithoutBuild" + label = "${res:XML.MainMenu.DebugMenu.RunLastBuild}" + shortcut = "Control|Shift|F5" + class = "ICSharpCode.SharpDevelop.Project.Commands.ExecuteLastBuild"/> + </Condition> + </Condition> + <Condition name="DebuggerSupports" debuggersupports = "Stop"> <Condition name="IsProcessRunning" isdebugging="True" action="Disable"> <MenuItem id = "Stop" diff --git a/src/Main/Base/Project/Src/Commands/DebugCommands.cs b/src/Main/Base/Project/Src/Commands/DebugCommands.cs index 89e348a0d7..f474699759 100644 --- a/src/Main/Base/Project/Src/Commands/DebugCommands.cs +++ b/src/Main/Base/Project/Src/Commands/DebugCommands.cs @@ -86,7 +86,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands if (!DebuggerService.CurrentDebugger.IsDebugging) { DebuggerService.CurrentDebugger.BreakAtBeginning = true; new Execute().Run(); - } else { + } else { DebuggerService.CurrentDebugger.StepOver(); } } @@ -100,7 +100,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands if (!DebuggerService.CurrentDebugger.IsDebugging) { DebuggerService.CurrentDebugger.BreakAtBeginning = true; new Execute().Run(); - } else { + } else { DebuggerService.CurrentDebugger.StepInto(); } } @@ -170,4 +170,18 @@ namespace ICSharpCode.SharpDevelop.Project.Commands DebuggerService.CurrentDebugger.Detach(); } } + + public class ExecuteLastBuild : AbstractMenuCommand + { + public override void Run() + { + if (ProjectService.OpenSolution == null) + return; + + if (ProjectService.OpenSolution.StartupProject == null) + return; + + ProjectService.OpenSolution.StartupProject.Start(false); + } + } } From 53dbd13ee5bf15e4cd1f2ccebb4ae392becbed21 Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Tue, 9 Aug 2011 01:36:55 +0200 Subject: [PATCH 124/168] Setup infrastructure to save project specific data. Save watch variables. Fix http://bugtracker.sharpdevelop.net/issue/ViewIssue.aspx?id=1509&PROJID=4 --- data/resources/StringResources.resx | 2 +- .../Debugger/Debugger.AddIn/Pads/WatchPad.cs | 92 ++++++++++++++++++- .../Debugger.AddIn/Pads/WatchPadModel.cs | 40 +++++++- .../Project/ICSharpCode.SharpDevelop.csproj | 4 + .../Project/Src/Project/AbstractProject.cs | 15 +++ .../SavedData/IProjectSavedData.cs | 60 ++++++++++++ .../SavedData/ProjectSavedDataConverter.cs | 54 +++++++++++ .../SavedData/SavedDataManager.cs | 81 ++++++++++++++++ 8 files changed, 343 insertions(+), 5 deletions(-) create mode 100644 src/Main/Base/Project/Src/Services/ProjectService/SavedData/IProjectSavedData.cs create mode 100644 src/Main/Base/Project/Src/Services/ProjectService/SavedData/ProjectSavedDataConverter.cs create mode 100644 src/Main/Base/Project/Src/Services/ProjectService/SavedData/SavedDataManager.cs diff --git a/data/resources/StringResources.resx b/data/resources/StringResources.resx index cf578a4f55..3dd6afa578 100644 --- a/data/resources/StringResources.resx +++ b/data/resources/StringResources.resx @@ -5156,7 +5156,7 @@ Goto 'Options->Visual Style' and change the current language ambience.</value <value>ASP.NET/IIS (Express) worker process ({0}) was not found.</value> </data> <data name="ICSharpCode.WepProjectOptionsPanel.NoProjectUrlOrProgramAction" xml:space="preserve"> - <value>There's no Project Url specified or external program. Check the web server at Project Properties -&gt; Debug tab.</value> + <value>There's no Project Url specified or external program. Check the web server at Project Properties -> Debug tab.</value> </data> <data name="ICSharpCode.WepProjectOptionsPanel.Port" xml:space="preserve"> <value>Server port:</value> diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs index 1fb2b894af..299fa04985 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs @@ -3,6 +3,8 @@ using System; using System.Collections.Generic; +using System.Collections.Specialized; +using System.Linq; using System.Windows; using System.Windows.Input; @@ -13,9 +15,10 @@ using Debugger.AddIn.TreeModel; using ICSharpCode.Core; using ICSharpCode.Core.Presentation; using ICSharpCode.NRefactory; +using ICSharpCode.SharpDevelop.Debugging; using ICSharpCode.SharpDevelop.Project; +using ICSharpCode.SharpDevelop.Project.SavedData; using Exception = System.Exception; -using ICSharpCode.SharpDevelop.Debugging; namespace ICSharpCode.SharpDevelop.Gui.Pads { @@ -58,11 +61,98 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads watchList.Drop += watchList_Drop; watchList.MouseDoubleClick += watchList_DoubleClick; watchList.KeyUp += watchList_KeyUp; + watchList.WatchItems.CollectionChanged += OnWatchItemsCollectionChanged; panel.Children.Add(watchList); panel.KeyUp += new KeyEventHandler(panel_KeyUp); + + // wire events that influence the items + LoadSavedNodes(); + ProjectService.SolutionClosed += delegate { watchList.WatchItems.Clear(); }; + ProjectService.SolutionPreferencesSaving += OnSolutionClosing; + ProjectService.ProjectRemoved += OnProjectRemoved; + ProjectService.ProjectAdded += OnProjectAdded; + ProjectService.SolutionLoaded += delegate { LoadSavedNodes(); }; + } + + #region Saved nodes + + void AddNodes(Func<IProjectSavedData, bool> predicate) + { + if (predicate == null) + throw new ArgumentNullException("predicate"); + + // get nodes of current projects + List<TextNode> temp = new List<TextNode>(); + foreach (var data in SavedDataManager.GetSavedData().Where(predicate)) { + string[] v = data.SavedString.Split('|'); + + TextNode node = new TextNode(null, v[5], (SupportedLanguage)Enum.Parse(typeof(SupportedLanguage), v[7])) { ProjectName = data.ProjectName }; + temp.Add(node); + } + + // add them to watch list + temp.ForEach(d => { if (!watchList.WatchItems.Contains(d)) watchList.WatchItems.Add(d); } ); + } + + void LoadSavedNodes() + { + AddNodes(d => d.SavedDataType == ProjectSavedDataType.WatchVariables && + ProjectService.OpenSolution.Projects.Any(p => p.Name == d.ProjectName)); + + // remove them temporarilly - they will be saved on exit + SavedDataManager.RemoveAll(d => d.SavedDataType == ProjectSavedDataType.WatchVariables && + ProjectService.OpenSolution.Projects.Any(p => p.Name == d.ProjectName)); + } + + void OnSolutionClosing(object sender, SolutionEventArgs e) + { + foreach (var element in watchList.WatchItems) { + SavedDataManager.Add((IProjectSavedData)element); + } + } + + void OnProjectAdded(object sender, ProjectEventArgs e) + { + AddNodes(d => d.SavedDataType == ProjectSavedDataType.WatchVariables && e.Project.Name == d.ProjectName); + } + + void OnProjectRemoved(object sender, ProjectEventArgs e) + { + if (e.Project == null) + return; + + // get the specific nodes from the list + List<TextNode> nodes = new List<TextNode>(); + foreach (var element in watchList.WatchItems + .OfType<TextNode>() + .Where(tn => tn.ProjectName == e.Project.Name)) { + nodes.Add(element); + } + + // remove nodes from the list + nodes.ForEach(n => watchList.WatchItems.Remove(n)); } + void OnWatchItemsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) + { + if (e.Action == NotifyCollectionChangedAction.Add) { + // add to saved data + var data = e.NewItems[0] as IProjectSavedData; + if (data != null) + SavedDataManager.Add(data); + } + + if (e.Action == NotifyCollectionChangedAction.Remove) { + // remove from saved data + var data = e.OldItems[0] as IProjectSavedData; + if (data != null) + SavedDataManager.Remove(data); + } + } + + #endregion + void panel_KeyUp(object sender, KeyEventArgs e) { if (e.Key == Key.Insert) { diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs index 14365919db..f599aa0e12 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs @@ -2,20 +2,24 @@ // This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt) using System; -using System.Collections.Generic; +using System.Text; using Debugger.AddIn.TreeModel; using ICSharpCode.NRefactory; -using ICSharpCode.SharpDevelop.Debugging; +using ICSharpCode.SharpDevelop.Project; +using ICSharpCode.SharpDevelop.Project.SavedData; namespace ICSharpCode.SharpDevelop.Gui.Pads { - public class TextNode : TreeNode, ISetText + public class TextNode : TreeNode, ISetText, IProjectSavedData { public TextNode(TreeNode parent, string text, SupportedLanguage language) : base(parent) { this.Name = text; this.Language = language; + + if (ProjectService.CurrentProject != null) + ProjectName = ProjectService.CurrentProject.Name; } public override bool CanSetText { @@ -37,6 +41,36 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads } public SupportedLanguage Language { get; set; } + + #region IProjectSavedData implementation + + string savedString; + + public string SavedString { + get { + StringBuilder sb = new StringBuilder(); + sb.Append("ProjectName"); sb.Append('|'); sb.Append(ProjectName); sb.Append('|'); + sb.Append("ProjectSavedDataType"); sb.Append('|'); sb.Append(SavedDataType); sb.Append('|'); + sb.Append("FullName"); sb.Append('|'); sb.Append(FullName); sb.Append('|'); + sb.Append("Language"); sb.Append('|'); sb.Append(Language.ToString()); + + savedString = sb.ToString(); + return savedString; + } + set { savedString = value; } + } + + public ProjectSavedDataType SavedDataType { + get { + return ProjectSavedDataType.WatchVariables; + } + } + + public string ProjectName { + get; internal set; + } + + #endregion } public class ErrorInfoNode : ICorDebug.InfoNode diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index 9518e0dcff..a294f06954 100644 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -243,6 +243,9 @@ <DependentUpon>SelectCulturePanel.xaml</DependentUpon> <SubType>Code</SubType> </Compile> + <Compile Include="Src\Services\ProjectService\SavedData\IProjectSavedData.cs" /> + <Compile Include="Src\Services\ProjectService\SavedData\ProjectSavedDataConverter.cs" /> + <Compile Include="Src\Services\ProjectService\SavedData\SavedDataManager.cs" /> <Compile Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\WebProjectOptions\WebProjectOptions.cs" /> <Compile Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\WebProjectOptions\WebProjectOptionsPanel.xaml.cs"> <DependentUpon>WebProjectOptionsPanel.xaml</DependentUpon> @@ -848,6 +851,7 @@ <Folder Include="Src\Editor\CodeCompletion" /> <Folder Include="Src\Editor\Commands" /> <Folder Include="Src\Editor\Search" /> + <Folder Include="Src\Services\ProjectService\SavedData" /> <Folder Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\WebProjectOptions" /> <Folder Include="Src\Gui\Pads\TaskList" /> <Folder Include="Src\Services\Debugger\Tooltips" /> diff --git a/src/Main/Base/Project/Src/Project/AbstractProject.cs b/src/Main/Base/Project/Src/Project/AbstractProject.cs index 4655f7dce5..9da00fb957 100644 --- a/src/Main/Base/Project/Src/Project/AbstractProject.cs +++ b/src/Main/Base/Project/Src/Project/AbstractProject.cs @@ -7,12 +7,14 @@ using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.IO; +using System.Linq; using System.Xml.Linq; using ICSharpCode.Core; using ICSharpCode.SharpDevelop.Debugging; using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui.OptionPanels; +using ICSharpCode.SharpDevelop.Project.SavedData; namespace ICSharpCode.SharpDevelop.Project { @@ -71,6 +73,7 @@ namespace ICSharpCode.SharpDevelop.Project { WorkbenchSingleton.AssertMainThread(); + // breakpoints and files Properties properties = new Properties(); properties.Set("bookmarks", ICSharpCode.SharpDevelop.Bookmarks.BookmarkManager.GetProjectBookmarks(this).ToArray()); List<string> files = new List<string>(); @@ -81,10 +84,15 @@ namespace ICSharpCode.SharpDevelop.Project } properties.Set("files", files.ToArray()); + // web project properties var webOptions = WebProjectsOptions.Instance.GetWebProjectOptions(Name); if (webOptions != null) properties.Set("WebProjectOptions", webOptions); + // other project data - logic in ProjectSavedDataConverter + properties.Set("projectSavedData_" + Name, SavedDataManager.GetSavedData() + .Where(d => d.ProjectName == Name).ToArray()); + return properties; } @@ -99,7 +107,14 @@ namespace ICSharpCode.SharpDevelop.Project filesToOpenAfterSolutionLoad.Add(fileName); } + // web project properties WebProjectsOptions.Instance.SetWebProjectOptions(Name, memento.Get("WebProjectOptions", new WebProjectOptions()) as WebProjectOptions); + + // other project data - logic in ProjectSavedDataConverter + foreach(var data in memento.Get("projectSavedData_" + Name, new IProjectSavedData[0]) + .Where(d => d.ProjectName == Name)) { + SavedDataManager.Add(data); + } } #endregion diff --git a/src/Main/Base/Project/Src/Services/ProjectService/SavedData/IProjectSavedData.cs b/src/Main/Base/Project/Src/Services/ProjectService/SavedData/IProjectSavedData.cs new file mode 100644 index 0000000000..f595ed5f8a --- /dev/null +++ b/src/Main/Base/Project/Src/Services/ProjectService/SavedData/IProjectSavedData.cs @@ -0,0 +1,60 @@ +// 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.ComponentModel; +using System.Collections.Generic; + +namespace ICSharpCode.SharpDevelop.Project.SavedData +{ + public enum ProjectSavedDataType + { + WatchVariables + } + + /// <summary> + /// Interface for storing project specific data. + /// When implementing this, one should be carefull when and how + /// the SavedDataManager is used in order to not alter the other data. + /// </summary> + [TypeConverter(typeof(ProjectSavedDataConverter))] + public interface IProjectSavedData + { + /// <summary> + /// Saved data type. + /// </summary> + ProjectSavedDataType SavedDataType { get; } + + /// <summary> + /// Saved data. + /// <remarks>The format is: "ProjectName"|{0}|"ProjectSavedDataType"|{1}|(specific data splited by '|').</remarks> + /// </summary> + string SavedString { get; set; } + + /// <summary> + /// Gets the project name. + /// </summary> + string ProjectName { get; } + } + + /// <summary> + /// Dummy data. Used to map the saved data and exposed to addins where project specific data can exist. + /// </summary> + public sealed class DummyProjectSavedData : IProjectSavedData + { + public ProjectSavedDataType SavedDataType { get; set; } + + public string SavedString { get; set; } + + public string ProjectName { + get { + if (string.IsNullOrEmpty(SavedString)) + return string.Empty; + + string[] v = SavedString.Split('|'); + + return v[1]; + } + } + } +} diff --git a/src/Main/Base/Project/Src/Services/ProjectService/SavedData/ProjectSavedDataConverter.cs b/src/Main/Base/Project/Src/Services/ProjectService/SavedData/ProjectSavedDataConverter.cs new file mode 100644 index 0000000000..8256ea7b43 --- /dev/null +++ b/src/Main/Base/Project/Src/Services/ProjectService/SavedData/ProjectSavedDataConverter.cs @@ -0,0 +1,54 @@ +// 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.ComponentModel; +using System.Globalization; +using System.Text; + +namespace ICSharpCode.SharpDevelop.Project.SavedData +{ + public sealed class ProjectSavedDataConverter : TypeConverter + { + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) + { + if (sourceType == typeof(string)) { + return true; + } else { + return base.CanConvertFrom(context, sourceType); + } + } + + public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) + { + // convert from saved data(string) to objects + if (value is string) { + string[] v = ((string)value).Split('|'); + ProjectSavedDataType type = (ProjectSavedDataType)Enum.Parse(typeof(ProjectSavedDataType), v[3]); + var data = new DummyProjectSavedData { + SavedString = (string)value, + SavedDataType = type + }; + return data; + } else { + return base.ConvertFrom(context, culture, value); + } + } + + public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) + { + // convert objects to saved data(string) + var data = value as IProjectSavedData; + if (destinationType == typeof(string) && data != null) { + switch (data.SavedDataType) { + case ProjectSavedDataType.WatchVariables: + return data.SavedString; + default: + throw new Exception("Invalid value for ProjectSavedDataType"); + } + } else { + return base.ConvertTo(context, culture, value, destinationType); + } + } + } +} diff --git a/src/Main/Base/Project/Src/Services/ProjectService/SavedData/SavedDataManager.cs b/src/Main/Base/Project/Src/Services/ProjectService/SavedData/SavedDataManager.cs new file mode 100644 index 0000000000..2d7c6e735b --- /dev/null +++ b/src/Main/Base/Project/Src/Services/ProjectService/SavedData/SavedDataManager.cs @@ -0,0 +1,81 @@ +// 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.Collections.Concurrent; +using System.Collections.Generic; + +namespace ICSharpCode.SharpDevelop.Project.SavedData +{ + /// <summary> + /// Stores the project specific data. + /// </summary> + public static class SavedDataManager + { + static readonly List<IProjectSavedData> list; + static object _syncObject = new object(); + + static SavedDataManager() + { + list = new List<IProjectSavedData>(); + ProjectService.SolutionClosed += delegate { list.Clear(); }; + } + + /// <summary> + /// Gets all saved data. + /// </summary> + /// <returns></returns> + public static List<IProjectSavedData> GetSavedData() + { + return list; + } + + /// <summary> + /// Adds a new data. + /// </summary> + /// <param name="data"></param> + public static void Add(IProjectSavedData data) + { + if (data == null) + throw new ArgumentNullException("data"); + + if (!list.Contains(data)) { + lock (_syncObject) { + if (!list.Contains(data)) + list.Add(data); + } + } + } + + /// <summary> + /// Removes data. + /// </summary> + /// <param name="data"></param> + public static void Remove(IProjectSavedData data) + { + if (data == null) + throw new ArgumentNullException("data"); + + if (list.Contains(data)) { + lock (_syncObject) { + if (list.Contains(data)) + list.Remove(data); + } + } + } + + /// <summary> + /// Removes all data that satisfies a predicate. + /// </summary> + /// <param name="match"></param> + public static void RemoveAll(Predicate<IProjectSavedData> match) + { + if (match == null) + throw new ArgumentNullException("match"); + + lock (_syncObject) { + list.RemoveAll(match); + } + } + } +} From 722e90a904d9ffdcd73c6fdbdbde8b9f9dbc6f22 Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Tue, 9 Aug 2011 14:24:17 +0200 Subject: [PATCH 125/168] fix http://bugtracker.sharpdevelop.net/issue/ViewIssue.aspx?id=1783&PROJID=4 --- .../AvalonEdit.AddIn/Src/AvalonEditViewContent.cs | 4 ---- .../AvalonEdit.AddIn/Src/CodeEditorView.cs | 15 +++++++++++++++ src/Main/Base/Project/Src/Gui/IWorkbenchWindow.cs | 5 +++++ .../Workbench/Layouts/AvalonWorkbenchWindow.cs | 5 +++++ .../Src/Services/File/FileChangeWatcher.cs | 3 +++ 5 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs index 0f6e95a0aa..39fad952bd 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs @@ -139,10 +139,6 @@ namespace ICSharpCode.AvalonEdit.AddIn codeEditor.SyntaxHighlighting = HighlightingManager.Instance.GetDefinitionByExtension(Path.GetExtension(file.FileName)); - if (!file.IsUntitled) { - codeEditor.PrimaryTextEditor.IsReadOnly = (File.GetAttributes(file.FileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; - } - codeEditor.Load(stream); // Load() causes the undo stack to think stuff changed, so re-mark the file as original if necessary if (!this.PrimaryFile.IsDirty) { diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs index e9921205be..f3b3f10e69 100755 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs @@ -84,6 +84,21 @@ namespace ICSharpCode.AvalonEdit.AddIn get { return this.Adapter.FileName; } } + public new bool IsReadOnly { + get { + if (!File.Exists(FileName)) + return base.IsReadOnly; + + if ((File.GetAttributes(FileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly) + return true; + + return base.IsReadOnly; + } + set { + base.IsReadOnly = value; + } + } + protected override void OnOptionChanged(PropertyChangedEventArgs e) { base.OnOptionChanged(e); diff --git a/src/Main/Base/Project/Src/Gui/IWorkbenchWindow.cs b/src/Main/Base/Project/Src/Gui/IWorkbenchWindow.cs index 3218d98a35..d03d264888 100644 --- a/src/Main/Base/Project/Src/Gui/IWorkbenchWindow.cs +++ b/src/Main/Base/Project/Src/Gui/IWorkbenchWindow.cs @@ -72,6 +72,11 @@ namespace ICSharpCode.SharpDevelop.Gui /// </summary> void SelectWindow(); + /// <summary> + /// Refresh window status: title, infotip, lock. + /// </summary> + void RefreshStatus(); + /// <summary> /// Is called when the title of this window has changed. /// </summary> diff --git a/src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs b/src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs index 63deff3e5b..6116674c50 100644 --- a/src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs +++ b/src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs @@ -267,6 +267,11 @@ namespace ICSharpCode.SharpDevelop.Gui Activate();//this.SetAsActive(); } + public void RefreshStatus() + { + UpdateActiveViewContent(); + } + public override void OnApplyTemplate() { base.OnApplyTemplate(); diff --git a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs index 46e69f8207..eb1de717fd 100644 --- a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs @@ -137,6 +137,7 @@ namespace ICSharpCode.SharpDevelop watcher.Path = Path.GetDirectoryName(fileName); watcher.Filter = Path.GetFileName(fileName); watcher.EnableRaisingEvents = true; + watcher.NotifyFilter |= NotifyFilters.Attributes; } catch (PlatformNotSupportedException) { if (watcher != null) { watcher.Dispose(); @@ -173,6 +174,8 @@ namespace ICSharpCode.SharpDevelop delegate { MainForm_Activated(this, EventArgs.Empty); } ); } } + + file.RegisteredViewContents.ForEach(vc => vc.WorkbenchWindow.RefreshStatus()); } void MainForm_Activated(object sender, EventArgs e) From 827e1f6bb68cbcc5d1998df8f55124e4900aa07c Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Tue, 9 Aug 2011 14:33:31 +0200 Subject: [PATCH 126/168] fix build --- .../WixBinding/Test/Utils/MockWorkbenchWindow.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockWorkbenchWindow.cs b/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockWorkbenchWindow.cs index 60eef0e0cd..2c1bf2b49a 100644 --- a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockWorkbenchWindow.cs +++ b/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockWorkbenchWindow.cs @@ -86,5 +86,10 @@ namespace WixBinding.Tests.Utils TitleChanged(this, e); } } + + public void RefreshStatus() + { + throw new NotImplementedException(); + } } } From 77c2869543541c420b1fc3cdfb415535448dba92 Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Tue, 9 Aug 2011 23:39:40 +0200 Subject: [PATCH 127/168] properly fix SD-1783 for AvalonEditViewContent (i.e. text files) --- .../Scripting/Test/Utils/MockViewContent.cs | 8 +++++ .../WixBinding/Test/Utils/MockViewContent.cs | 1 + .../Test/Utils/MockWorkbenchWindow.cs | 5 --- .../Src/AvalonEditViewContent.cs | 24 ++++++++++--- .../AvalonEdit.AddIn/Src/CodeEditorView.cs | 15 -------- .../XmlEditor/Test/Utils/MockViewContent.cs | 9 +++++ .../Test/Designer/MockViewContend.cs | 8 +++++ .../Project/Src/Gui/AbstractViewContent.cs | 15 ++++++-- src/Main/Base/Project/Src/Gui/IViewContent.cs | 5 +++ .../Base/Project/Src/Gui/IWorkbenchWindow.cs | 5 --- .../Layouts/AvalonWorkbenchWindow.cs | 9 ++--- .../Src/Services/File/FileChangeWatcher.cs | 36 ++++++++++++++++--- .../Project/Src/Util/FakeXmlViewContent.cs | 9 +++++ 13 files changed, 106 insertions(+), 43 deletions(-) diff --git a/src/AddIns/BackendBindings/Scripting/Test/Utils/MockViewContent.cs b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockViewContent.cs index 63c062ea2c..c571024080 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/Utils/MockViewContent.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockViewContent.cs @@ -26,6 +26,7 @@ namespace ICSharpCode.Scripting.Tests.Utils public event EventHandler TabPageTextChanged; public event EventHandler Disposed; public event EventHandler IsDirtyChanged; + public event EventHandler IsReadOnlyChanged; public string TitleName { get { @@ -234,6 +235,13 @@ namespace ICSharpCode.Scripting.Tests.Utils } } + protected virtual void OnIsReadOnlyChanged(EventArgs e) + { + if (IsReadOnlyChanged != null) { + IsReadOnlyChanged(this, e); + } + } + public object GetService(Type serviceType) { return null; diff --git a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockViewContent.cs b/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockViewContent.cs index f46e5dfc15..759927190b 100644 --- a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockViewContent.cs +++ b/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockViewContent.cs @@ -41,6 +41,7 @@ namespace WixBinding.Tests.Utils public event EventHandler IsDirtyChanged; public event EventHandler TitleNameChanged; public event EventHandler InfoTipChanged; + public event EventHandler IsReadOnlyChanged; #pragma warning restore 67 public IList<OpenedFile> Files { diff --git a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockWorkbenchWindow.cs b/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockWorkbenchWindow.cs index 2c1bf2b49a..60eef0e0cd 100644 --- a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockWorkbenchWindow.cs +++ b/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockWorkbenchWindow.cs @@ -86,10 +86,5 @@ namespace WixBinding.Tests.Utils TitleChanged(this, e); } } - - public void RefreshStatus() - { - throw new NotImplementedException(); - } } } diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs index 39fad952bd..fff266648c 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs @@ -5,15 +5,12 @@ using System; using System.IO; using System.Linq; using System.Text; -using System.Windows.Threading; + using ICSharpCode.AvalonEdit.AddIn.Options; -using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Highlighting; -using ICSharpCode.AvalonEdit.Utils; using ICSharpCode.Core; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Bookmarks; -using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Project; @@ -53,6 +50,21 @@ namespace ICSharpCode.AvalonEdit.AddIn codeEditor.Document.UndoStack.PropertyChanged += codeEditor_Document_UndoStack_PropertyChanged; codeEditor.CaretPositionChanged += CaretChanged; codeEditor.TextCopied += codeEditor_TextCopied; + + // get the watcher for the file + var watcher = FileChangeWatcher.ActiveWatchers.FirstOrDefault(w => w.File == file); + if (watcher != null) + watcher.FileChanged += OnFileExternallyChanged; + } + + void OnFileExternallyChanged(object sender, EventArgs e) + { + // handle readonly + bool isExternalReadOnly = (File.GetAttributes(this.PrimaryFileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; + if (isExternalReadOnly != IsReadOnly) { + codeEditor.PrimaryTextEditor.IsReadOnly = isExternalReadOnly; + OnIsReadOnlyChanged(EventArgs.Empty); + } } void codeEditor_Document_UndoStack_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) @@ -139,6 +151,10 @@ namespace ICSharpCode.AvalonEdit.AddIn codeEditor.SyntaxHighlighting = HighlightingManager.Instance.GetDefinitionByExtension(Path.GetExtension(file.FileName)); + if (!file.IsUntitled) { + codeEditor.PrimaryTextEditor.IsReadOnly = (File.GetAttributes(file.FileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; + } + codeEditor.Load(stream); // Load() causes the undo stack to think stuff changed, so re-mark the file as original if necessary if (!this.PrimaryFile.IsDirty) { diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs index f3b3f10e69..e9921205be 100755 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs @@ -84,21 +84,6 @@ namespace ICSharpCode.AvalonEdit.AddIn get { return this.Adapter.FileName; } } - public new bool IsReadOnly { - get { - if (!File.Exists(FileName)) - return base.IsReadOnly; - - if ((File.GetAttributes(FileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly) - return true; - - return base.IsReadOnly; - } - set { - base.IsReadOnly = value; - } - } - protected override void OnOptionChanged(PropertyChangedEventArgs e) { base.OnOptionChanged(e); diff --git a/src/AddIns/DisplayBindings/XmlEditor/Test/Utils/MockViewContent.cs b/src/AddIns/DisplayBindings/XmlEditor/Test/Utils/MockViewContent.cs index dc81f5cc3c..426b0fa041 100644 --- a/src/AddIns/DisplayBindings/XmlEditor/Test/Utils/MockViewContent.cs +++ b/src/AddIns/DisplayBindings/XmlEditor/Test/Utils/MockViewContent.cs @@ -53,6 +53,15 @@ namespace XmlEditor.Tests.Utils } } + public event EventHandler IsReadOnlyChanged; + + protected virtual void OnIsReadOnlyChanged(EventArgs e) + { + if (IsReadOnlyChanged != null) { + IsReadOnlyChanged(this, e); + } + } + public object Control { get { throw new NotImplementedException(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/MockViewContend.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/MockViewContend.cs index 468ed8876c..c4318d0603 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/MockViewContend.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/MockViewContend.cs @@ -28,6 +28,7 @@ namespace ICSharpCode.Reports.Addin.Test.Designer public event EventHandler TabPageTextChanged; public event EventHandler Disposed; public event EventHandler IsDirtyChanged; + public event EventHandler IsReadOnlyChanged; public object Control { @@ -230,6 +231,13 @@ namespace ICSharpCode.Reports.Addin.Test.Designer } } + protected virtual void OnIsReadOnlyChanged(EventArgs e) + { + if (IsReadOnlyChanged != null) { + IsReadOnlyChanged(this, e); + } + } + public object InitiallyFocusedControl { get { throw new NotImplementedException(); diff --git a/src/Main/Base/Project/Src/Gui/AbstractViewContent.cs b/src/Main/Base/Project/Src/Gui/AbstractViewContent.cs index 121abe3c91..03bd333ac5 100644 --- a/src/Main/Base/Project/Src/Gui/AbstractViewContent.cs +++ b/src/Main/Base/Project/Src/Gui/AbstractViewContent.cs @@ -2,11 +2,10 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.ComponentModel.Design; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.ComponentModel.Design; using System.IO; -using System.Windows.Forms; using ICSharpCode.Core; using ICSharpCode.Core.Presentation; @@ -393,7 +392,6 @@ namespace ICSharpCode.SharpDevelop.Gui } #endregion - #region InfoTip public event EventHandler InfoTipChanged; @@ -608,6 +606,7 @@ namespace ICSharpCode.SharpDevelop.Gui return null; } + #region Read only /// <summary> /// Gets if the view content is read-only (can be saved only when choosing another file name). /// </summary> @@ -615,6 +614,16 @@ namespace ICSharpCode.SharpDevelop.Gui get { return false; } } + public event EventHandler IsReadOnlyChanged; + + protected virtual void OnIsReadOnlyChanged(EventArgs e) + { + if (IsReadOnlyChanged != null) { + IsReadOnlyChanged(this, e); + } + } + #endregion + /// <summary> /// Gets if the view content is view-only (cannot be saved at all). /// </summary> diff --git a/src/Main/Base/Project/Src/Gui/IViewContent.cs b/src/Main/Base/Project/Src/Gui/IViewContent.cs index ec18b3f5c3..05f420334c 100644 --- a/src/Main/Base/Project/Src/Gui/IViewContent.cs +++ b/src/Main/Base/Project/Src/Gui/IViewContent.cs @@ -145,6 +145,11 @@ namespace ICSharpCode.SharpDevelop.Gui /// </summary> bool IsReadOnly { get; } + /// <summary> + /// Is called each time the IsReadonly for the content has changed. + /// </summary> + event EventHandler IsReadOnlyChanged; + /// <summary> /// Gets if the view content is view-only (cannot be saved at all). /// </summary> diff --git a/src/Main/Base/Project/Src/Gui/IWorkbenchWindow.cs b/src/Main/Base/Project/Src/Gui/IWorkbenchWindow.cs index d03d264888..3218d98a35 100644 --- a/src/Main/Base/Project/Src/Gui/IWorkbenchWindow.cs +++ b/src/Main/Base/Project/Src/Gui/IWorkbenchWindow.cs @@ -72,11 +72,6 @@ namespace ICSharpCode.SharpDevelop.Gui /// </summary> void SelectWindow(); - /// <summary> - /// Refresh window status: title, infotip, lock. - /// </summary> - void RefreshStatus(); - /// <summary> /// Is called when the title of this window has changed. /// </summary> diff --git a/src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs b/src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs index 6116674c50..a8e10c1d35 100644 --- a/src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs +++ b/src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs @@ -145,8 +145,10 @@ namespace ICSharpCode.SharpDevelop.Gui UpdateTitleAndInfoTip(); IViewContent newActiveViewContent = this.ActiveViewContent; - if (newActiveViewContent != null) + if (newActiveViewContent != null) { IsLocked = newActiveViewContent.IsReadOnly; + newActiveViewContent.IsReadOnlyChanged += delegate { IsLocked = newActiveViewContent.IsReadOnly; }; + } if (oldActiveViewContent != newActiveViewContent && ActiveViewContentChanged != null) { ActiveViewContentChanged(this, EventArgs.Empty); @@ -267,11 +269,6 @@ namespace ICSharpCode.SharpDevelop.Gui Activate();//this.SetAsActive(); } - public void RefreshStatus() - { - UpdateActiveViewContent(); - } - public override void OnApplyTemplate() { base.OnApplyTemplate(); diff --git a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs index eb1de717fd..b73a8a7c9f 100644 --- a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs @@ -11,7 +11,7 @@ using ICSharpCode.Core; namespace ICSharpCode.SharpDevelop { - internal sealed class FileChangeWatcher : IDisposable + public sealed class FileChangeWatcher : IDisposable { public static bool DetectExternalChangesOption { get { @@ -37,6 +37,10 @@ namespace ICSharpCode.SharpDevelop static HashSet<FileChangeWatcher> activeWatchers = new HashSet<FileChangeWatcher>(); + public static HashSet<FileChangeWatcher> ActiveWatchers { + get { return activeWatchers; } + } + static int globalDisableCount; public static void DisableAllChangeWatchers() @@ -57,9 +61,23 @@ namespace ICSharpCode.SharpDevelop w.SetWatcher(); } + public event EventHandler FileChanged; + + void OnFileChanged(EventArgs e) + { + if (FileChanged != null) { + FileChanged(this, e); + } + } + FileSystemWatcher watcher; bool wasChangedExternally = false; OpenedFile file; + bool isFileReadOnly; + + public OpenedFile File { + get { return file; } + } public FileChangeWatcher(OpenedFile file) { @@ -70,6 +88,8 @@ namespace ICSharpCode.SharpDevelop file.FileNameChanged += file_FileNameChanged; activeWatchers.Add(this); SetWatcher(); + + isFileReadOnly = (System.IO.File.GetAttributes(this.file.FileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; } void file_FileNameChanged(object sender, EventArgs e) @@ -165,6 +185,14 @@ namespace ICSharpCode.SharpDevelop LoggingService.Debug("File " + file.FileName + " was changed externally: " + e.ChangeType); if (!wasChangedExternally) { wasChangedExternally = true; + OnFileChanged(EventArgs.Empty); + + // if the file was only made readonly, don't prevent reloading it from disk + bool readOnly = (System.IO.File.GetAttributes(this.file.FileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; + if (readOnly != isFileReadOnly) + wasChangedExternally = false; + isFileReadOnly = readOnly; + if (WorkbenchSingleton.Workbench.IsActiveWindow) { // delay reloading message a bit, prevents showing two messages // when the file changes twice in quick succession; and prevents @@ -174,8 +202,6 @@ namespace ICSharpCode.SharpDevelop delegate { MainForm_Activated(this, EventArgs.Empty); } ); } } - - file.RegisteredViewContents.ForEach(vc => vc.WorkbenchWindow.RefreshStatus()); } void MainForm_Activated(object sender, EventArgs e) @@ -187,14 +213,14 @@ namespace ICSharpCode.SharpDevelop return; string fileName = file.FileName; - if (!File.Exists(fileName)) + if (!System.IO.File.Exists(fileName)) return; string message = StringParser.Parse("${res:ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.TextEditorDisplayBinding.FileAlteredMessage}", new string[,] {{"File", Path.GetFullPath(fileName)}}); if ((AutoLoadExternalChangesOption && file.IsDirty == false) || MessageService.AskQuestion(message, StringParser.Parse("${res:MainWindow.DialogName}"))) { - if (File.Exists(fileName)) { + if (System.IO.File.Exists(fileName)) { file.ReloadFromDisk(); } } else { diff --git a/src/Main/Base/Project/Src/Util/FakeXmlViewContent.cs b/src/Main/Base/Project/Src/Util/FakeXmlViewContent.cs index fa3d7f3250..46bfa4d3d3 100644 --- a/src/Main/Base/Project/Src/Util/FakeXmlViewContent.cs +++ b/src/Main/Base/Project/Src/Util/FakeXmlViewContent.cs @@ -213,5 +213,14 @@ namespace ICSharpCode.SharpDevelop.Util return null; } #endregion + + public event EventHandler IsReadOnlyChanged; + + protected void OnIsReadOnlyChanged(EventArgs e) + { + if (IsReadOnlyChanged != null) { + IsReadOnlyChanged(this, e); + } + } } } From 3c7f1b398797d8b22221a16391ce7f710192458d Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Wed, 10 Aug 2011 01:40:40 +0200 Subject: [PATCH 128/168] remove static data. --- .../Scripting/Test/Utils/MockProject.cs | 7 +- .../Debugger/Debugger.AddIn/Pads/WatchPad.cs | 93 +++++++------------ .../Debugger.AddIn/Pads/WatchPadModel.cs | 36 +------ .../Project/ICSharpCode.SharpDevelop.csproj | 4 - .../Project/Src/Project/AbstractProject.cs | 17 ++-- src/Main/Base/Project/Src/Project/IProject.cs | 5 + .../SavedData/IProjectSavedData.cs | 60 ------------ .../SavedData/ProjectSavedDataConverter.cs | 54 ----------- .../SavedData/SavedDataManager.cs | 81 ---------------- .../MockProjectForTagProvider.cs | 6 ++ 10 files changed, 59 insertions(+), 304 deletions(-) delete mode 100644 src/Main/Base/Project/Src/Services/ProjectService/SavedData/IProjectSavedData.cs delete mode 100644 src/Main/Base/Project/Src/Services/ProjectService/SavedData/ProjectSavedDataConverter.cs delete mode 100644 src/Main/Base/Project/Src/Services/ProjectService/SavedData/SavedDataManager.cs diff --git a/src/AddIns/BackendBindings/Scripting/Test/Utils/MockProject.cs b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockProject.cs index cab9118b36..e47eb2781d 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/Utils/MockProject.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockProject.cs @@ -214,6 +214,12 @@ namespace ICSharpCode.Scripting.Tests.Utils } } + public Properties ProjectSpecificProperties { + get { + throw new NotImplementedException(); + } + } + public IEnumerable<ProjectItem> GetItemsOfType(ItemType type) { throw new NotImplementedException(); @@ -310,6 +316,5 @@ namespace ICSharpCode.Scripting.Tests.Utils throw new NotImplementedException(); } #endregion - } } diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs index 299fa04985..9b6ffaed1b 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs @@ -7,6 +7,7 @@ using System.Collections.Specialized; using System.Linq; using System.Windows; using System.Windows.Input; +using System.Xml.Serialization; using Debugger; using Debugger.AddIn; @@ -17,7 +18,6 @@ using ICSharpCode.Core.Presentation; using ICSharpCode.NRefactory; using ICSharpCode.SharpDevelop.Debugging; using ICSharpCode.SharpDevelop.Project; -using ICSharpCode.SharpDevelop.Project.SavedData; using Exception = System.Exception; namespace ICSharpCode.SharpDevelop.Gui.Pads @@ -69,87 +69,60 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads // wire events that influence the items LoadSavedNodes(); ProjectService.SolutionClosed += delegate { watchList.WatchItems.Clear(); }; - ProjectService.SolutionPreferencesSaving += OnSolutionClosing; - ProjectService.ProjectRemoved += OnProjectRemoved; - ProjectService.ProjectAdded += OnProjectAdded; + ProjectService.ProjectAdded += delegate { LoadSavedNodes(); }; ProjectService.SolutionLoaded += delegate { LoadSavedNodes(); }; } #region Saved nodes - void AddNodes(Func<IProjectSavedData, bool> predicate) - { - if (predicate == null) - throw new ArgumentNullException("predicate"); - - // get nodes of current projects - List<TextNode> temp = new List<TextNode>(); - foreach (var data in SavedDataManager.GetSavedData().Where(predicate)) { - string[] v = data.SavedString.Split('|'); - - TextNode node = new TextNode(null, v[5], (SupportedLanguage)Enum.Parse(typeof(SupportedLanguage), v[7])) { ProjectName = data.ProjectName }; - temp.Add(node); - } - - // add them to watch list - temp.ForEach(d => { if (!watchList.WatchItems.Contains(d)) watchList.WatchItems.Add(d); } ); - } - void LoadSavedNodes() { - AddNodes(d => d.SavedDataType == ProjectSavedDataType.WatchVariables && - ProjectService.OpenSolution.Projects.Any(p => p.Name == d.ProjectName)); - - // remove them temporarilly - they will be saved on exit - SavedDataManager.RemoveAll(d => d.SavedDataType == ProjectSavedDataType.WatchVariables && - ProjectService.OpenSolution.Projects.Any(p => p.Name == d.ProjectName)); - } - - void OnSolutionClosing(object sender, SolutionEventArgs e) - { - foreach (var element in watchList.WatchItems) { - SavedDataManager.Add((IProjectSavedData)element); - } - } - - void OnProjectAdded(object sender, ProjectEventArgs e) - { - AddNodes(d => d.SavedDataType == ProjectSavedDataType.WatchVariables && e.Project.Name == d.ProjectName); - } - - void OnProjectRemoved(object sender, ProjectEventArgs e) - { - if (e.Project == null) + var props = GetSavedVariablesProperties(); + if (props == null) return; - // get the specific nodes from the list - List<TextNode> nodes = new List<TextNode>(); - foreach (var element in watchList.WatchItems - .OfType<TextNode>() - .Where(tn => tn.ProjectName == e.Project.Name)) { - nodes.Add(element); + foreach (var element in props.Elements) { + watchList.WatchItems.Add(new TextNode(null, element, (SupportedLanguage)Enum.Parse(typeof(SupportedLanguage), props[element]))); } - - // remove nodes from the list - nodes.ForEach(n => watchList.WatchItems.Remove(n)); } void OnWatchItemsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { if (e.Action == NotifyCollectionChangedAction.Add) { // add to saved data - var data = e.NewItems[0] as IProjectSavedData; - if (data != null) - SavedDataManager.Add(data); + var data = e.NewItems[0] as TextNode; + if (data != null) { + var props = GetSavedVariablesProperties(); + if (props == null) return; + props.Set(data.FullName, data.Language.ToString()); + } } if (e.Action == NotifyCollectionChangedAction.Remove) { // remove from saved data - var data = e.OldItems[0] as IProjectSavedData; - if (data != null) - SavedDataManager.Remove(data); + var data = e.OldItems[0] as TextNode; + if (data != null) { + var props = GetSavedVariablesProperties(); + if (props == null) return; + props.Remove(data.FullName); + } } } + + Properties GetSavedVariablesProperties() + { + if (ProjectService.CurrentProject == null) + return null; + if (ProjectService.CurrentProject.ProjectSpecificProperties == null) + return null; + + var props = ProjectService.CurrentProject.ProjectSpecificProperties.Get("watchVars") as Properties; + if (props == null) { + ProjectService.CurrentProject.ProjectSpecificProperties.Set("watchVars", new Properties()); + } + + return ProjectService.CurrentProject.ProjectSpecificProperties.Get("watchVars") as Properties; + } #endregion diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs index f599aa0e12..2357c06e6b 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs @@ -6,20 +6,16 @@ using System.Text; using Debugger.AddIn.TreeModel; using ICSharpCode.NRefactory; using ICSharpCode.SharpDevelop.Project; -using ICSharpCode.SharpDevelop.Project.SavedData; namespace ICSharpCode.SharpDevelop.Gui.Pads { - public class TextNode : TreeNode, ISetText, IProjectSavedData + public class TextNode : TreeNode, ISetText { public TextNode(TreeNode parent, string text, SupportedLanguage language) : base(parent) { this.Name = text; this.Language = language; - - if (ProjectService.CurrentProject != null) - ProjectName = ProjectService.CurrentProject.Name; } public override bool CanSetText { @@ -41,36 +37,6 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads } public SupportedLanguage Language { get; set; } - - #region IProjectSavedData implementation - - string savedString; - - public string SavedString { - get { - StringBuilder sb = new StringBuilder(); - sb.Append("ProjectName"); sb.Append('|'); sb.Append(ProjectName); sb.Append('|'); - sb.Append("ProjectSavedDataType"); sb.Append('|'); sb.Append(SavedDataType); sb.Append('|'); - sb.Append("FullName"); sb.Append('|'); sb.Append(FullName); sb.Append('|'); - sb.Append("Language"); sb.Append('|'); sb.Append(Language.ToString()); - - savedString = sb.ToString(); - return savedString; - } - set { savedString = value; } - } - - public ProjectSavedDataType SavedDataType { - get { - return ProjectSavedDataType.WatchVariables; - } - } - - public string ProjectName { - get; internal set; - } - - #endregion } public class ErrorInfoNode : ICorDebug.InfoNode diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index a294f06954..9518e0dcff 100644 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -243,9 +243,6 @@ <DependentUpon>SelectCulturePanel.xaml</DependentUpon> <SubType>Code</SubType> </Compile> - <Compile Include="Src\Services\ProjectService\SavedData\IProjectSavedData.cs" /> - <Compile Include="Src\Services\ProjectService\SavedData\ProjectSavedDataConverter.cs" /> - <Compile Include="Src\Services\ProjectService\SavedData\SavedDataManager.cs" /> <Compile Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\WebProjectOptions\WebProjectOptions.cs" /> <Compile Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\WebProjectOptions\WebProjectOptionsPanel.xaml.cs"> <DependentUpon>WebProjectOptionsPanel.xaml</DependentUpon> @@ -851,7 +848,6 @@ <Folder Include="Src\Editor\CodeCompletion" /> <Folder Include="Src\Editor\Commands" /> <Folder Include="Src\Editor\Search" /> - <Folder Include="Src\Services\ProjectService\SavedData" /> <Folder Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\WebProjectOptions" /> <Folder Include="Src\Gui\Pads\TaskList" /> <Folder Include="Src\Services\Debugger\Tooltips" /> diff --git a/src/Main/Base/Project/Src/Project/AbstractProject.cs b/src/Main/Base/Project/Src/Project/AbstractProject.cs index 9da00fb957..0fb18130a2 100644 --- a/src/Main/Base/Project/Src/Project/AbstractProject.cs +++ b/src/Main/Base/Project/Src/Project/AbstractProject.cs @@ -14,7 +14,6 @@ using ICSharpCode.Core; using ICSharpCode.SharpDevelop.Debugging; using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui.OptionPanels; -using ICSharpCode.SharpDevelop.Project.SavedData; namespace ICSharpCode.SharpDevelop.Project { @@ -89,9 +88,8 @@ namespace ICSharpCode.SharpDevelop.Project if (webOptions != null) properties.Set("WebProjectOptions", webOptions); - // other project data - logic in ProjectSavedDataConverter - properties.Set("projectSavedData_" + Name, SavedDataManager.GetSavedData() - .Where(d => d.ProjectName == Name).ToArray()); + // other project data + properties.Set("projectSavedData", ProjectSpecificProperties ?? new Properties()); return properties; } @@ -110,11 +108,8 @@ namespace ICSharpCode.SharpDevelop.Project // web project properties WebProjectsOptions.Instance.SetWebProjectOptions(Name, memento.Get("WebProjectOptions", new WebProjectOptions()) as WebProjectOptions); - // other project data - logic in ProjectSavedDataConverter - foreach(var data in memento.Get("projectSavedData_" + Name, new IProjectSavedData[0]) - .Where(d => d.ProjectName == Name)) { - SavedDataManager.Add(data); - } + // other project data + ProjectSpecificProperties = memento.Get("projectSavedData", new Properties()); } #endregion @@ -588,5 +583,9 @@ namespace ICSharpCode.SharpDevelop.Project public virtual void SaveProjectExtensions(string name, XElement element) { } + + public Properties ProjectSpecificProperties { + get; protected set; + } } } diff --git a/src/Main/Base/Project/Src/Project/IProject.cs b/src/Main/Base/Project/Src/Project/IProject.cs index aa1047dfee..421e367c19 100644 --- a/src/Main/Base/Project/Src/Project/IProject.cs +++ b/src/Main/Base/Project/Src/Project/IProject.cs @@ -225,6 +225,11 @@ namespace ICSharpCode.SharpDevelop.Project /// </summary> bool IsStartable { get; } + /// <summary> + /// Gets project specific properties. + /// </summary> + Properties ProjectSpecificProperties { get; } + /// <summary> /// Starts the project. /// </summary> diff --git a/src/Main/Base/Project/Src/Services/ProjectService/SavedData/IProjectSavedData.cs b/src/Main/Base/Project/Src/Services/ProjectService/SavedData/IProjectSavedData.cs deleted file mode 100644 index f595ed5f8a..0000000000 --- a/src/Main/Base/Project/Src/Services/ProjectService/SavedData/IProjectSavedData.cs +++ /dev/null @@ -1,60 +0,0 @@ -// 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.ComponentModel; -using System.Collections.Generic; - -namespace ICSharpCode.SharpDevelop.Project.SavedData -{ - public enum ProjectSavedDataType - { - WatchVariables - } - - /// <summary> - /// Interface for storing project specific data. - /// When implementing this, one should be carefull when and how - /// the SavedDataManager is used in order to not alter the other data. - /// </summary> - [TypeConverter(typeof(ProjectSavedDataConverter))] - public interface IProjectSavedData - { - /// <summary> - /// Saved data type. - /// </summary> - ProjectSavedDataType SavedDataType { get; } - - /// <summary> - /// Saved data. - /// <remarks>The format is: "ProjectName"|{0}|"ProjectSavedDataType"|{1}|(specific data splited by '|').</remarks> - /// </summary> - string SavedString { get; set; } - - /// <summary> - /// Gets the project name. - /// </summary> - string ProjectName { get; } - } - - /// <summary> - /// Dummy data. Used to map the saved data and exposed to addins where project specific data can exist. - /// </summary> - public sealed class DummyProjectSavedData : IProjectSavedData - { - public ProjectSavedDataType SavedDataType { get; set; } - - public string SavedString { get; set; } - - public string ProjectName { - get { - if (string.IsNullOrEmpty(SavedString)) - return string.Empty; - - string[] v = SavedString.Split('|'); - - return v[1]; - } - } - } -} diff --git a/src/Main/Base/Project/Src/Services/ProjectService/SavedData/ProjectSavedDataConverter.cs b/src/Main/Base/Project/Src/Services/ProjectService/SavedData/ProjectSavedDataConverter.cs deleted file mode 100644 index 8256ea7b43..0000000000 --- a/src/Main/Base/Project/Src/Services/ProjectService/SavedData/ProjectSavedDataConverter.cs +++ /dev/null @@ -1,54 +0,0 @@ -// 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.ComponentModel; -using System.Globalization; -using System.Text; - -namespace ICSharpCode.SharpDevelop.Project.SavedData -{ - public sealed class ProjectSavedDataConverter : TypeConverter - { - public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) - { - if (sourceType == typeof(string)) { - return true; - } else { - return base.CanConvertFrom(context, sourceType); - } - } - - public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) - { - // convert from saved data(string) to objects - if (value is string) { - string[] v = ((string)value).Split('|'); - ProjectSavedDataType type = (ProjectSavedDataType)Enum.Parse(typeof(ProjectSavedDataType), v[3]); - var data = new DummyProjectSavedData { - SavedString = (string)value, - SavedDataType = type - }; - return data; - } else { - return base.ConvertFrom(context, culture, value); - } - } - - public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) - { - // convert objects to saved data(string) - var data = value as IProjectSavedData; - if (destinationType == typeof(string) && data != null) { - switch (data.SavedDataType) { - case ProjectSavedDataType.WatchVariables: - return data.SavedString; - default: - throw new Exception("Invalid value for ProjectSavedDataType"); - } - } else { - return base.ConvertTo(context, culture, value, destinationType); - } - } - } -} diff --git a/src/Main/Base/Project/Src/Services/ProjectService/SavedData/SavedDataManager.cs b/src/Main/Base/Project/Src/Services/ProjectService/SavedData/SavedDataManager.cs deleted file mode 100644 index 2d7c6e735b..0000000000 --- a/src/Main/Base/Project/Src/Services/ProjectService/SavedData/SavedDataManager.cs +++ /dev/null @@ -1,81 +0,0 @@ -// 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.Collections.Concurrent; -using System.Collections.Generic; - -namespace ICSharpCode.SharpDevelop.Project.SavedData -{ - /// <summary> - /// Stores the project specific data. - /// </summary> - public static class SavedDataManager - { - static readonly List<IProjectSavedData> list; - static object _syncObject = new object(); - - static SavedDataManager() - { - list = new List<IProjectSavedData>(); - ProjectService.SolutionClosed += delegate { list.Clear(); }; - } - - /// <summary> - /// Gets all saved data. - /// </summary> - /// <returns></returns> - public static List<IProjectSavedData> GetSavedData() - { - return list; - } - - /// <summary> - /// Adds a new data. - /// </summary> - /// <param name="data"></param> - public static void Add(IProjectSavedData data) - { - if (data == null) - throw new ArgumentNullException("data"); - - if (!list.Contains(data)) { - lock (_syncObject) { - if (!list.Contains(data)) - list.Add(data); - } - } - } - - /// <summary> - /// Removes data. - /// </summary> - /// <param name="data"></param> - public static void Remove(IProjectSavedData data) - { - if (data == null) - throw new ArgumentNullException("data"); - - if (list.Contains(data)) { - lock (_syncObject) { - if (list.Contains(data)) - list.Remove(data); - } - } - } - - /// <summary> - /// Removes all data that satisfies a predicate. - /// </summary> - /// <param name="match"></param> - public static void RemoveAll(Predicate<IProjectSavedData> match) - { - if (match == null) - throw new ArgumentNullException("match"); - - lock (_syncObject) { - list.RemoveAll(match); - } - } - } -} diff --git a/src/Main/Base/Test/StringTagProvider/MockProjectForTagProvider.cs b/src/Main/Base/Test/StringTagProvider/MockProjectForTagProvider.cs index 3da33844bb..4fb372e7cb 100644 --- a/src/Main/Base/Test/StringTagProvider/MockProjectForTagProvider.cs +++ b/src/Main/Base/Test/StringTagProvider/MockProjectForTagProvider.cs @@ -292,5 +292,11 @@ namespace ICSharpCode.SharpDevelop.Tests.StringTagProvider { throw new NotImplementedException(); } + + public Properties ProjectSpecificProperties { + get { + throw new NotImplementedException(); + } + } } } From e3ee633cb9227d203d0900dc83ef78109d3264c5 Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Wed, 10 Aug 2011 18:37:37 +0200 Subject: [PATCH 129/168] Check if the file exits when checking for attributes. --- .../Base/Project/Src/Services/File/FileChangeWatcher.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs index b73a8a7c9f..7dd94fe26f 100644 --- a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs @@ -6,8 +6,9 @@ using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Windows.Forms; -using ICSharpCode.SharpDevelop.Gui; + using ICSharpCode.Core; +using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.SharpDevelop { @@ -89,7 +90,9 @@ namespace ICSharpCode.SharpDevelop activeWatchers.Add(this); SetWatcher(); - isFileReadOnly = (System.IO.File.GetAttributes(this.file.FileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; + if (System.IO.File.Exists(this.file.FileName)) { + isFileReadOnly = (System.IO.File.GetAttributes(this.file.FileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; + } } void file_FileNameChanged(object sender, EventArgs e) From ae5b6342f16e05dd8ecfa6628dff43ab7d5d2811 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Wed, 10 Aug 2011 17:49:42 +0200 Subject: [PATCH 130/168] add ProjectChangeWatcher for Solutions --- .../Project/ICSharpCode.SharpDevelop.csproj | 1 + .../Templates/Project/ProjectTemplate.cs | 5 +- .../Templates/Project/SolutionDescriptor.cs | 21 +-- .../Src/Project/ProjectChangeWatcher.cs | 133 ++++++++++++++++++ .../Project/Src/Project/Solution/Solution.cs | 15 +- .../Services/ProjectService/ProjectService.cs | 2 +- .../WebReferences/WebReferenceTestHelper.cs | 2 +- 7 files changed, 162 insertions(+), 17 deletions(-) create mode 100644 src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index 9518e0dcff..ba84eabbcd 100644 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -307,6 +307,7 @@ <Compile Include="Src\Project\MSBuildEngine\WorkerProcess.cs" /> <Compile Include="Src\Project\MSBuildFileProject.cs" /> <Compile Include="Src\Project\MSBuildItemWrapper.cs" /> + <Compile Include="Src\Project\ProjectChangeWatcher.cs" /> <Compile Include="Src\Project\ProjectLoadInformation.cs" /> <Compile Include="Src\Project\ProjectStartException.cs" /> <Compile Include="Src\Project\ProjectLoadException.cs" /> diff --git a/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectTemplate.cs b/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectTemplate.cs index f16e12e80f..2e8d75c0e7 100644 --- a/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectTemplate.cs +++ b/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectTemplate.cs @@ -302,9 +302,10 @@ namespace ICSharpCode.SharpDevelop.Internal.Templates } else if (projectDescriptor != null) { bool createNewSolution = projectCreateInformation.Solution == null; if (createNewSolution) { - projectCreateInformation.Solution = new Solution(); + string fileName = Path.Combine(projectCreateInformation.SolutionPath, projectCreateInformation.SolutionName + ".sln"); + projectCreateInformation.Solution = new Solution(new ProjectChangeWatcher(fileName)); projectCreateInformation.Solution.Name = projectCreateInformation.SolutionName; - projectCreateInformation.Solution.FileName = Path.Combine(projectCreateInformation.SolutionPath, projectCreateInformation.SolutionName + ".sln"); + projectCreateInformation.Solution.FileName = fileName; } IProject project = projectDescriptor.CreateProject(projectCreateInformation, this.languagename); if (project != null) { diff --git a/src/Main/Base/Project/Src/Internal/Templates/Project/SolutionDescriptor.cs b/src/Main/Base/Project/Src/Internal/Templates/Project/SolutionDescriptor.cs index 64f9691b01..f72d24ec49 100644 --- a/src/Main/Base/Project/Src/Internal/Templates/Project/SolutionDescriptor.cs +++ b/src/Main/Base/Project/Src/Internal/Templates/Project/SolutionDescriptor.cs @@ -90,15 +90,6 @@ namespace ICSharpCode.SharpDevelop.Internal.Templates public string CreateSolution(ProjectCreateInformation projectCreateInformation, string defaultLanguage) { - Solution newSolution = new Solution(); - projectCreateInformation.Solution = newSolution; - - string newSolutionName = StringParser.Parse(name, new string[,] { - {"ProjectName", projectCreateInformation.SolutionName} - }); - - newSolution.Name = newSolutionName; - string oldSolutionPath = projectCreateInformation.SolutionPath; string oldProjectPath = projectCreateInformation.ProjectBasePath; if (relativeDirectory != null && relativeDirectory.Length > 0 && relativeDirectory != ".") { @@ -115,12 +106,22 @@ namespace ICSharpCode.SharpDevelop.Internal.Templates projectCreateInformation.SolutionPath = oldSolutionPath; projectCreateInformation.ProjectBasePath = oldProjectPath; + string newSolutionName = StringParser.Parse(name, new string[,] { + {"ProjectName", projectCreateInformation.SolutionName} + }); + + string solutionLocation = Path.Combine(projectCreateInformation.SolutionPath, newSolutionName + ".sln"); + + Solution newSolution = new Solution(new ProjectChangeWatcher(solutionLocation)); + projectCreateInformation.Solution = newSolution; + + newSolution.Name = newSolutionName; + if (!mainFolder.AddContents(newSolution, projectCreateInformation, defaultLanguage, newSolution)) { newSolution.Dispose(); return null; } - string solutionLocation = Path.Combine(projectCreateInformation.SolutionPath, newSolutionName + ".sln"); // Save solution if (File.Exists(solutionLocation)) { diff --git a/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs b/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs new file mode 100644 index 0000000000..b38cce950e --- /dev/null +++ b/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs @@ -0,0 +1,133 @@ +// 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.IO; +using ICSharpCode.Core; +using ICSharpCode.SharpDevelop.Gui; + +namespace ICSharpCode.SharpDevelop.Project +{ + public sealed class ProjectChangeWatcher : IDisposable + { + FileSystemWatcher watcher; + string fileName; + bool enabled = true; + + public ProjectChangeWatcher(string fileName) + { + this.fileName = fileName; + WorkbenchSingleton.MainWindow.Activated += MainFormActivated; + } + + public void Enable() + { + enabled = true; + SetWatcher(); + } + + public void Disable() + { + enabled = false; + SetWatcher(); + } + + public void Rename(string newFileName) + { + fileName = newFileName; + } + + void SetWatcher() + { + WorkbenchSingleton.AssertMainThread(); + + if (watcher != null) { + watcher.EnableRaisingEvents = false; + } + + if (!enabled) + return; + + if (string.IsNullOrEmpty(fileName)) + return; + if (FileUtility.IsUrl(fileName)) + return; + if (!Path.IsPathRooted(fileName)) + return; + + try { + if (watcher == null) { + watcher = new FileSystemWatcher(); + if (WorkbenchSingleton.Workbench != null) + watcher.SynchronizingObject = WorkbenchSingleton.Workbench.SynchronizingObject; + watcher.Changed += OnFileChangedEvent; + watcher.Created += OnFileChangedEvent; + watcher.Renamed += OnFileChangedEvent; + } + watcher.Path = Path.GetDirectoryName(fileName); + watcher.Filter = Path.GetFileName(fileName); + watcher.EnableRaisingEvents = true; + } catch (PlatformNotSupportedException) { + if (watcher != null) { + watcher.Dispose(); + } + watcher = null; + } catch (FileNotFoundException) { + // can occur if directory was deleted externally + if (watcher != null) { + watcher.Dispose(); + } + watcher = null; + } catch (ArgumentException) { + // can occur if parent directory was deleted externally + if (watcher != null) { + watcher.Dispose(); + } + watcher = null; + } + } + + bool wasChangedExternally; + + void OnFileChangedEvent(object sender, FileSystemEventArgs e) + { + LoggingService.Debug("Solution was changed externally: " + e.ChangeType); + if (!wasChangedExternally) { + wasChangedExternally = true; + if (WorkbenchSingleton.Workbench.IsActiveWindow) { + // delay reloading message a bit, prevents showing two messages + // when the file changes twice in quick succession; and prevents + // trying to reload the file while it is still being written + WorkbenchSingleton.CallLater( + TimeSpan.FromSeconds(0.5), + delegate { MainFormActivated(this, EventArgs.Empty); } ); + } + } + } + + void MainFormActivated(object sender, EventArgs e) + { + if (wasChangedExternally) { + wasChangedExternally = false; + + if (MessageService.ShowCustomDialog( + MessageService.DefaultMessageBoxTitle, + "${res:ICSharpCode.SharpDevelop.Project.SolutionAlteredExternallyMessage}", 0, 1, + "${res:ICSharpCode.SharpDevelop.Project.ReloadSolution}", "${res:ICSharpCode.SharpDevelop.Project.KeepOldSolution}") + == 0) + { + ProjectService.LoadSolution(ProjectService.OpenSolution.FileName); + } + } + } + + bool disposed; + + public void Dispose() + { + if (!disposed) { + WorkbenchSingleton.MainWindow.Activated -= MainFormActivated; + } + disposed = true; + } + } +} diff --git a/src/Main/Base/Project/Src/Project/Solution/Solution.cs b/src/Main/Base/Project/Src/Project/Solution/Solution.cs index 5fe6e31ce2..cb33801e3a 100644 --- a/src/Main/Base/Project/Src/Project/Solution/Solution.cs +++ b/src/Main/Base/Project/Src/Project/Solution/Solution.cs @@ -25,11 +25,13 @@ namespace ICSharpCode.SharpDevelop.Project bool isLoading; string fileName = String.Empty; + ProjectChangeWatcher changeWatcher; - public Solution() + public Solution(ProjectChangeWatcher changeWatcher) { preferences = new SolutionPreferences(this); this.MSBuildProjectCollection = new Microsoft.Build.Evaluation.ProjectCollection(); + this.changeWatcher = changeWatcher; } public Microsoft.Build.Evaluation.ProjectCollection MSBuildProjectCollection { get; private set; } @@ -183,7 +185,10 @@ namespace ICSharpCode.SharpDevelop.Project return fileName; } set { + changeWatcher.Disable(); fileName = value; + changeWatcher.Rename(fileName); + changeWatcher.Enable(); } } @@ -288,8 +293,9 @@ namespace ICSharpCode.SharpDevelop.Project public void Save() { try { + changeWatcher.Disable(); Save(fileName); - return; + changeWatcher.Enable(); } catch (IOException ex) { MessageService.ShowErrorFormatted("${res:SharpDevelop.Solution.CannotSave.IOException}", fileName, ex.Message); } catch (UnauthorizedAccessException ex) { @@ -307,6 +313,8 @@ namespace ICSharpCode.SharpDevelop.Project public void Save(string fileName) { + changeWatcher.Disable(); + changeWatcher.Rename(fileName); this.fileName = fileName; string outputDirectory = Path.GetDirectoryName(fileName); if (!System.IO.Directory.Exists(outputDirectory)) { @@ -415,6 +423,7 @@ namespace ICSharpCode.SharpDevelop.Project sw.WriteLine("EndGlobal"); } + changeWatcher.Enable(); } static void SaveProjectSections(IEnumerable<ProjectSection> sections, StringBuilder projectSection) @@ -1159,7 +1168,7 @@ namespace ICSharpCode.SharpDevelop.Project public static Solution Load(string fileName) { - Solution newSolution = new Solution(); + Solution newSolution = new Solution(new ProjectChangeWatcher(fileName)); solutionBeingLoaded = newSolution; newSolution.Name = Path.GetFileNameWithoutExtension(fileName); diff --git a/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs b/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs index acbebe16b7..09ab6250ad 100644 --- a/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs +++ b/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs @@ -378,7 +378,7 @@ namespace ICSharpCode.SharpDevelop.Project return; } } - Solution solution = new Solution(); + Solution solution = new Solution(new ProjectChangeWatcher(solutionFile)); solution.Name = Path.GetFileNameWithoutExtension(fileName); IProjectBinding binding = ProjectBindingService.GetBindingPerProjectFile(fileName); IProject project; diff --git a/src/Main/Base/Test/WebReferences/WebReferenceTestHelper.cs b/src/Main/Base/Test/WebReferences/WebReferenceTestHelper.cs index b2f9bd8276..b9940b0c54 100644 --- a/src/Main/Base/Test/WebReferences/WebReferenceTestHelper.cs +++ b/src/Main/Base/Test/WebReferences/WebReferenceTestHelper.cs @@ -26,7 +26,7 @@ namespace ICSharpCode.SharpDevelop.Tests.WebReferences public TestProject(string languageName) : base(new ProjectCreateInformation { - Solution = new Solution(), + Solution = new Solution(new ProjectChangeWatcher("c:\\temp\\TestProject.csproj")), ProjectName = "TestProject", OutputProjectFileName = "c:\\temp\\TestProject.csproj" }) From 7fd8260112ce61a73488cc404c92c6b148fcc739 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Wed, 10 Aug 2011 18:19:36 +0200 Subject: [PATCH 131/168] add MockProjectChangeWatcher for Unit Tests --- .../Coverage/PartCoverSettingsTestFixture.cs | 6 ++- .../ClassWithNoRootNamespaceTestFixture.cs | 2 +- .../Test/Tree/GetProjectsTestFixture.cs | 2 +- .../Tree/MultipleTestProjectsTestFixture.cs | 2 +- ...estProjectNotAddedToTestTreeTestFixture.cs | 2 +- ...UnitTestsPadWithSolutionOpenTestFixture.cs | 2 +- ...edAfterUnitTestsTreeDisposedTestFixture.cs | 2 +- .../Test/Tree/SolutionOpenedTestFixture.cs | 2 +- ...ClassesInDifferentNamespacesTestFixture.cs | 2 +- .../UnitTesting/Test/UnitTesting.Tests.csproj | 1 + .../Test/Utils/MockCSharpProject.cs | 2 +- .../Test/Utils/MockProjectChangeWatcher.cs | 29 +++++++++++++ .../ProjectHasStartupObjectTestFixture.cs | 2 +- .../Test/Gui/AppSettingsPanelTestFixture.cs | 4 +- .../Gui/CompilingOptionsPanelTestFixture.cs | 4 +- .../Test/Parsing/ParserTestFixture.cs | 3 +- .../CreateNewPythonProjectTestFixture.cs | 6 ++- .../ProjectBindingTestFixture.cs | 5 ++- .../PythonTestFrameworkIsTestProjectTests.cs | 2 +- .../Test/Parsing/RubyParserTestFixture.cs | 3 +- .../CreateNewRubyProjectTestFixture.cs | 4 +- .../RubyLanguage/ProjectBindingTestFixture.cs | 5 ++- .../RubyTestFrameworkIsTestProjectTests.cs | 2 +- .../RubyTestRunnerResponseFileTestFixture.cs | 4 +- .../Scripting/Test/Utils/MockProject.cs | 4 +- .../Gui/DeleteWixExtensionNodeTestFixture.cs | 2 +- .../Gui/DeleteWixLibraryNodeTestFixture.cs | 2 +- .../CreateNewWixProjectObjectTestFixture.cs | 2 +- ...lderCannotBuildNonWixProjectTestFixture.cs | 5 ++- .../Test/Utils/MockProjectChangeWatcher.cs | 29 +++++++++++++ .../Test/Utils/WixBindingTestsHelper.cs | 2 +- .../WixBinding/Test/WixBinding.Tests.csproj | 1 + .../TestableInvokeInitializePackagesCmdlet.cs | 2 +- ...tableInvokeUpdateWorkingDirectoryCmdlet.cs | 2 +- .../Test/PackageManagement.Tests.csproj | 1 + .../Test/Src/EnvDTE/DTETests.cs | 2 +- .../Src/Helpers/MockProjectChangeWatcher.cs | 29 +++++++++++++ .../Test/Src/Helpers/ProjectHelper.cs | 2 +- .../Src/PackageManagementSolutionTests.cs | 4 +- .../PackageManagementConsoleViewModelTests.cs | 4 +- .../PowerShellWorkingDirectoryTests.cs | 3 +- ...nitializationScriptsOnSolutionOpenTests.cs | 2 +- .../Src/SolutionPackageRepositoryPathTests.cs | 2 +- .../Src/SolutionPackageRepositoryTests.cs | 4 +- .../Test/AbstractTestProjectTestFixture.cs | 2 +- .../Test/MockProjectChangeWatcher.cs | 29 +++++++++++++ .../Test/ResourceToolkit.Tests.csproj | 1 + .../Test/Helpers/MockProjectChangeWatcher.cs | 31 +++++++++++++ .../Test/Helpers/ProjectHelper.cs | 2 +- .../Test/TextTemplating.Tests.csproj | 1 + .../Project/ICSharpCode.SharpDevelop.csproj | 1 + .../Src/Project/IProjectChangeWatcher.cs | 16 +++++++ .../Src/Project/ProjectChangeWatcher.cs | 43 ++++++++----------- .../Project/Src/Project/Solution/Solution.cs | 4 +- .../ICSharpCode.SharpDevelop.Tests.csproj | 1 + .../Test/Utils/MockProjectChangeWatcher.cs | 29 +++++++++++++ .../WebReferences/WebReferenceTestHelper.cs | 3 +- 57 files changed, 288 insertions(+), 77 deletions(-) create mode 100644 src/AddIns/Analysis/UnitTesting/Test/Utils/MockProjectChangeWatcher.cs create mode 100644 src/AddIns/BackendBindings/WixBinding/Test/Utils/MockProjectChangeWatcher.cs create mode 100644 src/AddIns/Misc/PackageManagement/Test/Src/Helpers/MockProjectChangeWatcher.cs create mode 100644 src/AddIns/Misc/ResourceToolkit/Test/MockProjectChangeWatcher.cs create mode 100644 src/AddIns/Misc/TextTemplating/Test/Helpers/MockProjectChangeWatcher.cs create mode 100644 src/Main/Base/Project/Src/Project/IProjectChangeWatcher.cs create mode 100644 src/Main/Base/Test/Utils/MockProjectChangeWatcher.cs diff --git a/src/AddIns/Analysis/CodeCoverage/Test/Coverage/PartCoverSettingsTestFixture.cs b/src/AddIns/Analysis/CodeCoverage/Test/Coverage/PartCoverSettingsTestFixture.cs index a99b7dfe7f..fd1d19bfa9 100644 --- a/src/AddIns/Analysis/CodeCoverage/Test/Coverage/PartCoverSettingsTestFixture.cs +++ b/src/AddIns/Analysis/CodeCoverage/Test/Coverage/PartCoverSettingsTestFixture.cs @@ -1,15 +1,17 @@ // 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 ICSharpCode.SharpDevelop.Internal.Templates; using System; using System.IO; using System.Text; using System.Xml; + using ICSharpCode.CodeCoverage; using ICSharpCode.Core; +using ICSharpCode.SharpDevelop.Internal.Templates; using ICSharpCode.SharpDevelop.Project; using NUnit.Framework; +using UnitTesting.Tests.Utils; namespace ICSharpCode.CodeCoverage.Tests.Coverage { @@ -59,7 +61,7 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage { MSBuildBasedProject project = new MSBuildBasedProject( new ProjectCreateInformation { - Solution = new Solution(), + Solution = new Solution(new MockProjectChangeWatcher()), OutputProjectFileName = @"C:\temp\test.csproj", ProjectName = "test" }); diff --git a/src/AddIns/Analysis/UnitTesting/Test/Tree/ClassWithNoRootNamespaceTestFixture.cs b/src/AddIns/Analysis/UnitTesting/Test/Tree/ClassWithNoRootNamespaceTestFixture.cs index 2752da73e6..8e788c1dff 100644 --- a/src/AddIns/Analysis/UnitTesting/Test/Tree/ClassWithNoRootNamespaceTestFixture.cs +++ b/src/AddIns/Analysis/UnitTesting/Test/Tree/ClassWithNoRootNamespaceTestFixture.cs @@ -36,7 +36,7 @@ namespace UnitTesting.Tests.Tree public void SetUp() { // Create solution. - solution = new Solution(); + solution = new Solution(new MockProjectChangeWatcher()); // Create a project to display in the test tree view. project = new MockCSharpProject(); diff --git a/src/AddIns/Analysis/UnitTesting/Test/Tree/GetProjectsTestFixture.cs b/src/AddIns/Analysis/UnitTesting/Test/Tree/GetProjectsTestFixture.cs index ab20812129..14c40c6ecf 100644 --- a/src/AddIns/Analysis/UnitTesting/Test/Tree/GetProjectsTestFixture.cs +++ b/src/AddIns/Analysis/UnitTesting/Test/Tree/GetProjectsTestFixture.cs @@ -27,7 +27,7 @@ namespace UnitTesting.Tests.Tree [SetUp] public void Init() { - solution = new Solution(); + solution = new Solution(new MockProjectChangeWatcher()); project1 = new MockCSharpProject(solution, "A"); ReferenceProjectItem refProjectItem = new ReferenceProjectItem(project1); refProjectItem.Include = "NUnit.Framework"; diff --git a/src/AddIns/Analysis/UnitTesting/Test/Tree/MultipleTestProjectsTestFixture.cs b/src/AddIns/Analysis/UnitTesting/Test/Tree/MultipleTestProjectsTestFixture.cs index 16a6813017..baba5489a9 100644 --- a/src/AddIns/Analysis/UnitTesting/Test/Tree/MultipleTestProjectsTestFixture.cs +++ b/src/AddIns/Analysis/UnitTesting/Test/Tree/MultipleTestProjectsTestFixture.cs @@ -33,7 +33,7 @@ namespace UnitTesting.Tests.Tree treeView = new DummyParserServiceTestTreeView(testFrameworks); // Create a solution with two test projects. - solution = new Solution(); + solution = new Solution(new MockProjectChangeWatcher()); // Create the first test project. firstProject = new MockCSharpProject(solution, "FirstTestProject"); diff --git a/src/AddIns/Analysis/UnitTesting/Test/Tree/NonTestProjectNotAddedToTestTreeTestFixture.cs b/src/AddIns/Analysis/UnitTesting/Test/Tree/NonTestProjectNotAddedToTestTreeTestFixture.cs index 67f67ad4e7..898dd38d83 100644 --- a/src/AddIns/Analysis/UnitTesting/Test/Tree/NonTestProjectNotAddedToTestTreeTestFixture.cs +++ b/src/AddIns/Analysis/UnitTesting/Test/Tree/NonTestProjectNotAddedToTestTreeTestFixture.cs @@ -23,7 +23,7 @@ namespace UnitTesting.Tests.Tree [SetUp] public void Init() { - solution = new Solution(); + solution = new Solution(new MockProjectChangeWatcher()); testProject = new MockCSharpProject(solution, "A"); solution.Folders.Add(testProject); diff --git a/src/AddIns/Analysis/UnitTesting/Test/Tree/OpenUnitTestsPadWithSolutionOpenTestFixture.cs b/src/AddIns/Analysis/UnitTesting/Test/Tree/OpenUnitTestsPadWithSolutionOpenTestFixture.cs index 9d17c352b1..83e30381dd 100644 --- a/src/AddIns/Analysis/UnitTesting/Test/Tree/OpenUnitTestsPadWithSolutionOpenTestFixture.cs +++ b/src/AddIns/Analysis/UnitTesting/Test/Tree/OpenUnitTestsPadWithSolutionOpenTestFixture.cs @@ -23,7 +23,7 @@ namespace UnitTesting.Tests.Tree [TestFixtureSetUp] public void SetUp() { - Solution solution = new Solution(); + Solution solution = new Solution(new MockProjectChangeWatcher()); MockCSharpProject project = new MockCSharpProject(); MockProjectContent projectContent = new MockProjectContent(); projectContent.Project = project; diff --git a/src/AddIns/Analysis/UnitTesting/Test/Tree/SolutionLoadedAfterUnitTestsTreeDisposedTestFixture.cs b/src/AddIns/Analysis/UnitTesting/Test/Tree/SolutionLoadedAfterUnitTestsTreeDisposedTestFixture.cs index 9ab730eb3b..20abdc74b7 100644 --- a/src/AddIns/Analysis/UnitTesting/Test/Tree/SolutionLoadedAfterUnitTestsTreeDisposedTestFixture.cs +++ b/src/AddIns/Analysis/UnitTesting/Test/Tree/SolutionLoadedAfterUnitTestsTreeDisposedTestFixture.cs @@ -24,7 +24,7 @@ namespace UnitTesting.Tests.Tree [Test] public void SolutionLoadedAfterTreeDisposedDoesNotThrowNullReferenceException() { - Solution solution = new Solution(); + Solution solution = new Solution(new MockProjectChangeWatcher()); Assert.DoesNotThrow(delegate { pad.CallSolutionLoaded(solution); }); } } diff --git a/src/AddIns/Analysis/UnitTesting/Test/Tree/SolutionOpenedTestFixture.cs b/src/AddIns/Analysis/UnitTesting/Test/Tree/SolutionOpenedTestFixture.cs index d2186aa14a..9286080062 100644 --- a/src/AddIns/Analysis/UnitTesting/Test/Tree/SolutionOpenedTestFixture.cs +++ b/src/AddIns/Analysis/UnitTesting/Test/Tree/SolutionOpenedTestFixture.cs @@ -37,7 +37,7 @@ namespace UnitTesting.Tests.Tree testFrameworks = new MockTestFrameworksWithNUnitFrameworkSupport(); projectContent = new MockProjectContent(); pad.ProjectContent = projectContent; - solution = new Solution(); + solution = new Solution(new MockProjectChangeWatcher()); project = new MockCSharpProject(); projectContent.Project = project; projectContent.Language = LanguageProperties.None; diff --git a/src/AddIns/Analysis/UnitTesting/Test/Tree/TwoTestClassesInDifferentNamespacesTestFixture.cs b/src/AddIns/Analysis/UnitTesting/Test/Tree/TwoTestClassesInDifferentNamespacesTestFixture.cs index cbe55ee51d..5af4036fb0 100644 --- a/src/AddIns/Analysis/UnitTesting/Test/Tree/TwoTestClassesInDifferentNamespacesTestFixture.cs +++ b/src/AddIns/Analysis/UnitTesting/Test/Tree/TwoTestClassesInDifferentNamespacesTestFixture.cs @@ -37,7 +37,7 @@ namespace UnitTesting.Tests.Tree [SetUp] public void SetUp() { - solution = new Solution(); + solution = new Solution(new MockProjectChangeWatcher()); // Create a project to display in the test tree view. project = new MockCSharpProject(solution, "TestProject"); diff --git a/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj b/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj index 0f235a3bf8..96d8c4863d 100644 --- a/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj +++ b/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj @@ -159,6 +159,7 @@ <Compile Include="Utils\MockNUnitTestFramework.cs" /> <Compile Include="Utils\MockNUnitTestRunnerContext.cs" /> <Compile Include="Utils\MockProcessRunner.cs" /> + <Compile Include="Utils\MockProjectChangeWatcher.cs" /> <Compile Include="Utils\MockRegisteredTestFrameworks.cs" /> <Compile Include="Utils\MockRunTestCommandContext.cs" /> <Compile Include="Utils\MockSaveAllFilesCommand.cs" /> diff --git a/src/AddIns/Analysis/UnitTesting/Test/Utils/MockCSharpProject.cs b/src/AddIns/Analysis/UnitTesting/Test/Utils/MockCSharpProject.cs index 479b3899bc..2be850a964 100644 --- a/src/AddIns/Analysis/UnitTesting/Test/Utils/MockCSharpProject.cs +++ b/src/AddIns/Analysis/UnitTesting/Test/Utils/MockCSharpProject.cs @@ -13,7 +13,7 @@ namespace UnitTesting.Tests.Utils bool saved; public MockCSharpProject() - : this(new Solution(), "MyTests") + : this(new Solution(new MockProjectChangeWatcher()), "MyTests") { } diff --git a/src/AddIns/Analysis/UnitTesting/Test/Utils/MockProjectChangeWatcher.cs b/src/AddIns/Analysis/UnitTesting/Test/Utils/MockProjectChangeWatcher.cs new file mode 100644 index 0000000000..36565553f0 --- /dev/null +++ b/src/AddIns/Analysis/UnitTesting/Test/Utils/MockProjectChangeWatcher.cs @@ -0,0 +1,29 @@ +// 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 ICSharpCode.SharpDevelop.Project; + +namespace UnitTesting.Tests.Utils +{ + /// <summary> + /// Description of MockProjectChangeWatcher. + /// </summary> + public class MockProjectChangeWatcher : IProjectChangeWatcher + { + public MockProjectChangeWatcher() + { + } + + public void Enable() + { + } + + public void Disable() + { + } + + public void Rename(string newFileName) + { + } + } +} diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/ProjectHasStartupObjectTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/ProjectHasStartupObjectTestFixture.cs index 683317e769..2187ed3917 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/ProjectHasStartupObjectTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/ProjectHasStartupObjectTestFixture.cs @@ -71,7 +71,7 @@ namespace PythonBinding.Tests.Converter convertProjectCommand.ProjectContent = mockProjectContent; convertProjectCommand.FileServiceDefaultEncoding = Encoding.Unicode; - Solution solution = new Solution(); + Solution solution = new Solution(new MockProjectChangeWatcher()); sourceProject = new MSBuildBasedProject( new ProjectCreateInformation() { Solution = solution, diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Gui/AppSettingsPanelTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Gui/AppSettingsPanelTestFixture.cs index 0b64a468e5..8c8062b2d0 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Gui/AppSettingsPanelTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Gui/AppSettingsPanelTestFixture.cs @@ -4,6 +4,7 @@ using System; using System.IO; using System.Windows.Forms; + using ICSharpCode.Core; using ICSharpCode.PythonBinding; using ICSharpCode.SharpDevelop; @@ -11,6 +12,7 @@ using ICSharpCode.SharpDevelop.Internal.Templates; using ICSharpCode.SharpDevelop.Project; using NUnit.Framework; using PythonBinding.Tests.Utils; +using UnitTesting.Tests.Utils; namespace PythonBinding.Tests.Gui { @@ -29,7 +31,7 @@ namespace PythonBinding.Tests.Gui PythonMSBuildEngineHelper.InitMSBuildEngine(); ProjectCreateInformation info = new ProjectCreateInformation(); - info.Solution = new Solution(); + info.Solution = new Solution(new MockProjectChangeWatcher()); info.ProjectName = "Test"; info.OutputProjectFileName = @"C:\Projects\Test\Test.pyproj"; info.RootNamespace = "Test"; diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Gui/CompilingOptionsPanelTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Gui/CompilingOptionsPanelTestFixture.cs index 4de16ba5ef..018f2464a2 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Gui/CompilingOptionsPanelTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Gui/CompilingOptionsPanelTestFixture.cs @@ -4,6 +4,7 @@ using System; using System.IO; using System.Windows.Forms; + using ICSharpCode.Core; using ICSharpCode.PythonBinding; using ICSharpCode.SharpDevelop; @@ -11,6 +12,7 @@ using ICSharpCode.SharpDevelop.Internal.Templates; using ICSharpCode.SharpDevelop.Project; using NUnit.Framework; using PythonBinding.Tests.Utils; +using UnitTesting.Tests.Utils; namespace PythonBinding.Tests.Gui { @@ -29,7 +31,7 @@ namespace PythonBinding.Tests.Gui PythonMSBuildEngineHelper.InitMSBuildEngine(); ProjectCreateInformation info = new ProjectCreateInformation(); - info.Solution = new Solution(); + info.Solution = new Solution(new MockProjectChangeWatcher()); info.ProjectName = "Test"; info.OutputProjectFileName = @"C:\Projects\Test\Test.pyproj"; info.RootNamespace = "Test"; diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Parsing/ParserTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Parsing/ParserTestFixture.cs index 111a70383c..dcc601ca6b 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Parsing/ParserTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Parsing/ParserTestFixture.cs @@ -11,6 +11,7 @@ using ICSharpCode.SharpDevelop.Project; using NUnit.Framework; using PythonBinding.Tests; using PythonBinding.Tests.Utils; +using UnitTesting.Tests.Utils; namespace PythonBinding.Tests.Parsing { @@ -87,7 +88,7 @@ namespace PythonBinding.Tests.Parsing public void CanParsePythonProject() { ProjectCreateInformation createInfo = new ProjectCreateInformation(); - createInfo.Solution = new Solution(); + createInfo.Solution = new Solution(new MockProjectChangeWatcher()); createInfo.OutputProjectFileName = @"C:\projects\test.pyproj"; PythonProject project = new PythonProject(createInfo); Assert.IsTrue(parser.CanParse(project)); diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonLanguage/CreateNewPythonProjectTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonLanguage/CreateNewPythonProjectTestFixture.cs index a26c84f4de..0cef523954 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonLanguage/CreateNewPythonProjectTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonLanguage/CreateNewPythonProjectTestFixture.cs @@ -2,9 +2,10 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Linq; using System.IO; +using System.Linq; using System.Text; + using ICSharpCode.PythonBinding; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Dom; @@ -12,6 +13,7 @@ using ICSharpCode.SharpDevelop.Internal.Templates; using ICSharpCode.SharpDevelop.Project; using NUnit.Framework; using PythonBinding.Tests.Utils; +using UnitTesting.Tests.Utils; namespace PythonBinding.Tests.PythonLanguage { @@ -30,7 +32,7 @@ namespace PythonBinding.Tests.PythonLanguage PythonMSBuildEngineHelper.InitMSBuildEngine(); info = new ProjectCreateInformation(); - info.Solution = new Solution(); + info.Solution = new Solution(new MockProjectChangeWatcher()); info.ProjectName = "Test"; info.OutputProjectFileName = @"C:\Projects\Test\Test.pyproj"; info.RootNamespace = "Test"; diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonLanguage/ProjectBindingTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonLanguage/ProjectBindingTestFixture.cs index 3c4ba9027f..f39bf9d297 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonLanguage/ProjectBindingTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonLanguage/ProjectBindingTestFixture.cs @@ -3,9 +3,10 @@ using System; using ICSharpCode.PythonBinding; -using ICSharpCode.SharpDevelop.Project; using ICSharpCode.SharpDevelop.Internal.Templates; +using ICSharpCode.SharpDevelop.Project; using NUnit.Framework; +using UnitTesting.Tests.Utils; namespace PythonBinding.Tests.PythonLanguage { @@ -25,7 +26,7 @@ namespace PythonBinding.Tests.PythonLanguage ProjectCreateInformation createInfo = new ProjectCreateInformation(); createInfo.ProjectName = "Python"; createInfo.OutputProjectFileName = @"C:\Projects\Python.pyproj"; - createInfo.Solution = new Solution(); + createInfo.Solution = new Solution(new MockProjectChangeWatcher()); project = projectBinding.CreateProject(createInfo) as PythonProject; } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Testing/PythonTestFrameworkIsTestProjectTests.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Testing/PythonTestFrameworkIsTestProjectTests.cs index 52f59f7f56..b6db67dbe0 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Testing/PythonTestFrameworkIsTestProjectTests.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Testing/PythonTestFrameworkIsTestProjectTests.cs @@ -39,7 +39,7 @@ namespace PythonBinding.Tests.Testing public void IsTestProjectReturnsTrueForPythonProject() { ProjectCreateInformation createInfo = new ProjectCreateInformation(); - createInfo.Solution = new Solution(); + createInfo.Solution = new Solution(new MockProjectChangeWatcher()); createInfo.OutputProjectFileName = @"C:\projects\test.pyproj"; PythonProject project = new PythonProject(createInfo); diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Parsing/RubyParserTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Parsing/RubyParserTestFixture.cs index 33390d331a..a7689a6a48 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Parsing/RubyParserTestFixture.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Parsing/RubyParserTestFixture.cs @@ -12,6 +12,7 @@ using ICSharpCode.SharpDevelop.Project; using NUnit.Framework; using RubyBinding.Tests; using RubyBinding.Tests.Utils; +using UnitTesting.Tests.Utils; namespace RubyBinding.Tests.Parsing { @@ -87,7 +88,7 @@ namespace RubyBinding.Tests.Parsing public void CanParseRubyProject() { ProjectCreateInformation createInfo = new ProjectCreateInformation(); - createInfo.Solution = new Solution(); + createInfo.Solution = new Solution(new MockProjectChangeWatcher()); createInfo.OutputProjectFileName = @"C:\projects\test.rbproj"; RubyProject project = new RubyProject(createInfo); Assert.IsTrue(parser.CanParse(project)); diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyLanguage/CreateNewRubyProjectTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyLanguage/CreateNewRubyProjectTestFixture.cs index 37d4dd250d..8d9cea581a 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyLanguage/CreateNewRubyProjectTestFixture.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyLanguage/CreateNewRubyProjectTestFixture.cs @@ -4,6 +4,7 @@ using System; using System.IO; using System.Text; + using ICSharpCode.RubyBinding; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Dom; @@ -11,6 +12,7 @@ using ICSharpCode.SharpDevelop.Internal.Templates; using ICSharpCode.SharpDevelop.Project; using Microsoft.Build.Construction; using NUnit.Framework; +using UnitTesting.Tests.Utils; namespace RubyBinding.Tests.RubyLanguage { @@ -27,7 +29,7 @@ namespace RubyBinding.Tests.RubyLanguage public void SetUpFixture() { info = new ProjectCreateInformation(); - info.Solution = new Solution(); + info.Solution = new Solution(new MockProjectChangeWatcher()); info.ProjectName = "Test"; info.OutputProjectFileName = @"C:\Projects\Test\Test.rbproj"; info.RootNamespace = "Test"; diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyLanguage/ProjectBindingTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyLanguage/ProjectBindingTestFixture.cs index a9634a37bb..2d3dc046e7 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyLanguage/ProjectBindingTestFixture.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyLanguage/ProjectBindingTestFixture.cs @@ -3,9 +3,10 @@ using System; using ICSharpCode.RubyBinding; -using ICSharpCode.SharpDevelop.Project; using ICSharpCode.SharpDevelop.Internal.Templates; +using ICSharpCode.SharpDevelop.Project; using NUnit.Framework; +using UnitTesting.Tests.Utils; namespace RubyBinding.Tests.RubyLanguage { @@ -25,7 +26,7 @@ namespace RubyBinding.Tests.RubyLanguage ProjectCreateInformation createInfo = new ProjectCreateInformation(); createInfo.ProjectName = "Ruby"; createInfo.OutputProjectFileName = @"C:\Projects\Ruby.rbproj"; - createInfo.Solution = new Solution(); + createInfo.Solution = new Solution(new MockProjectChangeWatcher()); project = projectBinding.CreateProject(createInfo) as RubyProject; } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestFrameworkIsTestProjectTests.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestFrameworkIsTestProjectTests.cs index cce2c38ddb..4e442df413 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestFrameworkIsTestProjectTests.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestFrameworkIsTestProjectTests.cs @@ -39,7 +39,7 @@ namespace RubyBinding.Tests.Testing public void IsTestProjectWhenPassedRubyPythonProjectReturnsTrue() { ProjectCreateInformation createInfo = new ProjectCreateInformation(); - createInfo.Solution = new Solution(); + createInfo.Solution = new Solution(new MockProjectChangeWatcher()); createInfo.OutputProjectFileName = @"C:\projects\test.rbproj"; RubyProject project = new RubyProject(createInfo); diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestRunnerResponseFileTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestRunnerResponseFileTestFixture.cs index 8c3140f379..311de2b041 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestRunnerResponseFileTestFixture.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestRunnerResponseFileTestFixture.cs @@ -67,7 +67,7 @@ namespace RubyBinding.Tests.Testing [Test] public void WriteTestsAddsFileNamesForFileInProject() { - MockCSharpProject project = new MockCSharpProject(new Solution(), "mytests"); + MockCSharpProject project = new MockCSharpProject(new Solution(new MockProjectChangeWatcher()), "mytests"); FileProjectItem item = new FileProjectItem(project, ItemType.Compile); item.FileName = @"c:\projects\mytests\myTests.rb"; @@ -83,7 +83,7 @@ namespace RubyBinding.Tests.Testing [Test] public void WriteTestsDoesNotThrowNullReferenceExceptionWhenNonFileProjectItemInProject() { - MockCSharpProject project = new MockCSharpProject(new Solution(), "mytests"); + MockCSharpProject project = new MockCSharpProject(new Solution(new MockProjectChangeWatcher()), "mytests"); WebReferenceUrl webRef = new WebReferenceUrl(project); webRef.Include = "test"; ProjectService.AddProjectItem(project, webRef); diff --git a/src/AddIns/BackendBindings/Scripting/Test/Utils/MockProject.cs b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockProject.cs index e47eb2781d..15941e676e 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/Utils/MockProject.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockProject.cs @@ -4,10 +4,12 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; + using ICSharpCode.Core; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Internal.Templates; using ICSharpCode.SharpDevelop.Project; +using UnitTesting.Tests.Utils; namespace ICSharpCode.Scripting.Tests.Utils { @@ -169,7 +171,7 @@ namespace ICSharpCode.Scripting.Tests.Utils } public Solution ParentSolution { - get { return new Solution(); } + get { return new Solution(new MockProjectChangeWatcher()); } } public string TypeGuid { diff --git a/src/AddIns/BackendBindings/WixBinding/Test/Gui/DeleteWixExtensionNodeTestFixture.cs b/src/AddIns/BackendBindings/WixBinding/Test/Gui/DeleteWixExtensionNodeTestFixture.cs index c64faf184b..fea6c09e58 100644 --- a/src/AddIns/BackendBindings/WixBinding/Test/Gui/DeleteWixExtensionNodeTestFixture.cs +++ b/src/AddIns/BackendBindings/WixBinding/Test/Gui/DeleteWixExtensionNodeTestFixture.cs @@ -29,7 +29,7 @@ namespace WixBinding.Tests.Gui // create the project. ProjectCreateInformation info = new ProjectCreateInformation(); - info.Solution = new Solution(); + info.Solution = new Solution(new MockProjectChangeWatcher()); info.ProjectName = "Test"; info.OutputProjectFileName = @"C:\Projects\Test\Test.wixproj"; diff --git a/src/AddIns/BackendBindings/WixBinding/Test/Gui/DeleteWixLibraryNodeTestFixture.cs b/src/AddIns/BackendBindings/WixBinding/Test/Gui/DeleteWixLibraryNodeTestFixture.cs index 62bd097cff..950f8c80e2 100644 --- a/src/AddIns/BackendBindings/WixBinding/Test/Gui/DeleteWixLibraryNodeTestFixture.cs +++ b/src/AddIns/BackendBindings/WixBinding/Test/Gui/DeleteWixLibraryNodeTestFixture.cs @@ -29,7 +29,7 @@ namespace WixBinding.Tests.Gui // create the project. ProjectCreateInformation info = new ProjectCreateInformation(); - info.Solution = new Solution(); + info.Solution = new Solution(new MockProjectChangeWatcher()); info.ProjectName = "Test"; info.OutputProjectFileName = @"C:\Projects\Test\Test.wixproj"; diff --git a/src/AddIns/BackendBindings/WixBinding/Test/Project/CreateNewWixProjectObjectTestFixture.cs b/src/AddIns/BackendBindings/WixBinding/Test/Project/CreateNewWixProjectObjectTestFixture.cs index 2d6c0f1d4b..a908ac2652 100644 --- a/src/AddIns/BackendBindings/WixBinding/Test/Project/CreateNewWixProjectObjectTestFixture.cs +++ b/src/AddIns/BackendBindings/WixBinding/Test/Project/CreateNewWixProjectObjectTestFixture.cs @@ -29,7 +29,7 @@ namespace WixBinding.Tests.Project WixBindingTestsHelper.InitMSBuildEngine(); info = new ProjectCreateInformation(); - info.Solution = new Solution(); + info.Solution = new Solution(new MockProjectChangeWatcher()); info.ProjectName = "Test"; info.OutputProjectFileName = @"C:\Projects\Test\Test.wixproj"; info.RootNamespace = "Test"; diff --git a/src/AddIns/BackendBindings/WixBinding/Test/Project/WixBuilderCannotBuildNonWixProjectTestFixture.cs b/src/AddIns/BackendBindings/WixBinding/Test/Project/WixBuilderCannotBuildNonWixProjectTestFixture.cs index 82808c344f..7108a00d9c 100644 --- a/src/AddIns/BackendBindings/WixBinding/Test/Project/WixBuilderCannotBuildNonWixProjectTestFixture.cs +++ b/src/AddIns/BackendBindings/WixBinding/Test/Project/WixBuilderCannotBuildNonWixProjectTestFixture.cs @@ -1,11 +1,12 @@ // 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 ICSharpCode.SharpDevelop.Internal.Templates; using System; +using ICSharpCode.SharpDevelop.Internal.Templates; using ICSharpCode.SharpDevelop.Project; using ICSharpCode.WixBinding; using NUnit.Framework; +using WixBinding.Tests.Utils; namespace WixBinding.Tests.Project { @@ -25,7 +26,7 @@ namespace WixBinding.Tests.Project project = new MSBuildBasedProject( new ProjectCreateInformation { OutputProjectFileName = @"C:\Projects\Test\test.csproj", - Solution = new Solution(), + Solution = new Solution(new MockProjectChangeWatcher()), ProjectName = "test" } ); diff --git a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockProjectChangeWatcher.cs b/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockProjectChangeWatcher.cs new file mode 100644 index 0000000000..f7472a8fe3 --- /dev/null +++ b/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockProjectChangeWatcher.cs @@ -0,0 +1,29 @@ +// 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 ICSharpCode.SharpDevelop.Project; + +namespace WixBinding.Tests.Utils +{ + /// <summary> + /// Description of MockProjectChangeWatcher. + /// </summary> + public class MockProjectChangeWatcher : IProjectChangeWatcher + { + public MockProjectChangeWatcher() + { + } + + public void Enable() + { + } + + public void Disable() + { + } + + public void Rename(string newFileName) + { + } + } +} diff --git a/src/AddIns/BackendBindings/WixBinding/Test/Utils/WixBindingTestsHelper.cs b/src/AddIns/BackendBindings/WixBinding/Test/Utils/WixBindingTestsHelper.cs index ec4b8ef96f..2eeb495b0c 100644 --- a/src/AddIns/BackendBindings/WixBinding/Test/Utils/WixBindingTestsHelper.cs +++ b/src/AddIns/BackendBindings/WixBinding/Test/Utils/WixBindingTestsHelper.cs @@ -43,7 +43,7 @@ namespace WixBinding.Tests.Utils // create the project. ProjectCreateInformation info = new ProjectCreateInformation(); - info.Solution = new Solution(); + info.Solution = new Solution(new MockProjectChangeWatcher()); info.ProjectName = "Test"; info.OutputProjectFileName = @"C:\Projects\Test\Test.wixproj"; diff --git a/src/AddIns/BackendBindings/WixBinding/Test/WixBinding.Tests.csproj b/src/AddIns/BackendBindings/WixBinding/Test/WixBinding.Tests.csproj index c3ae0f9c80..ed06a26541 100644 --- a/src/AddIns/BackendBindings/WixBinding/Test/WixBinding.Tests.csproj +++ b/src/AddIns/BackendBindings/WixBinding/Test/WixBinding.Tests.csproj @@ -112,6 +112,7 @@ <Compile Include="Utils\MockFormsDesignerView.cs" /> <Compile Include="Utils\MockOpenedFile.cs" /> <Compile Include="Utils\MockPackageFilesViewFactory.cs" /> + <Compile Include="Utils\MockProjectChangeWatcher.cs" /> <Compile Include="Utils\MockTextEditor.cs" /> <Compile Include="Utils\MockTextEditorOptions.cs" /> <Compile Include="Utils\MockTextFileReader.cs" /> diff --git a/src/AddIns/Misc/PackageManagement/Cmdlets/Test/Helpers/TestableInvokeInitializePackagesCmdlet.cs b/src/AddIns/Misc/PackageManagement/Cmdlets/Test/Helpers/TestableInvokeInitializePackagesCmdlet.cs index 1d6f757a54..2c069bf4ea 100644 --- a/src/AddIns/Misc/PackageManagement/Cmdlets/Test/Helpers/TestableInvokeInitializePackagesCmdlet.cs +++ b/src/AddIns/Misc/PackageManagement/Cmdlets/Test/Helpers/TestableInvokeInitializePackagesCmdlet.cs @@ -38,7 +38,7 @@ namespace PackageManagement.Cmdlets.Tests.Helpers this.FakePackageManagementConsoleHost = consoleHost; this.FakeCmdletTerminatingError = cmdletTerminatingError; - Solution = new Solution(); + Solution = new Solution(new MockProjectChangeWatcher()); Solution.FileName = @"d:\projects\MyProject\MyProject.sln"; projectService.OpenSolution = Solution; } diff --git a/src/AddIns/Misc/PackageManagement/Cmdlets/Test/Helpers/TestableInvokeUpdateWorkingDirectoryCmdlet.cs b/src/AddIns/Misc/PackageManagement/Cmdlets/Test/Helpers/TestableInvokeUpdateWorkingDirectoryCmdlet.cs index 05e066b289..f3c74a7668 100644 --- a/src/AddIns/Misc/PackageManagement/Cmdlets/Test/Helpers/TestableInvokeUpdateWorkingDirectoryCmdlet.cs +++ b/src/AddIns/Misc/PackageManagement/Cmdlets/Test/Helpers/TestableInvokeUpdateWorkingDirectoryCmdlet.cs @@ -34,7 +34,7 @@ namespace PackageManagement.Cmdlets.Tests.Helpers this.FakePackageManagementConsoleHost = consoleHost; this.FakeCmdletTerminatingError = cmdletTerminatingError; - Solution = new Solution(); + Solution = new Solution(new MockProjectChangeWatcher()); Solution.FileName = @"d:\projects\MyProject\MyProject.sln"; projectService.OpenSolution = Solution; } diff --git a/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj b/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj index adac04ca1b..a7b2f14065 100644 --- a/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj +++ b/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj @@ -73,6 +73,7 @@ <Compile Include="Src\Helpers\FakeSolutionPackageRepositoryFactory.cs" /> <Compile Include="Src\Helpers\FakeUpdatePackageActions.cs" /> <Compile Include="Src\Helpers\FakeUpdatePackageActionsFactory.cs" /> + <Compile Include="Src\Helpers\MockProjectChangeWatcher.cs" /> <Compile Include="Src\Helpers\SelectedProjectCollectionAssert.cs" /> <Compile Include="Src\Helpers\TestableInstalledPackageViewModel.cs" /> <Compile Include="Src\Helpers\TestablePackageFromRepository.cs" /> diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/DTETests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/DTETests.cs index 26e8095538..6b62ed6443 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/DTETests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/DTETests.cs @@ -20,7 +20,7 @@ namespace PackageManagement.Tests.EnvDTE void CreateDTE() { fakeProjectService = new FakePackageManagementProjectService(); - fakeProjectService.OpenSolution = new SD.Solution(); + fakeProjectService.OpenSolution = new SD.Solution(new MockProjectChangeWatcher()); fakeFileService = new FakeFileService(null); dte = new DTE(fakeProjectService, fakeFileService); } diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/MockProjectChangeWatcher.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/MockProjectChangeWatcher.cs new file mode 100644 index 0000000000..c761364c96 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/MockProjectChangeWatcher.cs @@ -0,0 +1,29 @@ +// 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 ICSharpCode.SharpDevelop.Project; + +namespace PackageManagement.Tests.Helpers +{ + /// <summary> + /// Description of MockProjectChangeWatcher. + /// </summary> + public class MockProjectChangeWatcher : IProjectChangeWatcher + { + public MockProjectChangeWatcher() + { + } + + public void Enable() + { + } + + public void Disable() + { + } + + public void Rename(string newFileName) + { + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/ProjectHelper.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/ProjectHelper.cs index 8b3320aed4..924a5dc878 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/ProjectHelper.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/ProjectHelper.cs @@ -16,7 +16,7 @@ namespace PackageManagement.Tests.Helpers public static TestableProject CreateTestProject(string name) { - Solution solution = new Solution(); + Solution solution = new Solution(new MockProjectChangeWatcher()); solution.FileName = @"d:\projects\Test\TestSolution.sln"; ProjectCreateInformation createInfo = new ProjectCreateInformation(); diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementSolutionTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementSolutionTests.cs index d1f4fcd5d3..b83e41443e 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementSolutionTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementSolutionTests.cs @@ -326,7 +326,7 @@ namespace PackageManagement.Tests public void IsOpen_SolutionIsOpen_ReturnsTrue() { CreateSolution(); - fakeProjectService.OpenSolution = new Solution(); + fakeProjectService.OpenSolution = new Solution(new MockProjectChangeWatcher()); bool open = solution.IsOpen; @@ -374,7 +374,7 @@ namespace PackageManagement.Tests public void FileName_SolutionHasFileName_ReturnsSolutionFileName() { CreateSolution(); - var solution = new Solution(); + var solution = new Solution(new MockProjectChangeWatcher()); string expectedFileName = @"d:\projects\myproject\Project.sln"; solution.FileName = expectedFileName; fakeProjectService.OpenSolution = solution; diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleViewModelTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleViewModelTests.cs index 9d5f3a8733..dd1146b9a0 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleViewModelTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleViewModelTests.cs @@ -136,7 +136,7 @@ namespace PackageManagement.Tests.Scripting Solution CreateViewModelWithEmptySolutionOpen() { CreateConsoleHost(); - var solution = new Solution(); + var solution = new Solution(new MockProjectChangeWatcher()); projectService = new FakePackageManagementProjectService(); projectService.OpenSolution = solution; CreateViewModel(consoleHost, projectService); @@ -299,7 +299,7 @@ namespace PackageManagement.Tests.Scripting { CreateConsoleHost(); projectService = new FakePackageManagementProjectService(); - var solution = new Solution(); + var solution = new Solution(new MockProjectChangeWatcher()); projectService.OpenSolution = solution; Assert.DoesNotThrow(() => CreateViewModel(consoleHost, projectService)); diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PowerShellWorkingDirectoryTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PowerShellWorkingDirectoryTests.cs index 1e1d8eea47..a43b122091 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PowerShellWorkingDirectoryTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PowerShellWorkingDirectoryTests.cs @@ -6,6 +6,7 @@ using ICSharpCode.PackageManagement.Design; using ICSharpCode.PackageManagement.Scripting; using ICSharpCode.SharpDevelop.Project; using NUnit.Framework; +using PackageManagement.Tests.Helpers; namespace PackageManagement.Tests.Scripting { @@ -38,7 +39,7 @@ namespace PackageManagement.Tests.Scripting public void GetWorkingDirectory_SolutionOpen_ReturnsSolutionDirectory() { CreateWorkingDirectory(); - var solution = new Solution(); + var solution = new Solution(new MockProjectChangeWatcher()); solution.FileName = @"d:\projects\MyProject\myproject.sln"; fakeProjectService.OpenSolution = solution; diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/RunPackageInitializationScriptsOnSolutionOpenTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/RunPackageInitializationScriptsOnSolutionOpenTests.cs index 5ca7c75a59..41a89b3fa9 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/RunPackageInitializationScriptsOnSolutionOpenTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/RunPackageInitializationScriptsOnSolutionOpenTests.cs @@ -34,7 +34,7 @@ namespace PackageManagement.Tests.Scripting Solution OpenSolution() { - var solution = new Solution(); + var solution = new Solution(new MockProjectChangeWatcher()); solution.FileName = @"d:\projects\myprojects\test.csproj"; fakeProjectService.FireSolutionLoadedEvent(solution); return solution; diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/SolutionPackageRepositoryPathTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/SolutionPackageRepositoryPathTests.cs index 2139b984a4..c3cb4d39a4 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/SolutionPackageRepositoryPathTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/SolutionPackageRepositoryPathTests.cs @@ -36,7 +36,7 @@ namespace PackageManagement.Tests void CreateSolution(string fileName) { - solution = new Solution(); + solution = new Solution(new MockProjectChangeWatcher()); solution.FileName = fileName; } diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/SolutionPackageRepositoryTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/SolutionPackageRepositoryTests.cs index b4707a48b6..f9aa4b4edb 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/SolutionPackageRepositoryTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/SolutionPackageRepositoryTests.cs @@ -25,7 +25,7 @@ namespace PackageManagement.Tests void CreateSolution(string fileName) { - solution = new Solution(); + solution = new Solution(new MockProjectChangeWatcher()); solution.FileName = fileName; } @@ -54,7 +54,7 @@ namespace PackageManagement.Tests void CreateRepository() { - solution = new Solution(); + solution = new Solution(new MockProjectChangeWatcher()); solution.FileName = @"d:\projects\test\myproject\myproject.sln"; CreateRepository(solution); } diff --git a/src/AddIns/Misc/ResourceToolkit/Test/AbstractTestProjectTestFixture.cs b/src/AddIns/Misc/ResourceToolkit/Test/AbstractTestProjectTestFixture.cs index 7c7e079934..aece48bd1a 100644 --- a/src/AddIns/Misc/ResourceToolkit/Test/AbstractTestProjectTestFixture.cs +++ b/src/AddIns/Misc/ResourceToolkit/Test/AbstractTestProjectTestFixture.cs @@ -45,7 +45,7 @@ namespace ResourceToolkit.Tests { TestHelper.InitializeParsers(); - this.solution = new Solution(); + this.solution = new Solution(new MockProjectChangeWatcher()); this.project = this.CreateTestProject(); ProjectService.CurrentProject = this.project; diff --git a/src/AddIns/Misc/ResourceToolkit/Test/MockProjectChangeWatcher.cs b/src/AddIns/Misc/ResourceToolkit/Test/MockProjectChangeWatcher.cs new file mode 100644 index 0000000000..1dc7adfe4a --- /dev/null +++ b/src/AddIns/Misc/ResourceToolkit/Test/MockProjectChangeWatcher.cs @@ -0,0 +1,29 @@ +// 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 ICSharpCode.SharpDevelop.Project; + +namespace ResourceToolkit.Tests +{ + /// <summary> + /// Description of MockProjectChangeWatcher. + /// </summary> + public class MockProjectChangeWatcher : IProjectChangeWatcher + { + public MockProjectChangeWatcher() + { + } + + public void Enable() + { + } + + public void Disable() + { + } + + public void Rename(string newFileName) + { + } + } +} diff --git a/src/AddIns/Misc/ResourceToolkit/Test/ResourceToolkit.Tests.csproj b/src/AddIns/Misc/ResourceToolkit/Test/ResourceToolkit.Tests.csproj index 794d4c7e89..819e0b887d 100644 --- a/src/AddIns/Misc/ResourceToolkit/Test/ResourceToolkit.Tests.csproj +++ b/src/AddIns/Misc/ResourceToolkit/Test/ResourceToolkit.Tests.csproj @@ -57,6 +57,7 @@ <Compile Include="CSharp\ICSharpCodeCoreNRefactoryResourceResolverTests.cs" /> <Compile Include="CSharp\ICSharpCodeCoreResourceResolverTests.cs" /> <Compile Include="CSharp\SpecificResourceReferenceFinderTests.cs" /> + <Compile Include="MockProjectChangeWatcher.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="TestHelper.cs" /> <Compile Include="VBNet\AbstractVBNetResourceResolverTestFixture.cs" /> diff --git a/src/AddIns/Misc/TextTemplating/Test/Helpers/MockProjectChangeWatcher.cs b/src/AddIns/Misc/TextTemplating/Test/Helpers/MockProjectChangeWatcher.cs new file mode 100644 index 0000000000..0b71bdbd75 --- /dev/null +++ b/src/AddIns/Misc/TextTemplating/Test/Helpers/MockProjectChangeWatcher.cs @@ -0,0 +1,31 @@ +// 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 ICSharpCode.SharpDevelop.Internal.Templates; +using ICSharpCode.SharpDevelop.Project; + +namespace TextTemplating.Tests.Helpers +{ + /// <summary> + /// Description of MockProjectChangeWatcher. + /// </summary> + public class MockProjectChangeWatcher : IProjectChangeWatcher + { + public MockProjectChangeWatcher() + { + } + + public void Enable() + { + } + + public void Disable() + { + } + + public void Rename(string newFileName) + { + } + } +} diff --git a/src/AddIns/Misc/TextTemplating/Test/Helpers/ProjectHelper.cs b/src/AddIns/Misc/TextTemplating/Test/Helpers/ProjectHelper.cs index 6953c55801..5a24640348 100644 --- a/src/AddIns/Misc/TextTemplating/Test/Helpers/ProjectHelper.cs +++ b/src/AddIns/Misc/TextTemplating/Test/Helpers/ProjectHelper.cs @@ -12,7 +12,7 @@ namespace TextTemplating.Tests.Helpers public static TestableProject CreateProject() { var info = new ProjectCreateInformation(); - info.Solution = new Solution(); + info.Solution = new Solution(new MockProjectChangeWatcher()); info.OutputProjectFileName = @"d:\projects\MyProject\MyProject.csproj"; info.ProjectName = "MyProject"; return new TestableProject(info); diff --git a/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj b/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj index 7d158774b0..955c1ee3ba 100644 --- a/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj +++ b/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj @@ -62,6 +62,7 @@ <Compile Include="Helpers\FakeTextTemplatingFilePreprocessor.cs" /> <Compile Include="Helpers\FakeTextTemplatingHost.cs" /> <Compile Include="Helpers\FakeTextTemplatingFileGenerator.cs" /> + <Compile Include="Helpers\MockProjectChangeWatcher.cs" /> <Compile Include="Helpers\ProjectHelper.cs" /> <Compile Include="Helpers\TestableFileProjectItem.cs" /> <Compile Include="Helpers\TestableProject.cs" /> diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index ba84eabbcd..6b74d18cae 100644 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -297,6 +297,7 @@ </Compile> <Compile Include="Src\Project\Converter\UpgradeViewContent.cs" /> <Compile Include="Src\Project\IBuildFeedbackSink.cs" /> + <Compile Include="Src\Project\IProjectChangeWatcher.cs" /> <Compile Include="Src\Project\IProjectItemBackendStore.cs" /> <Compile Include="Src\Project\MSBuildEngine\MSBuildAdditionalLogger.cs" /> <Compile Include="Src\Project\MSBuildEngine\MSBuildLoggerFilter.cs" /> diff --git a/src/Main/Base/Project/Src/Project/IProjectChangeWatcher.cs b/src/Main/Base/Project/Src/Project/IProjectChangeWatcher.cs new file mode 100644 index 0000000000..4664b15584 --- /dev/null +++ b/src/Main/Base/Project/Src/Project/IProjectChangeWatcher.cs @@ -0,0 +1,16 @@ +// 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.IO; +using ICSharpCode.Core; +using ICSharpCode.SharpDevelop.Gui; + +namespace ICSharpCode.SharpDevelop.Project +{ + public interface IProjectChangeWatcher + { + void Enable(); + void Disable(); + void Rename(string newFileName); + } +} diff --git a/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs b/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs index b38cce950e..0f758d8e8b 100644 --- a/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs @@ -7,53 +7,53 @@ using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.SharpDevelop.Project { - public sealed class ProjectChangeWatcher : IDisposable + public sealed class ProjectChangeWatcher : IDisposable, IProjectChangeWatcher { FileSystemWatcher watcher; string fileName; bool enabled = true; - + public ProjectChangeWatcher(string fileName) { this.fileName = fileName; WorkbenchSingleton.MainWindow.Activated += MainFormActivated; } - + public void Enable() { enabled = true; SetWatcher(); } - + public void Disable() { enabled = false; SetWatcher(); } - + public void Rename(string newFileName) { fileName = newFileName; } - + void SetWatcher() { WorkbenchSingleton.AssertMainThread(); - + if (watcher != null) { watcher.EnableRaisingEvents = false; } - + if (!enabled) return; - + if (string.IsNullOrEmpty(fileName)) return; if (FileUtility.IsUrl(fileName)) return; if (!Path.IsPathRooted(fileName)) return; - + try { if (watcher == null) { watcher = new FileSystemWatcher(); @@ -85,9 +85,9 @@ namespace ICSharpCode.SharpDevelop.Project watcher = null; } } - + bool wasChangedExternally; - + void OnFileChangedEvent(object sender, FileSystemEventArgs e) { LoggingService.Debug("Solution was changed externally: " + e.ChangeType); @@ -97,31 +97,24 @@ namespace ICSharpCode.SharpDevelop.Project // delay reloading message a bit, prevents showing two messages // when the file changes twice in quick succession; and prevents // trying to reload the file while it is still being written - WorkbenchSingleton.CallLater( - TimeSpan.FromSeconds(0.5), - delegate { MainFormActivated(this, EventArgs.Empty); } ); + WorkbenchSingleton.CallLater(TimeSpan.FromSeconds(0.5), delegate { MainFormActivated(this, EventArgs.Empty); }); } } } - + void MainFormActivated(object sender, EventArgs e) { if (wasChangedExternally) { wasChangedExternally = false; - - if (MessageService.ShowCustomDialog( - MessageService.DefaultMessageBoxTitle, - "${res:ICSharpCode.SharpDevelop.Project.SolutionAlteredExternallyMessage}", 0, 1, - "${res:ICSharpCode.SharpDevelop.Project.ReloadSolution}", "${res:ICSharpCode.SharpDevelop.Project.KeepOldSolution}") - == 0) - { + + if (MessageService.ShowCustomDialog(MessageService.DefaultMessageBoxTitle, "${res:ICSharpCode.SharpDevelop.Project.SolutionAlteredExternallyMessage}", 0, 1, "${res:ICSharpCode.SharpDevelop.Project.ReloadSolution}", "${res:ICSharpCode.SharpDevelop.Project.KeepOldSolution}") == 0) { ProjectService.LoadSolution(ProjectService.OpenSolution.FileName); } } } - + bool disposed; - + public void Dispose() { if (!disposed) { diff --git a/src/Main/Base/Project/Src/Project/Solution/Solution.cs b/src/Main/Base/Project/Src/Project/Solution/Solution.cs index cb33801e3a..6e397913d1 100644 --- a/src/Main/Base/Project/Src/Project/Solution/Solution.cs +++ b/src/Main/Base/Project/Src/Project/Solution/Solution.cs @@ -25,9 +25,9 @@ namespace ICSharpCode.SharpDevelop.Project bool isLoading; string fileName = String.Empty; - ProjectChangeWatcher changeWatcher; + IProjectChangeWatcher changeWatcher; - public Solution(ProjectChangeWatcher changeWatcher) + public Solution(IProjectChangeWatcher changeWatcher) { preferences = new SolutionPreferences(this); this.MSBuildProjectCollection = new Microsoft.Build.Evaluation.ProjectCollection(); diff --git a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj index 9563deb35d..cc498e2fbd 100644 --- a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj +++ b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj @@ -100,6 +100,7 @@ <Compile Include="Utils\MockMethod.cs" /> <Compile Include="Utils\MockOpenedFile.cs" /> <Compile Include="Utils\MockProject.cs" /> + <Compile Include="Utils\MockProjectChangeWatcher.cs" /> <Compile Include="Utils\MockProperty.cs" /> <Compile Include="Utils\MockSite.cs" /> <Compile Include="Utils\MockTextMarker.cs" /> diff --git a/src/Main/Base/Test/Utils/MockProjectChangeWatcher.cs b/src/Main/Base/Test/Utils/MockProjectChangeWatcher.cs new file mode 100644 index 0000000000..72bb1c6a66 --- /dev/null +++ b/src/Main/Base/Test/Utils/MockProjectChangeWatcher.cs @@ -0,0 +1,29 @@ +// 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 ICSharpCode.SharpDevelop.Project; + +namespace ICSharpCode.SharpDevelop.Tests.Utils +{ + /// <summary> + /// Description of MockProjectChangeWatcher. + /// </summary> + public class MockProjectChangeWatcher : IProjectChangeWatcher + { + public MockProjectChangeWatcher() + { + } + + public void Enable() + { + } + + public void Disable() + { + } + + public void Rename(string newFileName) + { + } + } +} diff --git a/src/Main/Base/Test/WebReferences/WebReferenceTestHelper.cs b/src/Main/Base/Test/WebReferences/WebReferenceTestHelper.cs index b9940b0c54..fc770ba91c 100644 --- a/src/Main/Base/Test/WebReferences/WebReferenceTestHelper.cs +++ b/src/Main/Base/Test/WebReferences/WebReferenceTestHelper.cs @@ -6,6 +6,7 @@ using System; using System.Collections.Generic; using ICSharpCode.Core; using ICSharpCode.SharpDevelop.Project; +using ICSharpCode.SharpDevelop.Tests.Utils; namespace ICSharpCode.SharpDevelop.Tests.WebReferences { @@ -26,7 +27,7 @@ namespace ICSharpCode.SharpDevelop.Tests.WebReferences public TestProject(string languageName) : base(new ProjectCreateInformation { - Solution = new Solution(new ProjectChangeWatcher("c:\\temp\\TestProject.csproj")), + Solution = new Solution(new MockProjectChangeWatcher()), ProjectName = "TestProject", OutputProjectFileName = "c:\\temp\\TestProject.csproj" }) From d7ef8df8d3282b8f99eff8caee17c9282a403ae1 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Wed, 10 Aug 2011 18:55:55 +0200 Subject: [PATCH 132/168] added ProjectChangeWatcher for projects --- src/Main/Base/Project/Src/Project/AbstractProject.cs | 12 +++++++++++- .../Base/Project/Src/Project/MSBuildBasedProject.cs | 3 +++ .../Base/Project/Src/Project/ProjectChangeWatcher.cs | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/Main/Base/Project/Src/Project/AbstractProject.cs b/src/Main/Base/Project/Src/Project/AbstractProject.cs index 0fb18130a2..4961d433e5 100644 --- a/src/Main/Base/Project/Src/Project/AbstractProject.cs +++ b/src/Main/Base/Project/Src/Project/AbstractProject.cs @@ -53,7 +53,7 @@ namespace ICSharpCode.SharpDevelop.Project public virtual void Dispose() { WorkbenchSingleton.AssertMainThread(); - + watcher.Dispose(); isDisposed = true; if (Disposed != null) { Disposed(this, EventArgs.Empty); @@ -116,6 +116,7 @@ namespace ICSharpCode.SharpDevelop.Project #region Filename / Directory volatile string fileName; string cachedDirectoryName; + protected ProjectChangeWatcher watcher; /// <summary> /// Gets the name of the project file. @@ -134,6 +135,15 @@ namespace ICSharpCode.SharpDevelop.Project WorkbenchSingleton.AssertMainThread(); Debug.Assert(FileUtility.IsUrl(value) || Path.IsPathRooted(value)); + if (watcher == null) { + watcher = new ProjectChangeWatcher(value); + watcher.Enable(); + } else { + watcher.Disable(); + watcher.Rename(value); + watcher.Enable(); + } + lock (SyncRoot) { // locking still required for Directory fileName = value; cachedDirectoryName = null; diff --git a/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs b/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs index b7985e0dca..a7b0ecb9c1 100644 --- a/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs +++ b/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs @@ -1246,6 +1246,8 @@ namespace ICSharpCode.SharpDevelop.Project #region Saving public override void Save(string fileName) { + watcher.Disable(); + watcher.Rename(fileName); lock (SyncRoot) { // we need the global lock - if the file is being renamed, // MSBuild will update the global project collection @@ -1258,6 +1260,7 @@ namespace ICSharpCode.SharpDevelop.Project } } } + watcher.Enable(); FileUtility.RaiseFileSaved(new FileNameEventArgs(fileName)); } #endregion diff --git a/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs b/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs index 0f758d8e8b..6c15024fd5 100644 --- a/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs @@ -86,7 +86,7 @@ namespace ICSharpCode.SharpDevelop.Project } } - bool wasChangedExternally; + static bool wasChangedExternally; void OnFileChangedEvent(object sender, FileSystemEventArgs e) { From dbab6f09480402907b0c9340c8b04d8dd833cb04 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Wed, 10 Aug 2011 19:08:52 +0200 Subject: [PATCH 133/168] updated resource files --- SharpDevelop.Tests.sln | 588 +++++++++++----------- data/resources/StringResources.de.resx | 16 +- data/resources/StringResources.es-mx.resx | 96 +++- data/resources/StringResources.es.resx | 96 +++- data/resources/StringResources.fr.resx | 23 +- data/resources/StringResources.it.resx | 25 +- data/resources/StringResources.nl.resx | 28 +- data/resources/StringResources.no.resx | 15 +- data/resources/StringResources.pt-br.resx | 15 +- data/resources/StringResources.resx | 424 +--------------- data/resources/StringResources.ru.resx | 12 +- data/resources/StringResources.tr.resx | 15 +- 12 files changed, 552 insertions(+), 801 deletions(-) diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln index e4d01390ef..809621cea4 100644 --- a/SharpDevelop.Tests.sln +++ b/SharpDevelop.Tests.sln @@ -6,64 +6,64 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-5 ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "src\Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "src\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "src\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "src\Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -72,25 +72,25 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{ ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "src\Libraries\Mono.Cecil\Mono.Cecil.csproj", "{D68133BD-1E63-496E-9EDE-4FBDBF77B486}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" @@ -98,276 +98,274 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "src\Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "src\Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "src\Libraries\Mono.Cecil\Mono.Cecil.csproj", "{D68133BD-1E63-496E-9EDE-4FBDBF77B486}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{39327899-ED91-4F7F-988C-4FE4E17C014D}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - {1152B71B-3C05-4598-B20D-823B5D40559E} = {1152B71B-3C05-4598-B20D-823B5D40559E} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" - ProjectSection(SolutionItems) = postProject - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Irony", "src\AddIns\Misc\Reports\Irony\Irony.csproj", "{D81F5C91-D7DB-46E5-BC99-49488FB6814C}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SettingsEditor", "src\AddIns\DisplayBindings\SettingsEditor\Project\SettingsEditor.csproj", "{85226AFB-CE71-4851-9A75-7EEC663A8E8A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PackageManagement", "PackageManagement", "{C6410CCE-C29F-4BF4-94BF-545DE1CBB144}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.PowerShell", "src\AddIns\Misc\PackageManagement\PowerShell\Project\PackageManagement.PowerShell.csproj", "{A406803B-C584-43A3-BCEE-A0BB3132CB5F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Cmdlets.Tests", "src\AddIns\Misc\PackageManagement\Cmdlets\Test\PackageManagement.Cmdlets.Tests.csproj", "{11115C83-3DB1-431F-8B98-59040359238D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Cmdlets", "src\AddIns\Misc\PackageManagement\Cmdlets\Project\PackageManagement.Cmdlets.csproj", "{E0A5E80A-003B-4335-A9DC-A76E2E46D38D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Tests", "src\AddIns\Misc\PackageManagement\Test\PackageManagement.Tests.csproj", "{56E98A01-8398-4A08-9578-C7337711A52B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement", "src\AddIns\Misc\PackageManagement\Project\PackageManagement.csproj", "{AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ILSpyAddIn", "src\AddIns\Misc\ILSpyAddIn\ILSpyAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextTemplating.Tests", "src\AddIns\Misc\TextTemplating\Test\TextTemplating.Tests.csproj", "{5186325C-DD7F-4246-9BE7-3F384EFBF5A6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextTemplating", "src\AddIns\Misc\TextTemplating\Project\TextTemplating.csproj", "{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -377,249 +375,251 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\ {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring.Tests", "src\AddIns\Misc\SharpRefactoring\Test\SharpRefactoring.Tests.csproj", "{A4AA51DE-A096-47EC-AA5D-D91457834ECF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextTemplating", "src\AddIns\Misc\TextTemplating\Project\TextTemplating.csproj", "{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "src\AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextTemplating.Tests", "src\AddIns\Misc\TextTemplating\Test\TextTemplating.Tests.csproj", "{5186325C-DD7F-4246-9BE7-3F384EFBF5A6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "src\AddIns\Debugger\Debugger.Tests\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ILSpyAddIn", "src\AddIns\Misc\ILSpyAddIn\ILSpyAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PackageManagement", "PackageManagement", "{C6410CCE-C29F-4BF4-94BF-545DE1CBB144}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting.Tests", "src\AddIns\BackendBindings\Scripting\Test\ICSharpCode.Scripting.Tests.csproj", "{85C09AD8-183B-403A-869A-7226646218A9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement", "src\AddIns\Misc\PackageManagement\Project\PackageManagement.csproj", "{AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Tests", "src\AddIns\Misc\PackageManagement\Test\PackageManagement.Tests.csproj", "{56E98A01-8398-4A08-9578-C7337711A52B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Cmdlets", "src\AddIns\Misc\PackageManagement\Cmdlets\Project\PackageManagement.Cmdlets.csproj", "{E0A5E80A-003B-4335-A9DC-A76E2E46D38D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Cmdlets.Tests", "src\AddIns\Misc\PackageManagement\Cmdlets\Test\PackageManagement.Cmdlets.Tests.csproj", "{11115C83-3DB1-431F-8B98-59040359238D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.PowerShell", "src\AddIns\Misc\PackageManagement\PowerShell\Project\PackageManagement.PowerShell.csproj", "{A406803B-C584-43A3-BCEE-A0BB3132CB5F}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "src\AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SettingsEditor", "src\AddIns\DisplayBindings\SettingsEditor\Project\SettingsEditor.csproj", "{85226AFB-CE71-4851-9A75-7EEC663A8E8A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "src\AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "src\AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "src\AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "src\AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding.Tests", "src\AddIns\BackendBindings\CSharpBinding\Tests\CSharpBinding.Tests.csproj", "{52006F3F-3156-45DE-89D8-C4813694FBA4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "src\AddIns\BackendBindings\Ruby\RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "src\AddIns\Analysis\Profiler\Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Irony", "src\AddIns\Misc\Reports\Irony\Irony.csproj", "{D81F5C91-D7DB-46E5-BC99-49488FB6814C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "src\AddIns\Analysis\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Test\ICSharpCode.Reports.Core.Test\ICSharpCode.Reports.Core.Test.csproj", "{E16B73CA-3603-47EE-915E-6F8B2A07304B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{F208FF4F-E5D8-41D5-A7C7-B463976F156E}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + {1152B71B-3C05-4598-B20D-823B5D40559E} = {1152B71B-3C05-4598-B20D-823B5D40559E} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -1403,135 +1403,135 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {D68133BD-1E63-496E-9EDE-4FBDBF77B486} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7DB80259-24D4-46C3-A024-53FF1987733D} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {870115DD-960A-4406-A6B9-600BCDC36A03} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {D68133BD-1E63-496E-9EDE-4FBDBF77B486} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} - {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} + {870115DD-960A-4406-A6B9-600BCDC36A03} = {E5A0F4D8-37FD-4A30-BEB0-4409DC4E0865} {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} - {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} - {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} - {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} - {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} - {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} - {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} - {85226AFB-CE71-4851-9A75-7EEC663A8E8A} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {5186325C-DD7F-4246-9BE7-3F384EFBF5A6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} - {56E98A01-8398-4A08-9578-C7337711A52B} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} - {E0A5E80A-003B-4335-A9DC-A76E2E46D38D} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} - {11115C83-3DB1-431F-8B98-59040359238D} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} - {A406803B-C584-43A3-BCEE-A0BB3132CB5F} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} - {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} - {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} - {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} - {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} - {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} - {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F208FF4F-E5D8-41D5-A7C7-B463976F156E} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {D81F5C91-D7DB-46E5-BC99-49488FB6814C} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} {85C09AD8-183B-403A-869A-7226646218A9} = {E0646C25-36F2-4524-969F-FA621353AB94} - {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {388E7B64-0393-4EB4-A3E3-5C474F141853} = {E0646C25-36F2-4524-969F-FA621353AB94} + {F390DA70-1FE1-4715-81A0-389AB010C130} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} + {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} + {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} + {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} + {50A89267-A28B-4DF3-8E62-912E005143B8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {52006F3F-3156-45DE-89D8-C4813694FBA4} = {E0646C25-36F2-4524-969F-FA621353AB94} + {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} + {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {068F9531-5D29-49E0-980E-59982A3A0469} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {D81F5C91-D7DB-46E5-BC99-49488FB6814C} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {83F15BA7-8478-4664-81BB-A82F146D88B3} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} - {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {F208FF4F-E5D8-41D5-A7C7-B463976F156E} + {01DF0475-0CB2-4E81-971B-BADC60CDE3A5} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {833904AB-3CD4-4071-9B48-5770E44685AA} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {A4AA51DE-A096-47EC-AA5D-D91457834ECF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {5186325C-DD7F-4246-9BE7-3F384EFBF5A6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {A406803B-C584-43A3-BCEE-A0BB3132CB5F} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} + {11115C83-3DB1-431F-8B98-59040359238D} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} + {E0A5E80A-003B-4335-A9DC-A76E2E46D38D} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} + {56E98A01-8398-4A08-9578-C7337711A52B} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} + {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1} = {C6410CCE-C29F-4BF4-94BF-545DE1CBB144} + {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {85226AFB-CE71-4851-9A75-7EEC663A8E8A} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {F355E45F-F54F-4B42-8916-9A633A392789} + {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} + {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} + {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} + {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} + {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {F355E45F-F54F-4B42-8916-9A633A392789} EndGlobalSection EndGlobal diff --git a/data/resources/StringResources.de.resx b/data/resources/StringResources.de.resx index 76e3769c3e..fe78bc0ace 100644 --- a/data/resources/StringResources.de.resx +++ b/data/resources/StringResources.de.resx @@ -780,9 +780,6 @@ Optional können Sie auch ein Arbeitsverzeichnis und Kommandozeilen-Argumente an <data name="AddIns.Subversion.ItemRemovedFromIgnoreList" xml:space="preserve"> <value>'{0}' wurde von der Ignorier-Liste entfernt.</value> </data> - <data name="AddIns.Subversion.KeepOldSolution" xml:space="preserve"> - <value>Alte Projektmappe offen halten</value> - </data> <data name="AddIns.Subversion.Lock" xml:space="preserve"> <value>Datei sperren</value> </data> @@ -810,13 +807,6 @@ Optional können Sie auch ein Arbeitsverzeichnis und Kommandozeilen-Argumente an <data name="AddIns.Subversion.Options.UseHistoryDisplayBinding" xml:space="preserve"> <value>Zeige &Vergangenheits-Tab für Dateien unter Versionskontrolle</value> </data> - <data name="AddIns.Subversion.ReloadSolution" xml:space="preserve"> - <value>Projektmappe neu laden</value> - </data> - <data name="AddIns.Subversion.ReloadSolutionAfterProjectChanges" xml:space="preserve"> - <value>SharpDevelop hat festgestellt, dass die Versionskontroll-Operation Projektdateien verändert hat. -Sie sollten die Projektmappe neu laden.</value> - </data> <data name="AddIns.Subversion.Relocate" xml:space="preserve"> <value>Umplatzieren</value> </data> @@ -4803,6 +4793,12 @@ Grund: Der Wert zu dem zurückgesetzt werden soll ist ungültig weil sich eine a <data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve"> <value>Lade ${Filename}...</value> </data> + <data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve"> + <value>Alte Projektmappe offen halten</value> + </data> + <data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve"> + <value>Projektmappe neu laden</value> + </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeCompilerVersionLabel" xml:space="preserve"> <value>Neue &Compilerversion:</value> </data> diff --git a/data/resources/StringResources.es-mx.resx b/data/resources/StringResources.es-mx.resx index eb0f16db1a..3c09be7212 100644 --- a/data/resources/StringResources.es-mx.resx +++ b/data/resources/StringResources.es-mx.resx @@ -781,9 +781,6 @@ Opcionalmente puede especificar un directorio de trabajo y argumentos de línea <data name="AddIns.Subversion.ItemRemovedFromIgnoreList" xml:space="preserve"> <value>'{0}' fue quitado de la lista de ignorados.</value> </data> - <data name="AddIns.Subversion.KeepOldSolution" xml:space="preserve"> - <value>Mantener abierta la solución antigua</value> - </data> <data name="AddIns.Subversion.Lock" xml:space="preserve"> <value>Bloquear</value> </data> @@ -811,13 +808,6 @@ Opcionalmente puede especificar un directorio de trabajo y argumentos de línea <data name="AddIns.Subversion.Options.UseHistoryDisplayBinding" xml:space="preserve"> <value>Mostrar el tab &historial para archivos de control de versión</value> </data> - <data name="AddIns.Subversion.ReloadSolution" xml:space="preserve"> - <value>Recargar solución</value> - </data> - <data name="AddIns.Subversion.ReloadSolutionAfterProjectChanges" xml:space="preserve"> - <value>SharpDevelop detectó que la operación de control de versión cambió archivos de proyecto. -Debería recargar la solución.</value> - </data> <data name="AddIns.Subversion.Relocate" xml:space="preserve"> <value>Realojar</value> </data> @@ -2420,6 +2410,12 @@ Adicionalmente, se le puede asignar a una extensión un conjunto de reglas defin <data name="Dialog.Options.IDEOptions.Debugging" xml:space="preserve"> <value>Depuración</value> </data> + <data name="Dialog.Options.IDEOptions.Debugging.Exceptions" xml:space="preserve"> + <value>Excepciones</value> + </data> + <data name="Dialog.Options.IDEOptions.Debugging.PauseOnHandledExceptions" xml:space="preserve"> + <value>Pausar en excepciones controladas</value> + </data> <data name="Dialog.Options.IDEOptions.Debugging.Stepping" xml:space="preserve"> <value>Paso por Instrucciones</value> </data> @@ -2618,6 +2614,15 @@ Adicionalmente, se le puede asignar a una extensión un conjunto de reglas defin <data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve"> <value>Apariencia</value> </data> + <data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.ExpandReferences" xml:space="preserve"> + <value>Expandir referencias de proyectos (reflect references)</value> + </data> + <data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.GroupBoxHeader" xml:space="preserve"> + <value>Opciones de Interfaz Gráfica de Sharp Develop</value> + </data> + <data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.PanelName" xml:space="preserve"> + <value>Opciones de Interfaz Gráfica de Sharp Develop</value> + </data> <data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve"> <value>Etiquetas de comentarios</value> </data> @@ -4801,6 +4806,12 @@ Utilice solamente letras, dígitos, espacio, '.' ó '_'.</value> <data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve"> <value>Cargando ${Filename}...</value> </data> + <data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve"> + <value>Mantener abierta la solución antigua</value> + </data> + <data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve"> + <value>Recargar solución</value> + </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeCompilerVersionLabel" xml:space="preserve"> <value>Convertir &proyectos seleccionados a:</value> </data> @@ -5335,6 +5346,24 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <data name="ICSharpCode.XmlEditor.XslOutputView.Title" xml:space="preserve"> <value>Salida XSLT</value> </data> + <data name="ILSpyAddIn.ILSpyDoesNotExist" xml:space="preserve"> + <value>ILSpy no se pudo encontrar en la ubicación especificada, o SharpDevelop no tiene suficientes permisos para acceder a dicha ubicación.</value> + </data> + <data name="ILSpyAddIn.ILSpyPathNotSet" xml:space="preserve"> + <value>La ruta a ILSpy aun no ha sido establecida.</value> + </data> + <data name="ILSpyAddIn.OpenILSpyCommand" xml:space="preserve"> + <value>Abrir ILSpy</value> + </data> + <data name="ILSpyAddIn.SetILSpyPathDialog.ILSpyInfo" xml:space="preserve"> + <value>Esta caracteristica requiere ILSpy. Si aun no la tiene, puede descargarlo gratuitamente aquí:</value> + </data> + <data name="ILSpyAddIn.SetILSpyPathDialog.PathToILSpyExe" xml:space="preserve"> + <value>Ruta completa a ILSpy.exe</value> + </data> + <data name="ILSpyAddIn.SetILSpyPathDialogTitle" xml:space="preserve"> + <value>Establecer ruta a ILSpy</value> + </data> <data name="Internal.ExternalTool.CantLoadToolConfigWarining" xml:space="preserve"> <value>No se pudo cargar el archivo de configuración de herramientas externas.</value> </data> @@ -5503,6 +5532,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <data name="MainWindow.Windows.Debug.CallStack.Language" xml:space="preserve"> <value>Lenguaje</value> </data> + <data name="MainWindow.Windows.Debug.CallStack.LineString" xml:space="preserve"> + <value>Línea</value> + </data> + <data name="MainWindow.Windows.Debug.CallStack.Module" xml:space="preserve"> + <value>Módulo</value> + </data> <data name="MainWindow.Windows.Debug.CallStack.ShowArgumentNames" xml:space="preserve"> <value>Mostrar nombres de argumentos</value> </data> @@ -5512,6 +5547,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <data name="MainWindow.Windows.Debug.CallStack.ShowExternalMethods" xml:space="preserve"> <value>Mostrar métodos externos</value> </data> + <data name="MainWindow.Windows.Debug.CallStack.ShowLineNumber" xml:space="preserve"> + <value>Mostrar número de línea</value> + </data> + <data name="MainWindow.Windows.Debug.CallStack.ShowModuleNames" xml:space="preserve"> + <value>Mostrar nombres de módulos</value> + </data> <data name="MainWindow.Windows.Debug.Conditional.Breakpoints.Ask" xml:space="preserve"> <value>Preguntar</value> </data> @@ -5659,6 +5700,39 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <data name="MainWindow.Windows.Debug.LocalVariables.StaticMembers" xml:space="preserve"> <value>Miembros Estáticos (Static)</value> </data> + <data name="MainWindow.Windows.Debug.MemoryPad" xml:space="preserve"> + <value>Memoria</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.AddressNotFound" xml:space="preserve"> + <value>La dirección {0} no se encontró!</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.ByteSize" xml:space="preserve"> + <value>Mostrar tamaño en bytes:</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.JumpTo" xml:space="preserve"> + <value>Saltar a la dirección:</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.NextAddress" xml:space="preserve"> + <value>Siguientes direcciones virtuales</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.NoMappings" xml:space="preserve"> + <value>No hay mapeo para direcciones de memoria!</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.NotDebuggingOrProcessRunning" xml:space="preserve"> + <value>Ninguna depuración o proceso esta en ejecución!</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.PreviousAddress" xml:space="preserve"> + <value>Anteriores direcciones virtuales</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.ReadingFromFormat" xml:space="preserve"> + <value>Leyendo desde {0} hasta {1} - tamaño {2}.</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.Refresh" xml:space="preserve"> + <value>Actualizar direcciones actuales</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.UnableToReadFormat" xml:space="preserve"> + <value>Incapaz de leer la dirección {0} de tamaño {1}.</value> + </data> <data name="MainWindow.Windows.Debug.Modules" xml:space="preserve"> <value>Módulos cargados</value> </data> @@ -5987,7 +6061,7 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <value>Copiar ruta/nombre de archivo</value> </data> <data name="OpenFileTabEventHandler.FileContainingFolderInExplorer" xml:space="preserve"> - <value>Abrir Carpeta Contenedora en el Explorador</value> + <value>Abrir carpeta contenedora en el Explorador</value> </data> <data name="ProjectBrowser.Toolbar.CollapseAll" xml:space="preserve"> <value>Colapsar todos los nodos</value> diff --git a/data/resources/StringResources.es.resx b/data/resources/StringResources.es.resx index 322dd03f4a..af43ffb47c 100644 --- a/data/resources/StringResources.es.resx +++ b/data/resources/StringResources.es.resx @@ -780,9 +780,6 @@ Opcionalmente puede especificar un directorio de trabajo y argumentos de línea <data name="AddIns.Subversion.ItemRemovedFromIgnoreList" xml:space="preserve"> <value>'{0}' fue quitado de la lista de ignorados.</value> </data> - <data name="AddIns.Subversion.KeepOldSolution" xml:space="preserve"> - <value>Mantener abierta la solución antigua</value> - </data> <data name="AddIns.Subversion.Lock" xml:space="preserve"> <value>Bloquear</value> </data> @@ -810,13 +807,6 @@ Opcionalmente puede especificar un directorio de trabajo y argumentos de línea <data name="AddIns.Subversion.Options.UseHistoryDisplayBinding" xml:space="preserve"> <value>Mostrar el tab &historial para archivos de control de versión</value> </data> - <data name="AddIns.Subversion.ReloadSolution" xml:space="preserve"> - <value>Recargar solución</value> - </data> - <data name="AddIns.Subversion.ReloadSolutionAfterProjectChanges" xml:space="preserve"> - <value>SharpDevelop ha detectado que la operación de control de versión ha cambiado archivos de proyecto. -Debería recargar la solución.</value> - </data> <data name="AddIns.Subversion.Relocate" xml:space="preserve"> <value>Realojar</value> </data> @@ -2417,6 +2407,12 @@ Adicionalmente, se le puede asignar a una extensión un conjunto de reglas defin <data name="Dialog.Options.IDEOptions.Debugging" xml:space="preserve"> <value>Depuración</value> </data> + <data name="Dialog.Options.IDEOptions.Debugging.Exceptions" xml:space="preserve"> + <value>Excepciones</value> + </data> + <data name="Dialog.Options.IDEOptions.Debugging.PauseOnHandledExceptions" xml:space="preserve"> + <value>Pausar en excepciones controladas</value> + </data> <data name="Dialog.Options.IDEOptions.Debugging.Stepping" xml:space="preserve"> <value>Paso por Instrucciones</value> </data> @@ -2615,6 +2611,15 @@ Adicionalmente, se le puede asignar a una extensión un conjunto de reglas defin <data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve"> <value>Apariencia</value> </data> + <data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.ExpandReferences" xml:space="preserve"> + <value>Expandir referencias de proyectos (reflect references)</value> + </data> + <data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.GroupBoxHeader" xml:space="preserve"> + <value>Opciones de Interfaz Gráfica de Sharp Develop</value> + </data> + <data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.PanelName" xml:space="preserve"> + <value>Opciones de Interfaz Gráfica de Sharp Develop</value> + </data> <data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve"> <value>Etiquetas de Comentarios</value> </data> @@ -4804,6 +4809,12 @@ Solamente letras, dígitos, espacio, '.' o '_' son permitidos.</value> <data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve"> <value>Cargando ${Filename}...</value> </data> + <data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve"> + <value>Mantener abierta la solución antigua</value> + </data> + <data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve"> + <value>Recargar solución</value> + </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeCompilerVersionLabel" xml:space="preserve"> <value>Convertir &proyectos seleccionados a:</value> </data> @@ -5339,6 +5350,24 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <data name="ICSharpCode.XmlEditor.XslOutputView.Title" xml:space="preserve"> <value>Salida XSLT</value> </data> + <data name="ILSpyAddIn.ILSpyDoesNotExist" xml:space="preserve"> + <value>ILSpy no se pudo encontrar en la ubicación especificada, o SharpDevelop no tiene suficientes permisos para acceder a dicha ubicación.</value> + </data> + <data name="ILSpyAddIn.ILSpyPathNotSet" xml:space="preserve"> + <value>La ruta a ILSpy aun no ha sido establecida.</value> + </data> + <data name="ILSpyAddIn.OpenILSpyCommand" xml:space="preserve"> + <value>Abrir ILSpy</value> + </data> + <data name="ILSpyAddIn.SetILSpyPathDialog.ILSpyInfo" xml:space="preserve"> + <value>Esta caracteristica requiere ILSpy. Si aun no la tiene, puede descargarlo gratuitamente aquí:</value> + </data> + <data name="ILSpyAddIn.SetILSpyPathDialog.PathToILSpyExe" xml:space="preserve"> + <value>Ruta completa a ILSpy.exe</value> + </data> + <data name="ILSpyAddIn.SetILSpyPathDialogTitle" xml:space="preserve"> + <value>Establecer ruta a ILSpy</value> + </data> <data name="Internal.ExternalTool.CantLoadToolConfigWarining" xml:space="preserve"> <value>No se puede cargar archivo de configuración de herramientas externas.</value> </data> @@ -5507,6 +5536,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <data name="MainWindow.Windows.Debug.CallStack.Language" xml:space="preserve"> <value>Lenguaje</value> </data> + <data name="MainWindow.Windows.Debug.CallStack.LineString" xml:space="preserve"> + <value>Línea</value> + </data> + <data name="MainWindow.Windows.Debug.CallStack.Module" xml:space="preserve"> + <value>Módulo</value> + </data> <data name="MainWindow.Windows.Debug.CallStack.ShowArgumentNames" xml:space="preserve"> <value>Mostrar los nombres de los argumentos</value> </data> @@ -5516,6 +5551,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <data name="MainWindow.Windows.Debug.CallStack.ShowExternalMethods" xml:space="preserve"> <value>Mostrar métodos externos</value> </data> + <data name="MainWindow.Windows.Debug.CallStack.ShowLineNumber" xml:space="preserve"> + <value>Mostrar número de línea</value> + </data> + <data name="MainWindow.Windows.Debug.CallStack.ShowModuleNames" xml:space="preserve"> + <value>Mostrar nombres de módulos</value> + </data> <data name="MainWindow.Windows.Debug.Conditional.Breakpoints.Ask" xml:space="preserve"> <value>Preguntar</value> </data> @@ -5663,6 +5704,39 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <data name="MainWindow.Windows.Debug.LocalVariables.StaticMembers" xml:space="preserve"> <value>Miembros Estáticos (Static)</value> </data> + <data name="MainWindow.Windows.Debug.MemoryPad" xml:space="preserve"> + <value>Memoria</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.AddressNotFound" xml:space="preserve"> + <value>La dirección {0} no se encontró!</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.ByteSize" xml:space="preserve"> + <value>Mostrar tamaño en bytes:</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.JumpTo" xml:space="preserve"> + <value>Saltar a la dirección:</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.NextAddress" xml:space="preserve"> + <value>Siguientes direcciones virtuales</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.NoMappings" xml:space="preserve"> + <value>No hay mapeo para direcciones de memoria!</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.NotDebuggingOrProcessRunning" xml:space="preserve"> + <value>Ninguna depuración o proceso esta en ejecución!</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.PreviousAddress" xml:space="preserve"> + <value>Anteriores direcciones virtuales</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.ReadingFromFormat" xml:space="preserve"> + <value>Leyendo desde {0} hasta {1} - tamaño {2}.</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.Refresh" xml:space="preserve"> + <value>Actualizar direcciones actuales</value> + </data> + <data name="MainWindow.Windows.Debug.MemoryPad.UnableToReadFormat" xml:space="preserve"> + <value>Incapaz de leer la dirección {0} de tamaño {1}.</value> + </data> <data name="MainWindow.Windows.Debug.Modules" xml:space="preserve"> <value>Módulos Cargados</value> </data> @@ -5991,7 +6065,7 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <value>Copiar ruta/nombre del archivo</value> </data> <data name="OpenFileTabEventHandler.FileContainingFolderInExplorer" xml:space="preserve"> - <value>Abrir Carpeta Contenedora en el Explorador</value> + <value>Abrir carpeta contenedora en el Explorador</value> </data> <data name="ProjectBrowser.Toolbar.CollapseAll" xml:space="preserve"> <value>Colapsar todos los nodos</value> diff --git a/data/resources/StringResources.fr.resx b/data/resources/StringResources.fr.resx index 805186f327..44730e6f67 100644 --- a/data/resources/StringResources.fr.resx +++ b/data/resources/StringResources.fr.resx @@ -779,9 +779,6 @@ En option, vous pouvez spécifer un répertoire de travail et des arguments en l <data name="AddIns.Subversion.ItemRemovedFromIgnoreList" xml:space="preserve"> <value>'{0}' a été supprimé de la liste d'ignorés.</value> </data> - <data name="AddIns.Subversion.KeepOldSolution" xml:space="preserve"> - <value>Laisser la solution précédente ouverte</value> - </data> <data name="AddIns.Subversion.Lock" xml:space="preserve"> <value>Poser un verrou</value> </data> @@ -809,12 +806,6 @@ En option, vous pouvez spécifer un répertoire de travail et des arguments en l <data name="AddIns.Subversion.Options.UseHistoryDisplayBinding" xml:space="preserve"> <value>Afficher l'&historique des fichiers sous contrôle de version</value> </data> - <data name="AddIns.Subversion.ReloadSolution" xml:space="preserve"> - <value>Recharger la solution</value> - </data> - <data name="AddIns.Subversion.ReloadSolutionAfterProjectChanges" xml:space="preserve"> - <value>SharpDevelop a detecté que l'opération de contrôle de version a changée des fichiers du projet. Rechargez la solution.</value> - </data> <data name="AddIns.Subversion.Relocate" xml:space="preserve"> <value>Relocaliser</value> </data> @@ -2412,6 +2403,12 @@ Voulez-vous ajouter le nouveau fichier au projet ${CurrentProjectName}?</value> <data name="Dialog.Options.IDEOptions.Debugging" xml:space="preserve"> <value>Déboguage en cours</value> </data> + <data name="Dialog.Options.IDEOptions.Debugging.Exceptions" xml:space="preserve"> + <value>Exceptions</value> + </data> + <data name="Dialog.Options.IDEOptions.Debugging.PauseOnHandledExceptions" xml:space="preserve"> + <value>Pause lors des exceptions gérées</value> + </data> <data name="Dialog.Options.IDEOptions.Debugging.Stepping" xml:space="preserve"> <value>Pas-à-pas en cours</value> </data> @@ -2976,7 +2973,7 @@ Un changement des arrangements est visible lors du prochain relancement de #Deve <value>Processeur Itanium 64bits</value> </data> <data name="Dialog.ProjectOptions.Build.TargetCPU.x64" xml:space="preserve"> - <value>Processeur AMD 64bits</value> + <value>Processeur 64 bits (x64)</value> </data> <data name="Dialog.ProjectOptions.Build.TargetCPU.x86" xml:space="preserve"> <value>Processeur 32bits compatible Intel</value> @@ -4806,6 +4803,12 @@ Utilisez seulement des lettres, chiffres, espace, '.' ou '_'.</value> <data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve"> <value>Chargement de ${Filename}...</value> </data> + <data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve"> + <value>Laisser la solution précédente ouverte</value> + </data> + <data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve"> + <value>Recharger la solution</value> + </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeCompilerVersionLabel" xml:space="preserve"> <value>Convertir les projets sélectionnés vers:</value> </data> diff --git a/data/resources/StringResources.it.resx b/data/resources/StringResources.it.resx index 99f769d45c..edd2019d6a 100644 --- a/data/resources/StringResources.it.resx +++ b/data/resources/StringResources.it.resx @@ -779,9 +779,6 @@ Installare il .NET Framework SDK per utilizzare il sistema di help.</value> <data name="AddIns.Subversion.ItemRemovedFromIgnoreList" xml:space="preserve"> <value>'{0}' è stato rimosso dalla lista degli elementi da ignorare.</value> </data> - <data name="AddIns.Subversion.KeepOldSolution" xml:space="preserve"> - <value>Mantieni aperta la vecchia soluzione</value> - </data> <data name="AddIns.Subversion.Lock" xml:space="preserve"> <value>Acquisisci blocco</value> </data> @@ -809,12 +806,6 @@ Installare il .NET Framework SDK per utilizzare il sistema di help.</value> <data name="AddIns.Subversion.Options.UseHistoryDisplayBinding" xml:space="preserve"> <value>Mostra cronologia per i files sotto il controllo della versione</value> </data> - <data name="AddIns.Subversion.ReloadSolution" xml:space="preserve"> - <value>Ricarica soluzione</value> - </data> - <data name="AddIns.Subversion.ReloadSolutionAfterProjectChanges" xml:space="preserve"> - <value>SharpDevelop ha individuato dei cambiamenti nei file di progetto a causa del sistema di controllo versione. E' necessario ricaricare la soluzione.</value> - </data> <data name="AddIns.Subversion.Relocate" xml:space="preserve"> <value>Cambia posizione</value> </data> @@ -2416,6 +2407,12 @@ Vuoi aggiungere il nuovo file al progetto ${CurrentProjectName}?</value> <data name="Dialog.Options.IDEOptions.Debugging" xml:space="preserve"> <value>Debugging</value> </data> + <data name="Dialog.Options.IDEOptions.Debugging.Exceptions" xml:space="preserve"> + <value>Eccezioni</value> + </data> + <data name="Dialog.Options.IDEOptions.Debugging.PauseOnHandledExceptions" xml:space="preserve"> + <value>Fermati sulle Eccezioni gestite</value> + </data> <data name="Dialog.Options.IDEOptions.Debugging.Stepping" xml:space="preserve"> <value>Stepping</value> </data> @@ -2979,7 +2976,7 @@ Vuoi aggiungere il nuovo file al progetto ${CurrentProjectName}?</value> <value>Processore Intel 64-bit Itanium</value> </data> <data name="Dialog.ProjectOptions.Build.TargetCPU.x64" xml:space="preserve"> - <value>Processori AMD 64-bit</value> + <value>Processore x86-64</value> </data> <data name="Dialog.ProjectOptions.Build.TargetCPU.x86" xml:space="preserve"> <value>Processore compatibile Intel 32-bit</value> @@ -4815,6 +4812,12 @@ Sono ammesse solo lettere, numeri, spazi, '.' o '_'.</value> <data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve"> <value>Caricamento ${Filename}...</value> </data> + <data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve"> + <value>Mantieni aperta la vecchia soluzione</value> + </data> + <data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve"> + <value>Ricarica soluzione</value> + </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeCompilerVersionLabel" xml:space="preserve"> <value>Converti &progetti selezionati in:</value> </data> @@ -6063,7 +6066,7 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <value>Percorso/nome del file di copia</value> </data> <data name="OpenFileTabEventHandler.FileContainingFolderInExplorer" xml:space="preserve"> - <value>Apri la cartella in Explorer</value> + <value>Apri la cartella in Esplora risorse</value> </data> <data name="ProjectBrowser.Toolbar.CollapseAll" xml:space="preserve"> <value>Comprimi tutti i nodi</value> diff --git a/data/resources/StringResources.nl.resx b/data/resources/StringResources.nl.resx index 168ac7ce31..5e26b31fbc 100644 --- a/data/resources/StringResources.nl.resx +++ b/data/resources/StringResources.nl.resx @@ -780,9 +780,6 @@ De geselecteerde code bevat een break commando zonder de insluitende lus. Wijzig <data name="AddIns.Subversion.ItemRemovedFromIgnoreList" xml:space="preserve"> <value>'{0}' is verwijderd uit de negeer lijst.</value> </data> - <data name="AddIns.Subversion.KeepOldSolution" xml:space="preserve"> - <value>De oude oplossing open houden.</value> - </data> <data name="AddIns.Subversion.Lock" xml:space="preserve"> <value>Vergrendel</value> </data> @@ -810,12 +807,6 @@ De geselecteerde code bevat een break commando zonder de insluitende lus. Wijzig <data name="AddIns.Subversion.Options.UseHistoryDisplayBinding" xml:space="preserve"> <value>Geef gesc&hiedenis tab weer voor versie-controle bestanden</value> </data> - <data name="AddIns.Subversion.ReloadSolution" xml:space="preserve"> - <value>Oplossing opnieuw laden</value> - </data> - <data name="AddIns.Subversion.ReloadSolutionAfterProjectChanges" xml:space="preserve"> - <value>SharpDevelop heeft ontdekt dat de versiecontrole project bestanden gewijzigd heeft. U dient de oplossing opnieuw te laden.</value> - </data> <data name="AddIns.Subversion.Relocate" xml:space="preserve"> <value>Verplaatsen</value> </data> @@ -2419,6 +2410,12 @@ Wilt u het nieuwe bestand toevoegen aan project ${CurrentProjectName}?</value> <data name="Dialog.Options.IDEOptions.Debugging" xml:space="preserve"> <value>Foutopsporing</value> </data> + <data name="Dialog.Options.IDEOptions.Debugging.Exceptions" xml:space="preserve"> + <value>Uitzonderingen</value> + </data> + <data name="Dialog.Options.IDEOptions.Debugging.PauseOnHandledExceptions" xml:space="preserve"> + <value>Wachten na afhandeling van uitzonderingen</value> + </data> <data name="Dialog.Options.IDEOptions.Debugging.Stepping" xml:space="preserve"> <value>Stapsgewijs</value> </data> @@ -2981,7 +2978,7 @@ Wilt u het nieuwe bestand toevoegen aan project ${CurrentProjectName}?</value> <value>Intel 64-bit Itanium processor</value> </data> <data name="Dialog.ProjectOptions.Build.TargetCPU.x64" xml:space="preserve"> - <value>AMD 64-bit processor</value> + <value>AMD / Intel 64-bit processor</value> </data> <data name="Dialog.ProjectOptions.Build.TargetCPU.x86" xml:space="preserve"> <value>32 bit Intel-compatibele processor</value> @@ -4807,6 +4804,12 @@ Alleen letters, getallen, spatie, '.' of '_' zijn toegestaan.</value> <data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve"> <value>Laden van ${Filename}...</value> </data> + <data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve"> + <value>De oude oplossing open houden.</value> + </data> + <data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve"> + <value>Oplossing opnieuw laden</value> + </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeCompilerVersionLabel" xml:space="preserve"> <value>Converteer geselecteerde &projecten naar</value> </data> @@ -6055,7 +6058,7 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie</v <value>Kopieer bestandspad/-naam</value> </data> <data name="OpenFileTabEventHandler.FileContainingFolderInExplorer" xml:space="preserve"> - <value>Open de map met document in de Explorer</value> + <value>Open de document bevattende map in de Explorer</value> </data> <data name="ProjectBrowser.Toolbar.CollapseAll" xml:space="preserve"> <value>Alle knooppunten invouwen</value> @@ -7571,6 +7574,9 @@ De hulpbron bestanden zijn hernoemd/verplaatst op de beschreven wijze.</value> <data name="XML.MainMenu.DebugMenu.RemoveAllBreakpoints" xml:space="preserve"> <value>Verwijder alle breekpunten</value> </data> + <data name="XML.MainMenu.DebugMenu.RunLastBuild" xml:space="preserve"> + <value>Voer laatste bouw uit.</value> + </data> <data name="XML.MainMenu.DebugMenu.RunWithoutDebug" xml:space="preserve"> <value>Uitvoeren &zonder foutopsporing</value> </data> diff --git a/data/resources/StringResources.no.resx b/data/resources/StringResources.no.resx index 0d505ea8a2..5b57b95218 100644 --- a/data/resources/StringResources.no.resx +++ b/data/resources/StringResources.no.resx @@ -779,9 +779,6 @@ Du må installere .NET Framework SDK for å få tilgang til hjelpesystemet.</val <data name="AddIns.Subversion.ItemRemovedFromIgnoreList" xml:space="preserve"> <value>'{0}' ble fjernet fra ignorerings-listen.</value> </data> - <data name="AddIns.Subversion.KeepOldSolution" xml:space="preserve"> - <value>Behold den gamle løsningen åpen</value> - </data> <data name="AddIns.Subversion.Lock" xml:space="preserve"> <value>Sett lås</value> </data> @@ -809,12 +806,6 @@ Du må installere .NET Framework SDK for å få tilgang til hjelpesystemet.</val <data name="AddIns.Subversion.Options.UseHistoryDisplayBinding" xml:space="preserve"> <value>Vis historikk-fanen for filer under versjonskontroll</value> </data> - <data name="AddIns.Subversion.ReloadSolution" xml:space="preserve"> - <value>Last inn løsningen på nytt</value> - </data> - <data name="AddIns.Subversion.ReloadSolutionAfterProjectChanges" xml:space="preserve"> - <value>SharpDevelop har oppdaget at versjonskontroll-handlingen har endret prosjektfilene. Du bør laste inn løsningen på nytt.</value> - </data> <data name="AddIns.Subversion.Relocate" xml:space="preserve"> <value>Skift server</value> </data> @@ -4790,6 +4781,12 @@ Bare bokstaver, tall, mellomrom, '.' eller '_' er tillatt.</value> <data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve"> <value>Laster ${Filename}...</value> </data> + <data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve"> + <value>Behold den gamle løsningen åpen</value> + </data> + <data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve"> + <value>Last inn løsningen på nytt</value> + </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeCompilerVersionLabel" xml:space="preserve"> <value>Konverter valgte &prosjekter til:</value> </data> diff --git a/data/resources/StringResources.pt-br.resx b/data/resources/StringResources.pt-br.resx index 054e4babe7..422e1d45d8 100644 --- a/data/resources/StringResources.pt-br.resx +++ b/data/resources/StringResources.pt-br.resx @@ -775,9 +775,6 @@ Voce precisa instalar o .Net Framework SDK para acessar o sistema de ajuda.</val <data name="AddIns.Subversion.ItemRemovedFromIgnoreList" xml:space="preserve"> <value>'{0} foi removido da lista ignorar.</value> </data> - <data name="AddIns.Subversion.KeepOldSolution" xml:space="preserve"> - <value>Manter a solução antiga aberta</value> - </data> <data name="AddIns.Subversion.Lock" xml:space="preserve"> <value>Obter trava</value> </data> @@ -805,12 +802,6 @@ Voce precisa instalar o .Net Framework SDK para acessar o sistema de ajuda.</val <data name="AddIns.Subversion.Options.UseHistoryDisplayBinding" xml:space="preserve"> <value>Exibir aba do &historico para arquivos de versão controlada</value> </data> - <data name="AddIns.Subversion.ReloadSolution" xml:space="preserve"> - <value>Recarregar solução</value> - </data> - <data name="AddIns.Subversion.ReloadSolutionAfterProjectChanges" xml:space="preserve"> - <value>SharpDevelop verificou que a operação de controle de versão mudou os arquivos do projeto.</value> - </data> <data name="AddIns.Subversion.Relocate" xml:space="preserve"> <value>Realocar</value> </data> @@ -4604,6 +4595,12 @@ Use somente letras, dígitos, espaço, "." ou "_" são permitidos.</value> <data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve"> <value>Carregando ${Filename}...</value> </data> + <data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve"> + <value>Manter a solução antiga aberta</value> + </data> + <data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve"> + <value>Recarregar solução</value> + </data> <data name="ICSharpCode.SharpDevelop.Services.AmbienceService.AmbienceNotFoundError" xml:space="preserve"> <value>Ambiente corrente não encontrado. Va para 'Opções->Estilo Visual' e mude o idioma corrente.</value> </data> diff --git a/data/resources/StringResources.resx b/data/resources/StringResources.resx index 3dd6afa578..ca42b8644b 100644 --- a/data/resources/StringResources.resx +++ b/data/resources/StringResources.resx @@ -234,7 +234,6 @@ Download an AddIn from the Internet, then click 'Install AddIn' and choose the d </data> <data name="AddIns.Git.TortoiseGitRequired" xml:space="preserve"> <value>TortoiseGit needs to be installed to execute this action.</value> - <comment>Error message when executing git command but TortoiseGit cannot be found</comment> </data> <data name="AddIns.HelpViewer.ContentsPadTitle" xml:space="preserve"> <value>Contents</value> @@ -283,15 +282,12 @@ Download an AddIn from the Internet, then click 'Install AddIn' and choose the d </data> <data name="AddIns.HexEditor.DefaultBytesPerLine" xml:space="preserve"> <value>Number of bytes per line</value> - <comment>hex editor option (number of bytes displayed in one line)</comment> </data> <data name="AddIns.HexEditor.Display" xml:space="preserve"> <value>Display</value> - <comment>'display' group box in hex editor options</comment> </data> <data name="AddIns.HexEditor.Display.Elements" xml:space="preserve"> <value>Elements</value> - <comment>Elements that can be configured in hex editor options</comment> </data> <data name="AddIns.HexEditor.Display.Elements.Data" xml:space="preserve"> <value>Data</value> @@ -304,7 +300,6 @@ Download an AddIn from the Internet, then click 'Install AddIn' and choose the d </data> <data name="AddIns.HexEditor.SizeToFit" xml:space="preserve"> <value>Resize to fit current width</value> - <comment>Used for the HexEditor's full width display button in the left corner of the display.</comment> </data> <data name="AddIns.HtmlHelp2.AddToFavorites" xml:space="preserve"> <value>Add to Help Favorites</value> @@ -657,7 +652,6 @@ Optionally you can specify a working directory and command line arguments. </data> <data name="AddIns.SharpRefactoring.ExtractMethod" xml:space="preserve"> <value>Extract method</value> - <comment>Text of the "Extract Method" refactoring menu command.</comment> </data> <data name="AddIns.SharpRefactoring.ExtractMethod.ContainsBreakError" xml:space="preserve"> <value>The selected code contains a break statement without the enclosing loop. Please change the selection!</value> @@ -679,9 +673,6 @@ Optionally you can specify a working directory and command line arguments. </data> <data name="AddIns.SharpRefactoring.ExtractMethodNotSupported" xml:space="preserve"> <value>Extracting methods in {0} is currently not supported!</value> - <comment>Used to notify the user that the MethodExtractor can not extract the code in the current programming language. - -{0} is the value from ProjectService.CurrentProject.Language</comment> </data> <data name="AddIns.SharpRefactoring.InsertCtor" xml:space="preserve"> <value>Insert constructor</value> @@ -739,11 +730,9 @@ Optionally you can specify a working directory and command line arguments. </data> <data name="AddIns.Subversion.Blame" xml:space="preserve"> <value>Blame</value> - <comment>blame/praise/annotate- show author for each line of code in the file</comment> </data> <data name="AddIns.Subversion.BranchOrTag" xml:space="preserve"> <value>Branch/tag</value> - <comment>Shows the dialog for branching/tagging</comment> </data> <data name="AddIns.Subversion.CannotCopyError" xml:space="preserve"> <value>The file/directory cannot be copied because it is in subversion status '{0}'.</value> @@ -756,42 +745,33 @@ Optionally you can specify a working directory and command line arguments. </data> <data name="AddIns.Subversion.CheckForModifications" xml:space="preserve"> <value>Check for modifications</value> - <comment>Command to check a directory for modifications (both local and remote)</comment> </data> <data name="AddIns.Subversion.Checkout" xml:space="preserve"> <value>Checkout</value> - <comment>Download source code from the version control server</comment> </data> <data name="AddIns.Subversion.CleanUp" xml:space="preserve"> <value>Clean up</value> - <comment>Runs svn cleanup, fixing problems in the working copy</comment> </data> <data name="AddIns.Subversion.Commit" xml:space="preserve"> <value>Commit</value> - <comment>Command to upload local changes to version control system</comment> </data> <data name="AddIns.Subversion.CreatePatch" xml:space="preserve"> <value>Create patch</value> - <comment>Create a patch file containing the local modifications</comment> </data> <data name="AddIns.Subversion.DeleteDirectory" xml:space="preserve"> <value>Delete directory</value> </data> <data name="AddIns.Subversion.Diff" xml:space="preserve"> <value>Diff</value> - <comment>Command to show local modifications done to a file</comment> </data> <data name="AddIns.Subversion.EditConflicts" xml:space="preserve"> <value>Edit conflicts</value> - <comment>Command to edit version-control conflicts in a file</comment> </data> <data name="AddIns.Subversion.ErrorDelete" xml:space="preserve"> <value>Error deleting ${File}</value> - <comment>Message shown when a file or directory cannot be deleted</comment> </data> <data name="AddIns.Subversion.Export" xml:space="preserve"> <value>Export</value> - <comment>Export files from the local working copy</comment> </data> <data name="AddIns.Subversion.ForceDelete" xml:space="preserve"> <value>Force delete</value> @@ -802,20 +782,14 @@ Optionally you can specify a working directory and command line arguments. <data name="AddIns.Subversion.ItemRemovedFromIgnoreList" xml:space="preserve"> <value>'{0}' was removed from the ignore list.</value> </data> - <data name="AddIns.Subversion.KeepOldSolution" xml:space="preserve"> - <value>Keep old solution open</value> - <comment>Button text to keep old solution open</comment> - </data> <data name="AddIns.Subversion.Lock" xml:space="preserve"> <value>Get lock</value> </data> <data name="AddIns.Subversion.MarkConflictsAsResolved" xml:space="preserve"> <value>Mark conflicts as resolved</value> - <comment>Command to tell version-control system that conflicts were resolved</comment> </data> <data name="AddIns.Subversion.Merge" xml:space="preserve"> <value>Merge</value> - <comment>Merge changes from another branch to this directory</comment> </data> <data name="AddIns.Subversion.Options.AutoAdd" xml:space="preserve"> <value>Automatically &add new files</value> @@ -831,23 +805,12 @@ Optionally you can specify a working directory and command line arguments. </data> <data name="AddIns.Subversion.Options.Title" xml:space="preserve"> <value>Subversion Options</value> - <comment>Title of the subversion options panel</comment> </data> <data name="AddIns.Subversion.Options.UseHistoryDisplayBinding" xml:space="preserve"> <value>Show &history tab for version-controlled files</value> - <comment>Show tab page History for each version-controlled file</comment> - </data> - <data name="AddIns.Subversion.ReloadSolution" xml:space="preserve"> - <value>Reload solution</value> - <comment>Button to confirm reloading the solution after project files were changes</comment> - </data> - <data name="AddIns.Subversion.ReloadSolutionAfterProjectChanges" xml:space="preserve"> - <value>SharpDevelop detected that the version control operation changed project files. -You should reload the solution.</value> </data> <data name="AddIns.Subversion.Relocate" xml:space="preserve"> <value>Relocate</value> - <comment>Change the URL of the version control server</comment> </data> <data name="AddIns.Subversion.RemoveFromIgnoreList" xml:space="preserve"> <value>Remove from ignore list</value> @@ -857,26 +820,21 @@ You should reload the solution.</value> </data> <data name="AddIns.Subversion.RepositoryBrowser" xml:space="preserve"> <value>Repository browser</value> - <comment>Launch a tool to view the repository of the version control system</comment> </data> <data name="AddIns.Subversion.Revert" xml:space="preserve"> <value>Revert</value> - <comment>Command to revert local modifications done to a version-controlled file</comment> </data> <data name="AddIns.Subversion.RevertLocalModifications" xml:space="preserve"> <value>The file has local modifications. Do you really want to remove it?</value> </data> <data name="AddIns.Subversion.RevisionGraph" xml:space="preserve"> <value>Revision graph</value> - <comment>Show the revision graph for a directory</comment> </data> <data name="AddIns.Subversion.SaveFiles" xml:space="preserve"> <value>Save files</value> - <comment>Button text to confirm saving all open files</comment> </data> <data name="AddIns.Subversion.ShowLog" xml:space="preserve"> <value>Show Log</value> - <comment>Shows the history for the file</comment> </data> <data name="AddIns.Subversion.SVNRequiresSavingFiles" xml:space="preserve"> <value>The version control operation would affect files with unsaved modifications. @@ -884,51 +842,40 @@ You have to save those files before running the operation.</value> </data> <data name="AddIns.Subversion.Switch" xml:space="preserve"> <value>Switch</value> - <comment>Switch the working copy to a different branch</comment> </data> <data name="AddIns.Subversion.TortoiseSVNRequired" xml:space="preserve"> <value>TortoiseSVN needs to be installed to execute this action.</value> </data> <data name="AddIns.Subversion.Update" xml:space="preserve"> <value>Update</value> - <comment>Command to download changes done by other developers to the working copy</comment> </data> <data name="AddIns.Subversion.UpdateToRevision" xml:space="preserve"> <value>Update to revision</value> - <comment>Command to update a file to a specific version</comment> </data> <data name="AddIns.UsageDataCollector.AcceptConfirmation" xml:space="preserve"> <value>Thank you for participating! You can still opt-out later using the SharpDevelop options.</value> - <comment>text that confirms the user accepted UDC</comment> </data> <data name="AddIns.UsageDataCollector.AcceptRadioButton" xml:space="preserve"> <value>I would like to participate - collect and upload usage data</value> - <comment>Option to start participating in usage data collection</comment> </data> <data name="AddIns.UsageDataCollector.DeclineConfirmation" xml:space="preserve"> <value>You can still opt-in later using the SharpDevelop options.</value> - <comment>Text that confirms the user declined UDC</comment> </data> <data name="AddIns.UsageDataCollector.DeclineRadioButton" xml:space="preserve"> <value>I do not want to participate</value> - <comment>Option for declining to participate in usage data collection</comment> </data> <data name="AddIns.UsageDataCollector.Introduction" xml:space="preserve"> <value>We need your help! To improve SharpDevelop in the future, we would like to know which features are used most. SharpDevelop can collect this information and upload it automatically.</value> - <comment>introduction to UsageDataCollector, appears on first start of SharpDevelop 4.0</comment> </data> <data name="AddIns.UsageDataCollector.PrivacyStatement" xml:space="preserve"> <value>Privacy Statement</value> - <comment>text for link to privacy statement</comment> </data> <data name="AddIns.UsageDataCollector.ShowCollectedData" xml:space="preserve"> <value>Show collected data</value> - <comment>button for showing the data collected so far</comment> </data> <data name="AddIns.UsageDataCollector.Title" xml:space="preserve"> <value>Usage Data Collector</value> - <comment>title of the usage data collector start page message (only visible on first start of SharpDevelop 4) and name of the corresponding page in the options dialog</comment> </data> <data name="AddIns.VBNetBinding.CodeCompletion.QuestionmarkEqualsItem.Description" xml:space="preserve"> <value>Let SharpDevelop figure out the type based on the initializer.</value> @@ -1007,7 +954,6 @@ SharpDevelop can collect this information and upload it automatically.</value> </data> <data name="AvalonEdit.FileEncoding.EncodingCausesDataLoss.Continue" xml:space="preserve"> <value>Continue</value> - <comment>continue using the current encoding (may cause data loss)</comment> </data> <data name="AvalonEdit.FileEncoding.EncodingCausesDataLoss.UseUTF8" xml:space="preserve"> <value>Save as UTF-8</value> @@ -1078,7 +1024,6 @@ You can specifiy an execution command in the project options.</value> </data> <data name="ComponentInspector.AttachDialog.ProcessLabel" xml:space="preserve"> <value>Process</value> - <comment>Labels a running process</comment> </data> <data name="ComponentInspector.AttachDialog.Title" xml:space="preserve"> <value>Attach</value> @@ -1632,7 +1577,6 @@ To create/manipulate a ActiveX/COM object, drag a class within a TypeLib/Control </data> <data name="Dialog.EditAvailableConfigurationsDialog.EmptyItem" xml:space="preserve"> <value><Empty></value> - <comment>Copy from empty item</comment> </data> <data name="Dialog.EditAvailableConfigurationsDialog.EnterNewName" xml:space="preserve"> <value>Enter the new name:</value> @@ -1651,7 +1595,6 @@ To create/manipulate a ActiveX/COM object, drag a class within a TypeLib/Control </data> <data name="Dialog.Goto.DialogName" xml:space="preserve"> <value>Go to</value> - <comment>Title of the "go to" dialog window</comment> </data> <data name="Dialog.Goto.GotoLine" xml:space="preserve"> <value>Go to line</value> @@ -1714,7 +1657,6 @@ Examples: "120", "MainClass", "Main.cs, 120".</value> </data> <data name="Dialog.HighlightingEditor.EnvColors.CaretLine" xml:space="preserve"> <value>Caret Line</value> - <comment>Name for the vertical line showing the caret position</comment> </data> <data name="Dialog.HighlightingEditor.EnvColors.CaretMarker" xml:space="preserve"> <value>Caret marker</value> @@ -1939,7 +1881,6 @@ When an extension is used by both a built-in and a user-defined scheme, the user </data> <data name="Dialog.HighlightingEditor.Span.EscChar" xml:space="preserve"> <value>Escape character:</value> - <comment>Escape character inside highlighting spans, e.g. \ in C#</comment> </data> <data name="Dialog.HighlightingEditor.Span.Explanation" xml:space="preserve"> <value>In "Begin" and "End", @ has a special meaning: @!string@ doesn't match string when searching for the begin/end, and @@ matches a single @. @@ -2020,11 +1961,9 @@ Do you want to add the new file to the project ${CurrentProjectName}?</value> </data> <data name="Dialog.NewFile.AddToProjectQuestionProject" xml:space="preserve"> <value>Create file inside project</value> - <comment>Answer 1</comment> </data> <data name="Dialog.NewFile.AddToProjectQuestionStandalone" xml:space="preserve"> <value>Create standalone file</value> - <comment>Answer 2</comment> </data> <data name="Dialog.NewFile.AddToProjectQuestionTitle" xml:space="preserve"> <value>Add file to project?</value> @@ -2193,7 +2132,6 @@ Do you want to add the new file to the project ${CurrentProjectName}?</value> </data> <data name="Dialog.Options.CodeTemplate.EditGroupLabel" xml:space="preserve"> <value>&Edit extensions</value> - <comment>Edits the list of file extensions associated with a code snippet group</comment> </data> <data name="Dialog.Options.CodeTemplate.EditTemplateDialog.DescriptionLabel" xml:space="preserve"> <value>&Description</value> @@ -2212,7 +2150,6 @@ Do you want to add the new file to the project ${CurrentProjectName}?</value> </data> <data name="Dialog.Options.CodeTemplate.PressTabToInsertTemplate" xml:space="preserve"> <value>Press Tab to insert this code template.</value> - <comment>Appears in description box in template completion.</comment> </data> <data name="Dialog.Options.CodeTemplate.RemoveGroupLabel" xml:space="preserve"> <value>Re&move Group</value> @@ -2237,7 +2174,6 @@ Do you want to add the new file to the project ${CurrentProjectName}?</value> </data> <data name="Dialog.Options.CombineOptions.Configurations.ConfigurationEditor" xml:space="preserve"> <value>Configuration Editor</value> - <comment>Title of the solution configuration editor dialog</comment> </data> <data name="Dialog.Options.CombineOptions.Configurations.ConfigurationEditor.EditItem" xml:space="preserve"> <value><Edit></value> @@ -2262,7 +2198,6 @@ Do you want to add the new file to the project ${CurrentProjectName}?</value> </data> <data name="Dialog.Options.CombineOptions.Configurations.SolutionConfiguration" xml:space="preserve"> <value>&Solution configuration:</value> - <comment>label in front of combo box where the build configuration (Debug/Release) of the solution can be chosen</comment> </data> <data name="Dialog.Options.CombineOptions.Dependencies.DependsOnLabel" xml:space="preserve"> <value>Depends on:</value> @@ -2419,18 +2354,15 @@ Do you want to add the new file to the project ${CurrentProjectName}?</value> </data> <data name="Dialog.Options.IDEOptions.CodeCompletion.MainOption" xml:space="preserve"> <value>Use the following option to turn code completion completely off:</value> - <comment>Text in label above the "Enable Code Completion" checkbox.</comment> </data> <data name="Dialog.Options.IDEOptions.CodeCompletion.RefreshInsightOnComma" xml:space="preserve"> <value>Re-open tooltip with better overload when pressing comma</value> </data> <data name="Dialog.Options.IDEOptions.CodeCompletion.SaveItemCountAfterNumber" xml:space="preserve"> <value>items</value> - <comment>Save *inputbox* items</comment> </data> <data name="Dialog.Options.IDEOptions.CodeCompletion.SaveItemCountBeforeNumber" xml:space="preserve"> <value>Save</value> - <comment>Save *inputbox* items</comment> </data> <data name="Dialog.Options.IDEOptions.CodeCompletion.UseDataUsageCache" xml:space="preserve"> <value>Pre-select recently used members</value> @@ -2479,7 +2411,6 @@ Do you want to add the new file to the project ${CurrentProjectName}?</value> </data> <data name="Dialog.Options.IDEOptions.Debugging" xml:space="preserve"> <value>Debugging</value> - <comment>The root node in the options dialog</comment> </data> <data name="Dialog.Options.IDEOptions.Debugging.Exceptions" xml:space="preserve"> <value>Exceptions</value> @@ -2558,14 +2489,12 @@ Do you want to add the new file to the project ${CurrentProjectName}?</value> </data> <data name="Dialog.Options.IDEOptions.LoadSaveOptions.AutoLoadExternalChanges" xml:space="preserve"> <value>&Auto-load changes if saved</value> - <comment>(checkbox) automatically load externally changed files if there are no unsaved modifications in SharpDevelop</comment> </data> <data name="Dialog.Options.IDEOptions.LoadSaveOptions.CreateBackupCopyCheckBox" xml:space="preserve"> <value>Use &temporary file for saving</value> </data> <data name="Dialog.Options.IDEOptions.LoadSaveOptions.DefaultFileEncoding" xml:space="preserve"> <value>Default file &encoding:</value> - <comment>Default encoding used for new files</comment> </data> <data name="Dialog.Options.IDEOptions.LoadSaveOptions.DetectExternalChanges" xml:space="preserve"> <value>&Detect external changes to files</value> @@ -2581,7 +2510,6 @@ Do you want to add the new file to the project ${CurrentProjectName}?</value> </data> <data name="Dialog.Options.IDEOptions.LoadSaveOptions.MacintoshRadioButton" xml:space="preserve"> <value>Macintosh (CR)</value> - <comment>Line terminator style for the MacOS. I think this doesn't need translation.</comment> </data> <data name="Dialog.Options.IDEOptions.LoadSaveOptions.PanelName" xml:space="preserve"> <value>Load/Save</value> @@ -2591,18 +2519,12 @@ Do you want to add the new file to the project ${CurrentProjectName}?</value> </data> <data name="Dialog.Options.IDEOptions.LoadSaveOptions.UnixRadioButton" xml:space="preserve"> <value>Unix (LF)</value> - <comment>LF = line feed -Line terminator style for 'unix' like oprating -systems. I don't think that this needs translation.</comment> </data> <data name="Dialog.Options.IDEOptions.LoadSaveOptions.UseRecycleBin" xml:space="preserve"> <value>Use &recycle bin when deleting files</value> </data> <data name="Dialog.Options.IDEOptions.LoadSaveOptions.WindowsRadioButton" xml:space="preserve"> <value>Windows (CRLF)</value> - <comment>CRLF = carriage return, line feed -line terminator style for the 'Windows' operating -system. I don't think that it needs translation.</comment> </data> <data name="Dialog.Options.IDEOptions.OutputPanel.Format" xml:space="preserve"> <value>Format</value> @@ -2615,7 +2537,6 @@ system. I don't think that it needs translation.</comment> </data> <data name="Dialog.Options.IDEOptions.Profiling" xml:space="preserve"> <value>Profiler</value> - <comment>option page of the performance profiler</comment> </data> <data name="Dialog.Options.IDEOptions.ProjectAndSolutionOptions.BuildAndRunGroupBox" xml:space="preserve"> <value>Build and Run options</value> @@ -2646,7 +2567,6 @@ system. I don't think that it needs translation.</comment> </data> <data name="Dialog.Options.IDEOptions.ProjectAndSolutionOptions.WhenRunning" xml:space="preserve"> <value>When running:</value> - <comment>option that specifies how to build when running the project</comment> </data> <data name="Dialog.Options.IDEOptions.ProjectAndSolutionOptions.WhenRunning.BuildModifiedAndDependent" xml:space="preserve"> <value>Build modified projects and projects depending on them</value> @@ -2728,7 +2648,6 @@ system. I don't think that it needs translation.</comment> </data> <data name="Dialog.Options.IDEOptions.TextEditor.Behaviour.CtrlClickGotoDefinition" xml:space="preserve"> <value>Use Ctrl+Click for "Go to Definition"</value> - <comment>Checkbox for enabling Ctrl+Leftclick as shortcut for 'go to definition'</comment> </data> <data name="Dialog.Options.IDEOptions.TextEditor.Behaviour.CurlyBracketCheckBox" xml:space="preserve"> <value>A&uto insert curly braces</value> @@ -2777,11 +2696,9 @@ system. I don't think that it needs translation.</comment> </data> <data name="Dialog.Options.IDEOptions.TextEditor.Behaviour.UseSmartIndent" xml:space="preserve"> <value>Use smart indentation</value> - <comment>Checkbox for disabling/enabling smart indentation</comment> </data> <data name="Dialog.Options.IDEOptions.TextEditor.CodeCompletion.PanelName" xml:space="preserve"> <value>Code Completion</value> - <comment>Title of the code completion option panel</comment> </data> <data name="Dialog.Options.IDEOptions.TextEditor.General.AntialiasedFontCheckBox" xml:space="preserve"> <value>&Render font antialiased</value> @@ -2821,7 +2738,6 @@ system. I don't think that it needs translation.</comment> </data> <data name="Dialog.Options.IDEOptions.TextEditor.Markers.AtRowLabel" xml:space="preserve"> <value>at colum&n</value> - <comment>I've mixed up row and column. Column is right</comment> </data> <data name="Dialog.Options.IDEOptions.TextEditor.Markers.BracketMatchingStyle.AfterCaret" xml:space="preserve"> <value>After Caret</value> @@ -2970,7 +2886,6 @@ A change in the highlighting schemes is visible upon the next restart of #Develo </data> <data name="Dialog.ProjectOptions.ApplicationSettings.InvalidIconFile" xml:space="preserve"> <value>{0} is not a valid icon file.</value> - <comment>Error message displayed when the user tries to set the application's icon to a file that is not an icon.</comment> </data> <data name="Dialog.ProjectOptions.ApplicationSettings.LocalizedStringFileLabel" xml:space="preserve"> <value>Localized string file:</value> @@ -2986,7 +2901,6 @@ A change in the highlighting schemes is visible upon the next restart of #Develo </data> <data name="Dialog.ProjectOptions.ApplicationSettings.Manifest.ManifestFiles" xml:space="preserve"> <value>Manifest files</value> - <comment>File filter description for *.manifest files</comment> </data> <data name="Dialog.ProjectOptions.ApplicationSettings.OutputName" xml:space="preserve"> <value>Output name:</value> @@ -3067,7 +2981,7 @@ A change in the highlighting schemes is visible upon the next restart of #Develo <value>Intel 64-bit Itanium processor</value> </data> <data name="Dialog.ProjectOptions.Build.TargetCPU.x64" xml:space="preserve"> - <value>AMD 64-bit processor</value> + <value>x86-64 processor</value> </data> <data name="Dialog.ProjectOptions.Build.TargetCPU.x86" xml:space="preserve"> <value>32-bit Intel-compatible processor</value> @@ -3221,7 +3135,6 @@ A change in the highlighting schemes is visible upon the next restart of #Develo </data> <data name="Dialog.ProjectOptions.SelectFolderTitle" xml:space="preserve"> <value>Select folder</value> - <comment>Description for folder selection dialog</comment> </data> <data name="Dialog.ProjectOptions.Signing" xml:space="preserve"> <value>Signing</value> @@ -3402,7 +3315,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="Fileutility.CantFindExecutableError" xml:space="preserve"> <value>Can't find ${Executable} in any of the SDK bin folders.</value> - <comment>Message for an exception that is thrown if a sdk executable cannot be found.</comment> </data> <data name="Fileutility.CantFindFileError" xml:space="preserve"> <value>Can't load ${File}.File not found.</value> @@ -3439,7 +3351,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="Global.BrowseText" xml:space="preserve"> <value>Browse</value> - <comment>text for buttons that open a dialog for searching a file/folder</comment> </data> <data name="Global.CancelButtonText" xml:space="preserve"> <value>Cancel</value> @@ -3464,7 +3375,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="Global.DeselectAllButtonText" xml:space="preserve"> <value>Unselect All</value> - <comment>The words "Unselect All" translated into the local language.</comment> </data> <data name="Global.EditButtonText" xml:space="preserve"> <value>&Edit</value> @@ -3492,7 +3402,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="Global.FontStyle.CustomColor" xml:space="preserve"> <value>Custom</value> - <comment>Choose custom color</comment> </data> <data name="Global.FontStyle.SelectFont" xml:space="preserve"> <value>Select font</value> @@ -3505,7 +3414,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="Global.ID" xml:space="preserve"> <value>ID</value> - <comment>Abbrevation for Identifier</comment> </data> <data name="Global.IgnoreButtonText" xml:space="preserve"> <value>Ignore</value> @@ -3533,7 +3441,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="Global.NA" xml:space="preserve"> <value>N/A</value> - <comment>Stands for 'Not applicable'</comment> </data> <data name="Global.Name" xml:space="preserve"> <value>Name</value> @@ -3552,7 +3459,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="Global.OptionsLabelText" xml:space="preserve"> <value>Options</value> - <comment>The word "Options" translated to a particular language.</comment> </data> <data name="Global.Path" xml:space="preserve"> <value>Path</value> @@ -3568,7 +3474,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="Global.ReadOnly" xml:space="preserve"> <value>readonly</value> - <comment>The word "readonly" in lowercase.</comment> </data> <data name="Global.RemoveButtonText" xml:space="preserve"> <value>&Remove</value> @@ -3584,7 +3489,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="Global.SelectAllButtonText" xml:space="preserve"> <value>Select &All</value> - <comment>selects all items in a list</comment> </data> <data name="Global.SmallIconToolTip" xml:space="preserve"> <value>Small Icons</value> @@ -3612,15 +3516,12 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="Gui.ProjectBrowser.Open" xml:space="preserve"> <value>Open</value> - <comment>verb for opening an item (usually file)</comment> </data> <data name="Gui.ProjectBrowser.OpenFolderInExplorer" xml:space="preserve"> <value>Open Folder in Explorer</value> - <comment>Command that opens the selected folder in Windows Explorer</comment> </data> <data name="Gui.ProjectBrowser.OpenWith" xml:space="preserve"> <value>Open With...</value> - <comment>Open file with non-default tool</comment> </data> <data name="Gui.ProjectBrowser.OpenWith.AddProgram.DialogTitle" xml:space="preserve"> <value>Add program</value> @@ -3645,7 +3546,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="Gui.ProjectBrowser.OpenWith.Bindings.TextEditorWithEncoding" xml:space="preserve"> <value>Text editor (choose encoding)</value> - <comment>Entry in "open with" menu for explicitly choosing the file encoding when opening a text file</comment> </data> <data name="Gui.ProjectBrowser.OpenWith.Bindings.WebBrowser" xml:space="preserve"> <value>Built-in Web Browser</value> @@ -3733,7 +3633,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="Hornung.ResourceToolkit.ToolTips.KeyNotFound" xml:space="preserve"> <value><KEY NOT FOUND></value> - <comment>Value to display when a resource key is missing</comment> </data> <data name="Hornung.ResourceToolkit.ToolTips.PlaceMessage" xml:space="preserve"> <value>Resource in {0}:</value> @@ -3767,7 +3666,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="ICSharpCode.BooInterpreter" xml:space="preserve"> <value>Boo Interpreter</value> - <comment>Title of the Boo Interpreter pad</comment> </data> <data name="ICSharpCode.BooInterpreter.Debuggee.ErrorDebuggerNotLoaded" xml:space="preserve"> <value>Error: 'Debugger is not loaded'</value> @@ -3780,7 +3678,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="ICSharpCode.BooInterpreter.Debuggee.Title" xml:space="preserve"> <value>Debuggee</value> - <comment>Name for program being debugged</comment> </data> <data name="ICSharpCode.BooInterpreter.Debuggee.ToolTip" xml:space="preserve"> <value>Runs commands in the debugged progam</value> @@ -3811,7 +3708,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="ICSharpCode.CodeAnalysis.IdeOptions.FindFxCopPath" xml:space="preserve"> <value>Select FxCop path</value> - <comment>Button to select the FxCop path</comment> </data> <data name="ICSharpCode.CodeAnalysis.IdeOptions.FxCopFoundInPath" xml:space="preserve"> <value>FxCop was found in the following directory:</value> @@ -3821,7 +3717,6 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="ICSharpCode.CodeAnalysis.IdeOptions.FxCopPath" xml:space="preserve"> <value>FxCop path</value> - <comment>Title of FxCop path choosing groupbox</comment> </data> <data name="ICSharpCode.CodeAnalysis.ProjectOptions.AddRemoveRuleAssembly" xml:space="preserve"> <value>Add/Remove rule assembly</value> @@ -3858,80 +3753,62 @@ You can also choose to store the setting in the .user-file instead of the projec </data> <data name="ICSharpCode.CodeAnalysis.SuppressMessage" xml:space="preserve"> <value>Suppress message</value> - <comment>Context menu command to suppress a code analysis warning</comment> </data> <data name="ICSharpCode.CodeCoverage.CodeCovered" xml:space="preserve"> <value>Code Covered</value> - <comment>One of the display items that exists in the Code Coverage Options Panel. Selecting this one allows the user to configure the colours for the code that has been covered by the unit tests.</comment> </data> <data name="ICSharpCode.CodeCoverage.CodeNotCovered" xml:space="preserve"> <value>Code Not Covered</value> - <comment>One of the display items that exists in the Code Coverage Options Panel. Selecting this one allows the user to configure the colours for the code that has NOT been covered by the unit tests.</comment> </data> <data name="ICSharpCode.CodeCoverage.Column" xml:space="preserve"> <value>Column</value> - <comment>List view column header holding the code coverage start column number.</comment> </data> <data name="ICSharpCode.CodeCoverage.DisplayOptions" xml:space="preserve"> <value>Display Options</value> </data> <data name="ICSharpCode.CodeCoverage.EndColumn" xml:space="preserve"> <value>End Column</value> - <comment>List view column header containing the end column number for the code coverage.</comment> </data> <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>End Line</value> - <comment>List view column header containing the code coverage end line.</comment> </data> <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> <value>Line</value> - <comment>Code coverage line number column header for the list view.</comment> </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>Unable to locate the NCover console application. If NCover is installed, please specify the location of the application in the Code Coverage options.</value> - <comment>Error message displayed when the NCover console application cannot be found.</comment> </data> <data name="ICSharpCode.CodeCoverage.NoCodeCoverageResultsGenerated" xml:space="preserve"> <value>No code coverage results file generated:</value> - <comment>Error message added to error list pad when the code coverage results file was not generated.</comment> </data> <data name="ICSharpCode.CodeCoverage.OptionsPanel.CodeCoverageColoursGroupBoxText" xml:space="preserve"> <value>Code Coverage Colors</value> - <comment>Group box title containing the text colors to use for code coverage highlighting.</comment> </data> <data name="ICSharpCode.CodeCoverage.OptionsPanel.CommandLineLabel" xml:space="preserve"> <value>&Command:</value> - <comment>Label indicating the NCover command line.</comment> </data> <data name="ICSharpCode.CodeCoverage.OptionsPanel.DisplayItemsLabel" xml:space="preserve"> <value>&Display Items:</value> - <comment>Code coverage options label that indicates the different text display items that can have their colours configured.</comment> </data> <data name="ICSharpCode.CodeCoverage.OptionsPanel.ItemBackgroundLabel" xml:space="preserve"> <value>Item bac&kground:</value> - <comment>Label for the code coverage text background colour.</comment> </data> <data name="ICSharpCode.CodeCoverage.OptionsPanel.ItemForegroundLabel" xml:space="preserve"> <value>Item fo&reground:</value> - <comment>Label for the code coverage item's foreground colour.</comment> </data> <data name="ICSharpCode.CodeCoverage.OptionsPanel.NCoverConfigurationGroupBoxText" xml:space="preserve"> <value>NCover Configuration</value> - <comment>Code coverage options panel. Title of the group box containing NCover configuration options.</comment> </data> <data name="ICSharpCode.CodeCoverage.OptionsPanel.SampleText" xml:space="preserve"> <value>AaBbCcXxYyZz</value> - <comment>Sample text that is displayed when showing the code coverage colours selected.</comment> </data> <data name="ICSharpCode.CodeCoverage.ProjectOptionsPanel.AssemblyListLabel" xml:space="preserve"> <value>&Assemblies to watch:</value> - <comment>Label for assembly names that will be watched whilst running code coverage.</comment> </data> <data name="ICSharpCode.CodeCoverage.ProjectOptionsPanel.ExcludeAttributes" xml:space="preserve"> <value>Excluded Attributes</value> - <comment>Attributes used to exclude types from code coverage</comment> </data> <data name="ICSharpCode.CodeCoverage.ProjectOptionsPanel.ExcludeListLabel" xml:space="preserve"> <value>Exclude</value> @@ -3941,15 +3818,12 @@ If NCover is installed, please specify the location of the application in the Co </data> <data name="ICSharpCode.CodeCoverage.RunningCodeCoverage" xml:space="preserve"> <value>Running code coverage...</value> - <comment>First line of text sent to output window when running code coverage.</comment> </data> <data name="ICSharpCode.CodeCoverage.RunTestsWithCodeCoverage" xml:space="preserve"> <value>Run tests with code coverage</value> - <comment>Right menu option when selecting a Unit test tree node.</comment> </data> <data name="ICSharpCode.CodeCoverage.RunWithCodeCoverage" xml:space="preserve"> <value>Run with code coverage</value> - <comment>Right click menu to run tests with code coverage - displayed when right clicking a test fixture or test method in the source code.</comment> </data> <data name="ICSharpCode.CodeCoverage.ShowCoverage" xml:space="preserve"> <value>Show Code Co&verage</value> @@ -3962,11 +3836,9 @@ If NCover is installed, please specify the location of the application in the Co </data> <data name="ICSharpCode.CodeCoverage.ToggleCodeCoverage" xml:space="preserve"> <value>Toggle Code Coverage</value> - <comment>Tooltip for button that shows/hides code coverage highlighting in the source code.</comment> </data> <data name="ICSharpCode.CodeCoverage.VisitCount" xml:space="preserve"> <value>Visit Count</value> - <comment>Column header in code coverage list view which indicates how many times a particular line of code was visited when running the tests.</comment> </data> <data name="ICSharpCode.ConsolePad.GotoProjectItem" xml:space="preserve"> <value>Change to project directory</value> @@ -4059,103 +3931,78 @@ Please configure the NAnt executable's location in the SharpDevelop Options.</va </data> <data name="ICSharpCode.NAntAddIn.AbstractRunNAntCommand.NAntStoppedMessage" xml:space="preserve"> <value>NAnt build stopped.</value> - <comment>Message sent to Output window after the NAnt process has been successfully stopped.</comment> </data> <data name="ICSharpCode.NAntAddIn.AbstractRunNAntCommand.NoBuildFileErrorText" xml:space="preserve"> <value>Project does not contain a '.build' file.</value> - <comment>Error message reported to the user when they attempt to run NAnt when there is no .build file in the SharpDevelop project.</comment> </data> <data name="ICSharpCode.NAntAddIn.AbstractRunNAntCommand.RunningNAntMessage" xml:space="preserve"> <value>Running NAnt.</value> - <comment>Message sent to the Output window indicating that the NAnt build is about to be started/run.</comment> </data> <data name="ICSharpCode.NAntAddIn.AbstractRunNAntCommand.TerminateNAntQuestion" xml:space="preserve"> <value>This will terminate the NAnt process. Are you sure?</value> - <comment>Message displayed to the user if they select the "Stop NAnt" menu option.</comment> </data> <data name="ICSharpCode.NAntAddIn.CreateBuildFileMenuLabel" xml:space="preserve"> <value>Create &Build File</value> - <comment>Menu option to create a NAnt build file.</comment> </data> <data name="ICSharpCode.NAntAddIn.GotoDefinitionMenuLabel" xml:space="preserve"> <value>&Goto Definition</value> - <comment>NAnt pad right click menu option which will open up the .build file and put the cursor on the specified NAnt target.</comment> </data> <data name="ICSharpCode.NAntAddIn.GotoErrorMenuLabel" xml:space="preserve"> <value>&Goto Error</value> - <comment>NAnt pad right click menu option - when an error tree node is selected the build file is opened up and the cursor is moved to the error.</comment> </data> <data name="ICSharpCode.NAntAddIn.NAntAddInOptionPanel.ArgumentsLabel" xml:space="preserve"> <value>&Arguments</value> - <comment>Label for the NAnt command line arguments text box.</comment> </data> <data name="ICSharpCode.NAntAddIn.NAntAddInOptionPanel.BuildFileGenerationGroupBoxName" xml:space="preserve"> <value>Build File Generation</value> - <comment>Options panel. Name of the group containing NAnt build file generation configuration.</comment> </data> <data name="ICSharpCode.NAntAddIn.NAntAddInOptionPanel.CommandLabel" xml:space="preserve"> <value>&Command</value> - <comment>Label for the NAnt command line textbox.</comment> </data> <data name="ICSharpCode.NAntAddIn.NAntAddInOptionPanel.DebugLabel" xml:space="preserve"> <value>&Debug</value> - <comment>Checkbox label for NAnt's "debug" command line option.</comment> </data> <data name="ICSharpCode.NAntAddIn.NAntAddInOptionPanel.NAntConfigGroupBoxName" xml:space="preserve"> <value>NAnt Configuration</value> - <comment>Options panel. Group box for NAnt config options.</comment> </data> <data name="ICSharpCode.NAntAddIn.NAntAddInOptionPanel.NAntVersionLabel" xml:space="preserve"> <value>NAnt &Version</value> - <comment>Label for the drop down list containing NAnt version numbers.</comment> </data> <data name="ICSharpCode.NAntAddIn.NAntAddInOptionPanel.QuietLabel" xml:space="preserve"> <value>&Quiet</value> - <comment>Label for the NAnt "quiet" option checkbox.</comment> </data> <data name="ICSharpCode.NAntAddIn.NAntAddInOptionPanel.ShowLogoLabel" xml:space="preserve"> <value>Show &Logo</value> - <comment>Check box text for NAnt's show logo command line option.</comment> </data> <data name="ICSharpCode.NAntAddIn.NAntAddInOptionPanel.VerboseLabel" xml:space="preserve"> <value>Ver&bose</value> - <comment>Checkbox text for NAnt's "verbose" command line option.</comment> </data> <data name="ICSharpCode.NAntAddIn.NAntPadContent.NAntPropertiesToolTip" xml:space="preserve"> <value>Enter NAnt properties.</value> - <comment>Text tooltip shown when the user moves the mouse over the TextBox at the bottom of the NAnt pad. This area is used to enter ad hoc command line options or properties when running NAnt (e.g. "-D:optimize".</comment> </data> <data name="ICSharpCode.NAntAddIn.NAntPadContent.RefreshCommandBarButtonText" xml:space="preserve"> <value>Reloads the build files</value> - <comment>Tooltip for the Refresh button in the NAnt pad. Refreshes the pad's view from the build files in the combine.</comment> </data> <data name="ICSharpCode.NAntAddIn.NAntPadContent.RunCommandBarButtonText" xml:space="preserve"> <value>Runs the selected target</value> - <comment>Tooltip text displayed when the user moves the mouse over the NAnt pad's run button. The button runs the NAnt target selected in the tree view.</comment> </data> <data name="ICSharpCode.NAntAddIn.NAntPadContent.StopCommandBarButtonText" xml:space="preserve"> <value>Stops the current build</value> - <comment>Tooltip for the NAnt pad's stop button. Will stop the currently running build.</comment> </data> <data name="ICSharpCode.NAntAddIn.ProcessRunner.NoProcessRunningErrorText" xml:space="preserve"> <value>No process running.</value> - <comment>Attempted to wait for a process to finish but the process is not running error message.</comment> </data> <data name="ICSharpCode.NAntAddIn.RunCleanTargetMenuLabel" xml:space="preserve"> <value>Run &Clean Target</value> - <comment>Menu option to run NAnt to call the build file's "clean" target.</comment> </data> <data name="ICSharpCode.NAntAddIn.RunDefaultTargetMenuLabel" xml:space="preserve"> <value>Run Default &Target</value> - <comment>Menu option that runs NAnt to build the build file's default target.</comment> </data> <data name="ICSharpCode.NAntAddIn.RunTargetMenuLabel" xml:space="preserve"> <value>Run &Target</value> - <comment>NAnt pad right click menu option to run the selected NAnt target.</comment> </data> <data name="ICSharpCode.NAntAddIn.StopNAntMenuLabel" xml:space="preserve"> <value>&Stop NAnt</value> - <comment>Menu option to stop the currently running NAnt build.</comment> </data> <data name="ICSharpCode.NoStartupProject" xml:space="preserve"> <value>There is no startup project to debug.</value> @@ -4165,47 +4012,36 @@ Please configure the NAnt executable's location in the SharpDevelop Options.</va </data> <data name="ICSharpCode.PInvokeAddIn.InsertPInvokeSignaturesForm.AllLanguages" xml:space="preserve"> <value>All</value> - <comment>Drop down list option indicating "All" the languages should be returned.</comment> </data> <data name="ICSharpCode.PInvokeAddIn.InsertPInvokeSignaturesForm.DialogName" xml:space="preserve"> <value>Insert PInvoke Signature</value> - <comment>Insert PInvoke signature dialog title.</comment> </data> <data name="ICSharpCode.PInvokeAddIn.InsertPInvokeSignaturesForm.FindButtonText" xml:space="preserve"> <value>Find</value> - <comment>Find button text. Finds the matching pinvoke signature for the given search criteria.</comment> </data> <data name="ICSharpCode.PInvokeAddIn.InsertPInvokeSignaturesForm.FunctionNameLabel" xml:space="preserve"> <value>Function:</value> - <comment>Label for drop down list of PInvoke/Dll methods/functions (e.g. MessageBeep, CreateProcess).</comment> </data> <data name="ICSharpCode.PInvokeAddIn.InsertPInvokeSignaturesForm.InsertButtonText" xml:space="preserve"> <value>Insert</value> - <comment>Insert button text. Inserts pinvoke signature into source code.</comment> </data> <data name="ICSharpCode.PInvokeAddIn.InsertPInvokeSignaturesForm.LanguageLabel" xml:space="preserve"> <value>Language:</value> - <comment>Label for the drop down list of source code languages (e.g. C#, VB).</comment> </data> <data name="ICSharpCode.PInvokeAddIn.InsertPInvokeSignaturesForm.ModuleNameLabel" xml:space="preserve"> <value>Module:</value> - <comment>Label for drop down list of modules/dlls (e.g. user32)</comment> </data> <data name="ICSharpCode.PInvokeAddIn.InsertPInvokeSignaturesForm.MoreInfoLinkLabel" xml:space="preserve"> <value>More info</value> - <comment>Hyperlink label that the user can click to get "more information" on a particular pinvoke signature.</comment> </data> <data name="ICSharpCode.PInvokeAddIn.InsertPInvokeSignaturesForm.NoSignatureFoundForLanguage" xml:space="preserve"> <value>No signature found for language '{0}'.</value> - <comment>Error message returned when no p-invoke signatures found for the particular language (C# or VB).</comment> </data> <data name="ICSharpCode.PInvokeAddIn.InsertPInvokeSignaturesForm.NoSignaturesFound" xml:space="preserve"> <value>No signatures found.</value> - <comment>Error message indicating that no P-Invoke signatures were found for specified search criteria.</comment> </data> <data name="ICSharpCode.PInvokeAddIn.InsertPInvokeSignaturesMenuLabel" xml:space="preserve"> <value>Insert PInvoke signatures...</value> - <comment>Menu option that shows the "Insert PInvoke signatures" dialog.</comment> </data> <data name="ICSharpCode.PythonBinding.ConvertCSharpProjectToPythonProject" xml:space="preserve"> <value>From C# to Python</value> @@ -4215,19 +4051,15 @@ Please configure the NAnt executable's location in the SharpDevelop Options.</va </data> <data name="ICSharpCode.PythonBinding.PythonConsole" xml:space="preserve"> <value>Python Console</value> - <comment>interactive python interpreter</comment> </data> <data name="ICSharpCode.PythonBinding.PythonFiles" xml:space="preserve"> <value>Python Files</value> - <comment>file filter for *.py files</comment> </data> <data name="ICSharpCode.PythonBinding.PythonProjectFiles" xml:space="preserve"> <value>Python Project Files</value> - <comment>file filter for *.pyproj files</comment> </data> <data name="ICSharpCode.PythonBinding.SendLineToPythonConsole" xml:space="preserve"> <value>Send Line to Python Console</value> - <comment>Sends the line under the cursor in the text editor to the IronPython console window.</comment> </data> <data name="ICSharpCode.PythonBinding.SendSelectedTextToPythonConsole" xml:space="preserve"> <value>Send to Python Console</value> @@ -4237,7 +4069,6 @@ Please configure the NAnt executable's location in the SharpDevelop Options.</va </data> <data name="ICSharpCode.Refactoring.NoClassOrOverridableSymbolUnderCursorError" xml:space="preserve"> <value>The selected element is not a class or overridable member, so no derived symbols can be shown.</value> - <comment>Error message when using 'Search>Find Derived Symbols' when it isn't applicable.</comment> </data> <data name="ICSharpCode.RubyBinding.SendLineToRubyConsole" xml:space="preserve"> <value>Send Line to Ruby Console</value> @@ -4354,10 +4185,6 @@ Note: This doesn't affect own custom layouts.</value> </data> <data name="ICSharpCode.SharpDevelop.Commands.Convert" xml:space="preserve"> <value>Convert</value> - <comment>Menu item in project conctext menu -Subitems: - Convert to VB - Convert to c#</comment> </data> <data name="ICSharpCode.SharpDevelop.Commands.Convert.ConversionComplete" xml:space="preserve"> <value>Conversion complete.</value> @@ -4391,7 +4218,6 @@ Subitems: </data> <data name="ICSharpCode.SharpDevelop.Commands.ConvertCommand.FinishedMessage" xml:space="preserve"> <value>Project conversion has been successfully finished. You can find the converted project at this location:</value> - <comment>Message appears after a project has been successfully converted.</comment> </data> <data name="ICSharpCode.SharpDevelop.Commands.ConvertCSharpProjectToBoo" xml:space="preserve"> <value>From C# to Boo</value> @@ -4419,30 +4245,24 @@ Subitems: </data> <data name="ICSharpCode.SharpDevelop.Commands.ProjectBrowser.AddFilesToProject.FileIsReadOnly" xml:space="preserve"> <value>A write protected file with this name already exists at this location.</value> - <comment>Appears when the user tries to add a file to the project that already exists and is write protected.</comment> </data> <data name="ICSharpCode.SharpDevelop.Commands.ProjectBrowser.NoBackendForProjectType" xml:space="preserve"> <value>No backend for project type installed.</value> - <comment>Project browser node text for unknown project types.</comment> </data> <data name="ICSharpCode.SharpDevelop.Commands.ProjectBrowser.ProjectFileNotFound" xml:space="preserve"> <value>The project file cannot be found.</value> - <comment>Project browser node text for missing project files.</comment> </data> <data name="ICSharpCode.SharpDevelop.Commands.ProjectBrowser.ReferencesNodeText" xml:space="preserve"> <value>References</value> </data> <data name="ICSharpCode.SharpDevelop.Commands.ProjectBrowser.RefreshWebReference.ReadServiceDescriptionError" xml:space="preserve"> <value>Unable to read web service description. Url='{0}'</value> - <comment>Error message displayed when the user tries to refresh the web service proxy code, but for some reason the server hosting the web service is unavailable.</comment> </data> <data name="ICSharpCode.SharpDevelop.Commands.ProjectBrowser.SolutionItemsNodeText" xml:space="preserve"> <value>Solution Items</value> - <comment>Folder containing files associated with the solution</comment> </data> <data name="ICSharpCode.SharpDevelop.Commands.ProjectBrowser.SolutionNodeText" xml:space="preserve"> <value>Solution</value> - <comment>Text of root node in project browser</comment> </data> <data name="ICSharpCode.SharpDevelop.Commands.ReloadFile.FileDeletedMessage" xml:space="preserve"> <value>The file can not be found anymore.</value> @@ -4465,7 +4285,6 @@ All changes get lost.</value> </data> <data name="ICSharpCode.SharpDevelop.Commands.TabStrip.NavigateToFileInProjectBrowser" xml:space="preserve"> <value>Navigate to file in project browser</value> - <comment>From tab strip (tabs above editor), allows to navigate (expand and scroll) to given file in project browser (i.e. solution explorer)</comment> </data> <data name="ICSharpCode.SharpDevelop.Commands.VBConvertProjectToCSharp" xml:space="preserve"> <value>From VB.NET to C#</value> @@ -4479,7 +4298,7 @@ All changes get lost.</value> <data name="ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.TextEditorDisplayBinding.FileAlteredMessage" xml:space="preserve"> <value>The file ${File} -has been changed externally do you want to reload it?</value> +has been changed externally. Do you want to reload it?</value> </data> <data name="ICSharpCode.SharpDevelop.DefaultEditor.IncrementalSearch.ForwardsSearchStatusBarMessage" xml:space="preserve"> <value>Incremental Search:</value> @@ -4510,7 +4329,6 @@ has been changed externally do you want to reload it?</value> </data> <data name="ICSharpCode.SharpDevelop.ExceptionBox.HelpText2" xml:space="preserve"> <value>How to report errors efficiently: We have set up a Web-based forum to report and track errors that are reported by users of SharpDevelop. To minimize necessary questions by the team members, in addition to providing the error message that is copied to the clipboard for easier pasting in the error report, we ask that you provide us with an as detailed as possible step-by-step procedure to reproduce this bug.</value> - <comment>When translating this message, add a notice that error reports should be done in English.</comment> </data> <data name="ICSharpCode.SharpDevelop.ExceptionBox.QuitWarning" xml:space="preserve"> <value>Do you really want to quit SharpDevelop? Unsaved changes will be lost!</value> @@ -4607,23 +4425,18 @@ has been changed externally do you want to reload it?</value> </data> <data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.ImageResourceEditor.LocalResourceButton" xml:space="preserve"> <value>Local resource</value> - <comment>Text of the radio button to select a local resource (which will be stored in the resource file of the form being designed)</comment> </data> <data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.ImageResourceEditor.NoResourceButton" xml:space="preserve"> <value>None</value> - <comment>Text of radio button to select no resource</comment> </data> <data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.ImageResourceEditor.Preview" xml:space="preserve"> <value>Preview</value> - <comment>Title of the image preview box in the image resource editor dialog</comment> </data> <data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.ImageResourceEditor.ProjectResourceButton" xml:space="preserve"> <value>Project resource</value> - <comment>Text of radio button to select a project resource (which is stored in a resource file in the current project)</comment> </data> <data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.ImageResourceEditor.Title" xml:space="preserve"> <value>Select resource</value> - <comment>Title of a dialog in the Windows.Forms designer that allows selecting a resource for an image property</comment> </data> <data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.GeneralOptionsPanel.GeneratedCodeGroupBox" xml:space="preserve"> <value>Generated code</value> @@ -4744,86 +4557,66 @@ No Windows Forms components will be avaiable, please configure the side bar manu </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.BackButtonTooltip" xml:space="preserve"> <value>Back</value> - <comment>Add web reference back button tooltip.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.BindingProperty" xml:space="preserve"> <value>Binding</value> - <comment>Property name for a web service port binding.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.DialogTitle" xml:space="preserve"> <value>Add Web Reference</value> - <comment>Title of the Add Web Reference dialog.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.DocumentationProperty" xml:space="preserve"> <value>Documentation</value> - <comment>Property name displayed next to the web service documentation text.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.ForwardButtonTooltip" xml:space="preserve"> <value>Forward</value> - <comment>Tooltip for the browser forward button.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.GoButtonTooltip" xml:space="preserve"> <value>Go</value> - <comment>Tooltip for browser's go button.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.InvalidNamespaceError" xml:space="preserve"> <value>The namespace contains invalid characters. A namespace can only contain letters, digits or underscores.</value> - <comment>Shown to the user if they attempt to create a web reference where the namespace has invalid characters.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.InvalidReferenceNameError" xml:space="preserve"> <value>Reference name contains invalid characters.</value> - <comment>Error message shown when the web reference name entered by the user is invalid.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.NamespaceLabel" xml:space="preserve"> <value>&Namespace:</value> - <comment>Label next to the namespace text box that will be used when generating the web proxy code.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.ParametersProperty" xml:space="preserve"> <value>Parameters</value> - <comment>Text displayed next to web service parameters when the user selects the web service node.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.PropertyColumnHeader" xml:space="preserve"> <value>Property</value> - <comment>Title of list view column showing the names of various web service properties.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.ReferenceNameLabel" xml:space="preserve"> <value>&Reference Name:</value> - <comment>Label next to the text box containing the name that will be used for the web reference.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.RefreshButtonTooltip" xml:space="preserve"> <value>Refresh</value> - <comment>Add web reference dialog browser refresh button tooltip.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.RetrievalUriProperty" xml:space="preserve"> <value>Retrieval URI</value> - <comment>Text displayed in the property/value list when the user selects the service description list view node.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.ServiceNameProperty" xml:space="preserve"> <value>Service</value> - <comment>Displayed next to a web service name when the user selects a web service node in the list view.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.StopButtonTooltip" xml:space="preserve"> <value>Stop</value> - <comment>Tooltip for the browser stop button.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.UrlAddressLabel" xml:space="preserve"> <value>&Address:</value> - <comment>Label next to text box where the user types in the http url to a web service description.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.ValueColumnHeader" xml:space="preserve"> <value>Value</value> - <comment>Name of list column header showing web service property values.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.WebServicesTabPageTitle" xml:space="preserve"> <value>Available Web Services</value> - <comment>Title for the tab that shows the web service operations available for a given url.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AttachToProcessForm.AttachButtonText" xml:space="preserve"> <value>Attach</value> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AttachToProcessForm.Managed" xml:space="preserve"> <value>Managed</value> - <comment>Indicates that a process is managed code in the attach to process dialog.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.AttachToProcessForm.Title" xml:space="preserve"> <value>Attach to Process</value> @@ -4844,7 +4637,6 @@ Only letters, digits, space, '.' or '_' are allowed.</value> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.NewProjectDialog.SpecifyValidLocation" xml:space="preserve"> <value>You must specify a valid absolute path as project location.</value> - <comment>Error message when location for new project is invalid</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.OptionPanels.RegisterFiletypesPanel.CaptionLabel" xml:space="preserve"> <value>&Select the file types you want to associate with SharpDevelop:</value> @@ -4878,11 +4670,9 @@ Only letters, digits, space, '.' or '_' are allowed.</value> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.ToolNotFoundDialog.Title" xml:space="preserve"> <value>Tool not found</value> - <comment>Title of dialog window that appears when an external tool (SHFB or TortoiseSVN) is missing</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.UserCredentialsDialog.DialogTitle" xml:space="preserve"> <value>Discovery Credential</value> - <comment>UserCredentials dialog title. Dialog pops up when the user needs to specify username/pass to view a web service.</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.Dialogs.UserCredentialsDialog.DomainLabel" xml:space="preserve"> <value>&Domain:</value> @@ -4901,7 +4691,6 @@ Only letters, digits, space, '.' or '_' are allowed.</value> </data> <data name="ICSharpCode.SharpDevelop.Gui.OutlinePad" xml:space="preserve"> <value>Outline</value> - <comment>Document outline pad</comment> </data> <data name="ICSharpCode.SharpDevelop.Gui.OutlinePad.NotAvailable" xml:space="preserve"> <value>Outline view is not available for the current document.</value> @@ -4920,7 +4709,6 @@ Only letters, digits, space, '.' or '_' are allowed.</value> </data> <data name="ICSharpCode.SharpDevelop.Internal.ParserService.Parsing" xml:space="preserve"> <value>Parsing</value> - <comment>Status bar message indicating that SharpDevelop is parsing the user code</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectFile.BuildAction" xml:space="preserve"> <value>Build action</value> @@ -4948,11 +4736,9 @@ Only letters, digits, space, '.' or '_' are allowed.</value> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectFile.FileName.Description" xml:space="preserve"> <value>The full path to the file.</value> - <comment>Description shown for the 'File name' property in the property grid when a file is selected in the project browser.</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectFile.LogicalName" xml:space="preserve"> <value>Logical Name</value> - <comment>Logical Name property for embedded resource files</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectFile.LogicalName.Description" xml:space="preserve"> <value>The name of the embedded resource. If left empty, the name is automatically generated.</value> @@ -4965,11 +4751,9 @@ Only letters, digits, space, '.' or '_' are allowed.</value> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.Culture" xml:space="preserve"> <value>Culture</value> - <comment>Reference's culture property.</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.Culture.Description" xml:space="preserve"> <value>The culture supported by the reference</value> - <comment>Reference's culture property description.</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.LocalCopy" xml:space="preserve"> <value>Local copy</value> @@ -4979,51 +4763,39 @@ Only letters, digits, space, '.' or '_' are allowed.</value> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.Name" xml:space="preserve"> <value>(Name)</value> - <comment>Property value for the reference name. Keep the () brackets so that this property appears at first (i.e. at the top of the property list).</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.Name.Description" xml:space="preserve"> <value>The reference name</value> - <comment>Property value description.</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.PublicKeyToken" xml:space="preserve"> <value>Public Key Token</value> - <comment>Assembly reference's public key token property.</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.PublicKeyToken.Description" xml:space="preserve"> <value>The public key token</value> - <comment>Assembly reference's public key token property description</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.SpecificVersion" xml:space="preserve"> <value>Specific Version</value> - <comment>Reference property name indicating if the reference is to a specific version</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.SpecificVersion.Description" xml:space="preserve"> <value>Indicates if this reference is bound to a specific version of the assembly</value> - <comment>Reference property description.</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.UrlBehaviour" xml:space="preserve"> <value>URL Behaviour</value> - <comment>Web reference url behaviour property displayed in property browser.</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.UrlBehaviour.Description" xml:space="preserve"> <value>Web reference URL behaviour</value> - <comment>Property description for web reference url behaviour .</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.Version" xml:space="preserve"> <value>Version</value> - <comment>Property name indicating the assembly reference version number.</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.Version.Description" xml:space="preserve"> <value>The major, minor, revision and build numbers of the reference</value> - <comment>Reference's version property description.</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.WebReferenceUrl" xml:space="preserve"> <value>Web Reference URL</value> - <comment>Name of property showing the web reference's url.</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.WebReferenceUrl.Description" xml:space="preserve"> <value>Web reference URL</value> - <comment>Property description for the web reference url.</comment> </data> <data name="ICSharpCode.SharpDevelop.Internal.Templates.CombineDescriptor.OverwriteProjectQuestion" xml:space="preserve"> <value>Solution file ${combineLocation} already exists, do you want to overwrite the existing file?</value> @@ -5046,6 +4818,15 @@ Only letters, digits, space, '.' or '_' are allowed.</value> <data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve"> <value>Loading ${Filename}...</value> </data> + <data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve"> + <value>Keep old solution open</value> + </data> + <data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve"> + <value>Reload solution</value> + </data> + <data name="ICSharpCode.SharpDevelop.Project.SolutionAlteredExternallyMessage" xml:space="preserve"> + <value>The solution has been changed externally.</value> + </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeCompilerVersionLabel" xml:space="preserve"> <value>Convert selected &projects to:</value> </data> @@ -5054,7 +4835,6 @@ Only letters, digits, space, '.' or '_' are allowed.</value> </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeVersionGroupBoxHeader" xml:space="preserve"> <value>Change version of selected projects</value> - <comment>Title of group box that allows changing the version of the selected projects</comment> </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.CompilerVersion" xml:space="preserve"> <value>Compiler Version</value> @@ -5064,7 +4844,6 @@ Only letters, digits, space, '.' or '_' are allowed.</value> </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.DoNotChange" xml:space="preserve"> <value><do not change></value> - <comment>item in compiler version/target framework combo boxes that is used to indicate an ambiguous selection (several projects with different targets frameworks) and allows the user to change one of (compiler version, target framework) without changing the other</comment> </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.TargetFramework" xml:space="preserve"> <value>Target Framework</value> @@ -5088,7 +4867,6 @@ Goto 'Options->Visual Style' and change the current language ambience.</value </data> <data name="ICSharpCode.UnitTesting.AllTestsTreeNode.Text" xml:space="preserve"> <value>All Tests</value> - <comment>Unit Tests tree root node text when a solution contains multiple test projects.</comment> </data> <data name="ICSharpCode.UnitTesting.CodeCoverage" xml:space="preserve"> <value>Code Coverage</value> @@ -5128,11 +4906,9 @@ Goto 'Options->Visual Style' and change the current language ambience.</value </data> <data name="ICSharpCode.UnitTesting.StatusBarProgressLabel" xml:space="preserve"> <value>Testing ${Name}...</value> - <comment>Label next to the progress bar in the status bar when running unit tests</comment> </data> <data name="ICSharpCode.UnitTesting.TestMenu" xml:space="preserve"> <value>&Test</value> - <comment>The "Test" submenu in the "Analysis" menu</comment> </data> <data name="ICSharpCode.UnitTesting.TestRunnerNotFoundMessageFormat" xml:space="preserve"> <value>Unable to run unit tests. The file '{0}' cannot be found.</value> @@ -5223,7 +4999,6 @@ Goto 'Options->Visual Style' and change the current language ambience.</value </data> <data name="ICSharpCode.WixBinding.DialogDesignerGenerator.DialogIdNotFoundMessage" xml:space="preserve"> <value>Could not find dialog id '{0}' in the document.</value> - <comment>Error message displayed by the forms designer when for some reason it cannot find the dialog id in the document.</comment> </data> <data name="ICSharpCode.WixBinding.ExtensionBinding.InvalidExtension" xml:space="preserve"> <value>An extension must be of the form: Class, Assembly @@ -5276,7 +5051,6 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< </data> <data name="ICSharpCode.WixBinding.ProjectBrowser.ContextMenu.AddWixLibrary" xml:space="preserve"> <value>Add WiX Library</value> - <comment>Menu item to add a Wix Library (wixlib) to a Wix project.</comment> </data> <data name="ICSharpCode.WixBinding.ProjectOptions.OutputType.Installer" xml:space="preserve"> <value>Installation Package</value> @@ -5292,12 +5066,6 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< </data> <data name="ICSharpCode.WixBinding.ViewDialogXml.DialogIdNotFoundMessage" xml:space="preserve"> <value>Unable to find '{0}' in {1}</value> - <comment>{0} = Dialog id. -{1} = Filename. - -The full string will be: - -Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="ICSharpCode.WixBinding.WixCompilerExtensionPicker.AddButton" xml:space="preserve"> <value>Add...</value> @@ -5307,7 +5075,6 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="ICSharpCode.WixBinding.WixDialog.RequiredAttributeMissingMessage" xml:space="preserve"> <value>Required attribute '{0}' is missing.</value> - <comment>Error message specifying the xml attribute that is required but missing in the Wix dialog xml.</comment> </data> <data name="ICSharpCode.WixBinding.WixDialogDesigner.NoDialogSelectedInDocumentMessage" xml:space="preserve"> <value>No setup dialog selected in Wix document. Please move the cursor inside a dialog element or use the Setup Dialogs window to open a dialog.</value> @@ -5386,7 +5153,6 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="ICSharpCode.WixBinding.WixFileFilterName" xml:space="preserve"> <value>WiX files</value> - <comment>Name of file filter for WiX files.</comment> </data> <data name="ICSharpCode.WixBinding.WixLibraryFolderNode.Text" xml:space="preserve"> <value>WiX Libraries</value> @@ -5399,15 +5165,12 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="ICSharpCode.WixBinding.WixPackageFilesDiffControl.NoDiffFound" xml:space="preserve"> <value>No difference found.</value> - <comment>Message displayed in the Wix diff control to indicate that no differences between the files specified in the Wix setup document and the files on the file system were found.</comment> </data> <data name="ICSharpCode.WixBinding.WixProjectFileAssociation" xml:space="preserve"> <value>WiX Project</value> - <comment>Title displayed in the File Format Associations options page for Wix projects.</comment> </data> <data name="ICSharpCode.WixBinding.WixProjectFilesFilterName" xml:space="preserve"> <value>WiX Project Files</value> - <comment>Name for the WiX Projects file filter in the File Open dialog.</comment> </data> <data name="ICSharpCode.WixBinding.WixPubcaExtensionTitle" xml:space="preserve"> <value>COM+ and Message Queue Extension (pubca)</value> @@ -5471,11 +5234,9 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="ICSharpCode.XmlEditor.CreateSchemaMenuLabel" xml:space="preserve"> <value>&Create Schema</value> - <comment>Menu option that creates or generates an simple xml schema from the xml file currently displayed.</comment> </data> <data name="ICSharpCode.XmlEditor.HideXPathResults" xml:space="preserve"> <value>Hide &XPath Results</value> - <comment>Menu item that is used to remove the highlighting on items matched by the XPath query.</comment> </data> <data name="ICSharpCode.XmlEditor.OpenXSLT" xml:space="preserve"> <value>&Open XSLT</value> @@ -5485,71 +5246,54 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="ICSharpCode.XmlEditor.SelectXmlSchema.DialogTitle" xml:space="preserve"> <value>Select XML Schema</value> - <comment>Name of dialog allowing the user to choose a schema from a list of schema namespaces. Dialog is opened when the user is associating a schema with a file extension.</comment> </data> <data name="ICSharpCode.XmlEditor.ValidateXmlMenuLabel" xml:space="preserve"> <value>&Validate XML</value> - <comment>Menu option to validate the xml file currently open.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlEditorOptionsPanel.FoldingGroupLabel" xml:space="preserve"> <value>Folding</value> - <comment>Name of the group label that holds settings for xml folding.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlEditorOptionsPanel.ShowAttributesWhenFoldedLabel" xml:space="preserve"> <value>Show &attributes when folded</value> - <comment>Check box label - shows/hides xml attributes when the element is folded.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlEditorOptionsPanel.ShowSchemaAnnotationLabel" xml:space="preserve"> <value>Show schema anno&tation</value> - <comment>Check box label. Toggles on/off the display of xs:annotation/xs:documentation text, found in the schema, alongside the xml intellisense list.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlEditorOptionsPanel.Title" xml:space="preserve"> <value>XML Options</value> - <comment>Name of the xml editor options panel.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlEditorOptionsPanel.XmlCompletionGroupLabel" xml:space="preserve"> <value>XML Completion</value> - <comment>Label for xml auto-completion/intellisense options group.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlSchemaPanel.FileExtensionLabelText" xml:space="preserve"> <value>&Extension:</value> - <comment>Label for a drop down list of file extensions.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlSchemaPanel.FileExtensionsGroupBoxText" xml:space="preserve"> <value>File Extensions</value> - <comment>Name of group box containing the file extensions and their associated schemas.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlSchemaPanel.NamespacePrefixLabelText" xml:space="preserve"> <value>&Prefix:</value> - <comment>Label for the namespace prefix (e.g. "xs") that will be associated with a given xml file extension by default.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlSchemaPanel.SchemaLabelText" xml:space="preserve"> <value>&Schema:</value> - <comment>Label for the schema namespace associated with a file extension.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlSchemaPanel.SchemasGroupBoxText" xml:space="preserve"> <value>Schemas</value> - <comment>Name of xml schemas group box in the xml schema options dialog.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlSchemasPanel.NamespaceExists" xml:space="preserve"> <value>Unable to add schema. The namespace '{0}' already exists.</value> - <comment>User tried to add a schema to SharpDevelop but one has been added before with that particular namespace.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlSchemasPanel.NoTargetNamespace" xml:space="preserve"> <value>Schema '{0}' does not have a target namespace.</value> - <comment>For a schema to be added to the xml intellisense it must have a namespace associated with it. This error occurs when the user tries to add a schema 'filename' that does not have a targetNamespace attribute.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlSchemasPanel.Title" xml:space="preserve"> <value>XML Schemas</value> - <comment>Name of the options panel for configuring xml schemas that SharpDevelop will provide autocomplete/intellisense for.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlSchemasPanel.UnableToAddSchema" xml:space="preserve"> <value>Unable to add schema.</value> - <comment>User browsed for an xml schema on the file system, but we could not add it to SharpDevelop for some reason.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlSchemasPanel.UnableToSaveChanges" xml:space="preserve"> <value>Unable to save changes.</value> - <comment>This message is shown if SharpDevelop could not save the changes the user made to the xml schemas options panel.</comment> </data> <data name="ICSharpCode.XmlEditor.XmlTreeView.AddAttributeMenuLabel" xml:space="preserve"> <value>Add Attribute...</value> @@ -5586,7 +5330,6 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="ICSharpCode.XmlEditor.XmlTreeView.Title" xml:space="preserve"> <value>XML Tree</value> - <comment>The title for the Xml Tree tab.</comment> </data> <data name="ICSharpCode.XmlEditor.XPathQueryPad.NamespaceColumnHeaderTitle" xml:space="preserve"> <value>Namespace</value> @@ -5647,11 +5390,9 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="MainWindow.CannotCloseWithBuildInProgressMessage" xml:space="preserve"> <value>The build must finish before SharpDevelop can be closed.</value> - <comment>Warning message displayed to user if they try to close SharpDevelop whilst a build is running.</comment> </data> <data name="MainWindow.CompilerMessages.BuildCancelled" xml:space="preserve"> <value>Build was cancelled.</value> - <comment>Message when build was cancelled by user</comment> </data> <data name="MainWindow.CompilerMessages.BuildFailed" xml:space="preserve"> <value>Build failed.</value> @@ -5667,11 +5408,9 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="MainWindow.CompilerMessages.BuildVerb" xml:space="preserve"> <value>Building</value> - <comment>Verb describing that SharpDevelop is currently building a project</comment> </data> <data name="MainWindow.CompilerMessages.CompileVerb" xml:space="preserve"> <value>Compiling</value> - <comment>Verb describing that SharpDevelop is currently compiling a project</comment> </data> <data name="MainWindow.CompilerMessages.CreatingCOMInteropAssembly" xml:space="preserve"> <value>Building COM interop assembly...</value> @@ -5690,7 +5429,6 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="MainWindow.CompilerMessages.SkipProjectNoChanges" xml:space="preserve"> <value>Skipped ${Name} (no changes inside SharpDevelop)</value> - <comment>Message when a project is not compiled because it was not modified</comment> </data> <data name="MainWindow.DialogName" xml:space="preserve"> <value>SharpDevelop</value> @@ -5712,7 +5450,6 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="MainWindow.Windows.BookmarkPad.DeleteAllMarks.ToolTip" xml:space="preserve"> <value>Delete all bookmarks in all buffers.</value> - <comment>DeleteAllMarks icon tooltip.</comment> </data> <data name="MainWindow.Windows.BookmarkPad.DeleteMark.ToolTip" xml:space="preserve"> <value>Delete bookmark</value> @@ -5728,11 +5465,9 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="MainWindow.Windows.BookmarkPad.LineText" xml:space="preserve"> <value>{0} @line {1}</value> - <comment>format string for displaying "filename @line #" in the bookmarks pad</comment> </data> <data name="MainWindow.Windows.BookmarkPad.LocationText" xml:space="preserve"> <value>Location</value> - <comment>Column title for the bookmark location</comment> </data> <data name="MainWindow.Windows.BookmarksLabel" xml:space="preserve"> <value>Bookmarks</value> @@ -5805,7 +5540,6 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="MainWindow.Windows.Debug.CallStack.ExternalMethods" xml:space="preserve"> <value>[External methods]</value> - <comment>Show in the callstack instead of external methods (without symbols)</comment> </data> <data name="MainWindow.Windows.Debug.CallStack.FunctionSwitch" xml:space="preserve"> <value>Function switch</value> @@ -5857,7 +5591,6 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="MainWindow.Windows.Debug.Conditional.Breakpoints.ConditionalColumnHeader" xml:space="preserve"> <value>Condition</value> - <comment>column title for a conditional breakpoint's condition</comment> </data> <data name="MainWindow.Windows.Debug.Conditional.Breakpoints.Continue" xml:space="preserve"> <value>Continue</value> @@ -5888,18 +5621,12 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> </data> <data name="MainWindow.Windows.Debug.ExceptionForm.Break" xml:space="preserve"> <value>Break</value> - <comment>Button. -Breaks the execution. Shows the current location of debuggee in the editor.</comment> </data> <data name="MainWindow.Windows.Debug.ExceptionForm.Continue" xml:space="preserve"> <value>Continue</value> - <comment>Button. -Continues the execution of debuggee. -Button is enabled only for handled exceptions.</comment> </data> <data name="MainWindow.Windows.Debug.ExceptionForm.Error.CannotInterceptException" xml:space="preserve"> <value>Can not intercept exception. Debugged program can not be continued and properties can not be evaluated.</value> - <comment>eg. Happens on StackOverflow exception.</comment> </data> <data name="MainWindow.Windows.Debug.ExceptionForm.HideExceptionDetails" xml:space="preserve"> <value>Hide Exception Details</value> @@ -5909,11 +5636,9 @@ Button is enabled only for handled exceptions.</comment> </data> <data name="MainWindow.Windows.Debug.ExceptionForm.LineFormat.NoSymbols" xml:space="preserve"> <value>at {0}</value> - <comment>NB: Only used for exceptions that can not be intercepted (eg. StackOverflow)</comment> </data> <data name="MainWindow.Windows.Debug.ExceptionForm.LineFormat.Symbols" xml:space="preserve"> <value>at {0} in {1}:line {2}</value> - <comment>NB: Only used for exceptions that can not be intercepted (eg. StackOverflow)</comment> </data> <data name="MainWindow.Windows.Debug.ExceptionForm.Message" xml:space="preserve"> <value>An exception of type {0} was thrown:\n{1}</value> @@ -5923,12 +5648,9 @@ Button is enabled only for handled exceptions.</comment> </data> <data name="MainWindow.Windows.Debug.ExceptionForm.Terminate" xml:space="preserve"> <value>Terminate</value> - <comment>Button. -Stop/terminate the debuggee.</comment> </data> <data name="MainWindow.Windows.Debug.ExceptionForm.Title" xml:space="preserve"> <value>Exception</value> - <comment>NOT USED</comment> </data> <data name="MainWindow.Windows.Debug.ExceptionForm.Title.Handled" xml:space="preserve"> <value>Handled exception</value> @@ -5956,25 +5678,21 @@ Stop/terminate the debuggee.</comment> </data> <data name="MainWindow.Windows.Debug.LocalVariables.BaseClass" xml:space="preserve"> <value>Base class</value> - <comment>Name of submenu which contains members of type's base class</comment> </data> <data name="MainWindow.Windows.Debug.LocalVariables.CannotExploreVariablesWhileRunning" xml:space="preserve"> <value>You cannot explore variables while the debuggee is running.</value> </data> <data name="MainWindow.Windows.Debug.LocalVariables.CannotSetValue.BadFormat" xml:space="preserve"> <value>Can not convert {0} to {1}</value> - <comment>Occurs when user edits value but enters value in a bad format</comment> </data> <data name="MainWindow.Windows.Debug.LocalVariables.CannotSetValue.Title" xml:space="preserve"> <value>Can not set value</value> </data> <data name="MainWindow.Windows.Debug.LocalVariables.CannotSetValue.UnknownError" xml:space="preserve"> <value>Can not set value</value> - <comment>Generic error. Occurs when user edits value.</comment> </data> <data name="MainWindow.Windows.Debug.LocalVariables.CopyToClipboard" xml:space="preserve"> <value>Copy value to clipboard</value> - <comment>Item in variable's context menu</comment> </data> <data name="MainWindow.Windows.Debug.LocalVariables.NonPublicMembers" xml:space="preserve"> <value>Non-Public members</value> @@ -5984,21 +5702,15 @@ Stop/terminate the debuggee.</comment> </data> <data name="MainWindow.Windows.Debug.LocalVariables.PrivateMembers" xml:space="preserve"> <value>Private members</value> - <comment>obsolete</comment> </data> <data name="MainWindow.Windows.Debug.LocalVariables.PrivateStaticMembers" xml:space="preserve"> <value>Private Static members</value> - <comment>obsolete</comment> </data> <data name="MainWindow.Windows.Debug.LocalVariables.ShowFullError" xml:space="preserve"> <value>Show full error...</value> - <comment>Context menu item. -Shown for values that could not be obtained due to error. -Shows the full callstack of the error.</comment> </data> <data name="MainWindow.Windows.Debug.LocalVariables.ShowInHexadecimal" xml:space="preserve"> <value>Show values in hexadecimal</value> - <comment>Item in variable's context menu</comment> </data> <data name="MainWindow.Windows.Debug.LocalVariables.StaticMembers" xml:space="preserve"> <value>Static members</value> @@ -6143,7 +5855,6 @@ Shows the full callstack of the error.</comment> </data> <data name="MainWindow.Windows.DefinitionViewLabel" xml:space="preserve"> <value>Definition View</value> - <comment>Title of the definition view pad</comment> </data> <data name="MainWindow.Windows.ErrorList" xml:space="preserve"> <value>Errors</value> @@ -6168,19 +5879,15 @@ Shows the full callstack of the error.</comment> </data> <data name="MainWindow.Windows.FileScout.DriveType.CD" xml:space="preserve"> <value>CD</value> - <comment>CD/DVD</comment> </data> <data name="MainWindow.Windows.FileScout.DriveType.Fixed" xml:space="preserve"> <value>Fixed</value> - <comment>fixed drive => hard disk</comment> </data> <data name="MainWindow.Windows.FileScout.DriveType.Remote" xml:space="preserve"> <value>Remote</value> - <comment>Network drive</comment> </data> <data name="MainWindow.Windows.FileScout.DriveType.Removeable" xml:space="preserve"> <value>Removeable</value> - <comment>removeable drive, e.g. floppy</comment> </data> <data name="MainWindow.Windows.FileScout.LastModified" xml:space="preserve"> <value>Last modified</value> @@ -6226,7 +5933,6 @@ Shows the full callstack of the error.</comment> </data> <data name="MainWindow.Windows.SearchResultPanel.ClearHistory" xml:space="preserve"> <value><Clear History></value> - <comment>Menu command to remove previous searches</comment> </data> <data name="MainWindow.Windows.SearchResultPanel.CollapseAll.ToolTip" xml:space="preserve"> <value>Collapse all</value> @@ -6242,7 +5948,6 @@ Shows the full callstack of the error.</comment> </data> <data name="MainWindow.Windows.SearchResultPanel.In" xml:space="preserve"> <value>in</value> - <comment>used like this: occurrences IN files</comment> </data> <data name="MainWindow.Windows.SearchResultPanel.OccurrencesCount" xml:space="preserve"> <value>${Count} occurrences</value> @@ -6300,15 +6005,12 @@ Shows the full callstack of the error.</comment> </data> <data name="MainWindow.XmlValidationMessages.ValidationFailed" xml:space="preserve"> <value>Validation: failed</value> - <comment>Displayed in the output window when the xml validation failed.</comment> </data> <data name="MainWindow.XmlValidationMessages.ValidationStarted" xml:space="preserve"> <value>------ Validating XML ------</value> - <comment>Displayed in output window to indicate that the xml validation has started.</comment> </data> <data name="MainWindow.XmlValidationMessages.ValidationSuccess" xml:space="preserve"> <value>Validation: succeeded</value> - <comment>Displayed in the output window after the xml has been successfully validated.</comment> </data> <data name="NUnitPad.NUnitPadContent.CancelItem" xml:space="preserve"> <value>Unloads the test assemblies, cancels the auto loading.</value> @@ -6342,9 +6044,6 @@ Shows the full callstack of the error.</comment> </data> <data name="NUnitPad.NUnitPadContent.TestTreeView.TestFailedMessage" xml:space="preserve"> <value>Test case '${TestCase}' failed.</value> - <comment>Indicates that the test failed if the test has no error message to display. - -Removed the end part of the original message ", reason '${Message}'" since this is often not visible in the errors list if the test case name is long.</comment> </data> <data name="NUnitPad.NUnitPadContent.TestTreeView.TestNotExecutedMessage" xml:space="preserve"> <value>Test case '${TestCase}' was not executed.</value> @@ -6378,7 +6077,6 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="OpenFileTabEventHandler.FileContainingFolderInExplorer" xml:space="preserve"> <value>Open containing folder in Explorer</value> - <comment>String for the editor tab context menu that will open the directory in which a documents file is contained in Windows Explorer.</comment> </data> <data name="ProjectBrowser.Toolbar.CollapseAll" xml:space="preserve"> <value>Collapse all nodes</value> @@ -6412,7 +6110,6 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="ProjectComponent.ContextMenu.AddWebReference" xml:space="preserve"> <value>Add Web Reference</value> - <comment>Right click context menu option to add a web reference to the project.</comment> </data> <data name="ProjectComponent.ContextMenu.Build" xml:space="preserve"> <value>B&uild</value> @@ -6422,7 +6119,6 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="ProjectComponent.ContextMenu.CollapseAll" xml:space="preserve"> <value>Collapse all</value> - <comment>Collapses this node and all its subtree in project browser (i.e. solution explorer)</comment> </data> <data name="ProjectComponent.ContextMenu.Delete.Question" xml:space="preserve"> <value>Delete '${FileName}' permanently?</value> @@ -6441,7 +6137,6 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="ProjectComponent.ContextMenu.ExistingFolder" xml:space="preserve"> <value>Existing folder...</value> - <comment>Project > Add > Existing folder</comment> </data> <data name="ProjectComponent.ContextMenu.ExistingFolder.CopyQuestion" xml:space="preserve"> <value>Do you want to copy the folder to the target directory?</value> @@ -6451,14 +6146,12 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="ProjectComponent.ContextMenu.ExistingItemAsDependent" xml:space="preserve"> <value>Existing Item as Dependent Item...</value> - <comment>Context menu entry for a file; adds an existing item which will be dependent upon the selected file</comment> </data> <data name="ProjectComponent.ContextMenu.ExistingProject" xml:space="preserve"> <value>&Existing Project...</value> </data> <data name="ProjectComponent.ContextMenu.GenerateDocumentation" xml:space="preserve"> <value>Build documentation from XML comments</value> - <comment>Build documentation from XML comments using Sandcastle</comment> </data> <data name="ProjectComponent.ContextMenu.GenerateDocumentation.NeedToEditBuildOptions" xml:space="preserve"> <value>You need to edit the project build options to generate a xml documentation file.</value> @@ -6471,7 +6164,6 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="ProjectComponent.ContextMenu.GenerateDocumentation.SHFBNotFound" xml:space="preserve"> <value>Generating documentation from XML comments requires the 'Sandcastle Help File Builder' to be installed.</value> - <comment>Message when clicking on 'generate documentation' and SHFB is missing</comment> </data> <data name="ProjectComponent.ContextMenu.HtmlExport" xml:space="preserve"> <value>Html E&xport</value> @@ -6487,7 +6179,6 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="ProjectComponent.ContextMenu.NewDependentItem" xml:space="preserve"> <value>New Dependent Item...</value> - <comment>Context menu entry for a file; adds a new file which will be dependent upon the selected file</comment> </data> <data name="ProjectComponent.ContextMenu.NewFolder" xml:space="preserve"> <value>N&ew Folder</value> @@ -6506,14 +6197,12 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="ProjectComponent.ContextMenu.OpenProjectOutputFolder" xml:space="preserve"> <value>Open Output Folder</value> - <comment>Opens the output folder (where the project binaries get created) in windows explorer.</comment> </data> <data name="ProjectComponent.ContextMenu.Rebuild" xml:space="preserve"> <value>R&ebuild</value> </data> <data name="ProjectComponent.ContextMenu.RefreshWebReference" xml:space="preserve"> <value>Refresh Web Reference</value> - <comment>Right click context menu option that will update/refresh the web reference (i.e. regenerates the web proxy and downloads any extra files from the web service url).</comment> </data> <data name="ProjectComponent.ContextMenu.Rename" xml:space="preserve"> <value>Re&name</value> @@ -6532,7 +6221,6 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="ProjectComponent.RemoveAllWebReferences.Title" xml:space="preserve"> <value>Delete all web references</value> - <comment>Title of the dialog box when the user tries to remove all web references.</comment> </data> <data name="RegExpTk.MainDialog.Assemblies" xml:space="preserve"> <value>Assemblies (*.dll)|*.dll</value> @@ -6653,21 +6341,18 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="RegExpTk.RegExpMenu.UngreedyStar" xml:space="preserve"> <value>Ungreedy star</value> - <comment>An ungreedy star can match any number of characters, but unlike the normal star, it only matches as few as required (by the rest of the expression).</comment> </data> <data name="RegExpTk.RegExpMenu.WhitespaceCharacter" xml:space="preserve"> <value>Whitespace character</value> </data> <data name="RegExpTk.RegExpMenu.WordBorder" xml:space="preserve"> <value>Word border</value> - <comment>"Word border" is a "character" of length 0 representing a location between word and non-word character - either start or end of a word.</comment> </data> <data name="RegExpTk.RegExpMenu.WordCharacter" xml:space="preserve"> <value>Word character value</value> </data> <data name="ResourceEditor.BitmapView.UpdateBitmap" xml:space="preserve"> <value>Update bitmap ...</value> - <comment>Text for the link label that make it possible to update the stored bitmap</comment> </data> <data name="ResourceEditor.DeleteEntry.Confirm" xml:space="preserve"> <value>Do you really want to delete the selected resource(s)?</value> @@ -6677,9 +6362,6 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="ResourceEditor.Messages.CantLoadResource" xml:space="preserve"> <value>Can't load resource</value> - <comment>start of messagebox warning text, ex: - -"Can't load resource" + resourceName</comment> </data> <data name="ResourceEditor.ResourceCodeGeneratorTool.ClassConflict" xml:space="preserve"> <value>Error: Resource code generator is skipping resource file "{0}" because the generated class would conflict with the existing class "{1}".</value> @@ -6698,7 +6380,6 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="ResourceEditor.ResourceEdit.ContextMenu.CopyResourceName" xml:space="preserve"> <value>Copy resource name</value> - <comment>Context menu item; copies the name of the currently selcted resource item to the clipboard</comment> </data> <data name="ResourceEditor.ResourceEdit.ContextMenu.Rename" xml:space="preserve"> <value>&Rename</value> @@ -6759,7 +6440,6 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="SharpDevelop.FileFilter.KeyFiles" xml:space="preserve"> <value>Key files</value> - <comment>File filter for .snk, .pfx and .key files</comment> </data> <data name="SharpDevelop.FileFilter.NAnt" xml:space="preserve"> <value>NAnt Build Files</value> @@ -6784,7 +6464,6 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="SharpDevelop.FileFilter.XmlSchemaFiles" xml:space="preserve"> <value>XML Schema Files (*.xsd)</value> - <comment>File filter for .xsd files.</comment> </data> <data name="SharpDevelop.FileFilter.XslFiles" xml:space="preserve"> <value>XSL files</value> @@ -6815,7 +6494,6 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="SharpDevelop.Refactoring.ClassesDerivingFrom" xml:space="preserve"> <value>Classes deriving from ${Name}</value> - <comment>Title for search results for derived classes</comment> </data> <data name="SharpDevelop.Refactoring.ConvertToAutomaticProperty" xml:space="preserve"> <value>Convert to automatic property</value> @@ -6837,14 +6515,12 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="SharpDevelop.Refactoring.DeclaringType" xml:space="preserve"> <value>Declaring type</value> - <comment>Menu item that contains refactoring entries for the class that contains the selected member.</comment> </data> <data name="SharpDevelop.Refactoring.ExpandAutomaticProperty" xml:space="preserve"> <value>Expand automatic property</value> </data> <data name="SharpDevelop.Refactoring.ExtractInterfaceCommand" xml:space="preserve"> <value>Extract Interface</value> - <comment>Used by the refactoring context menu to call the Extract Interface dialog.</comment> </data> <data name="SharpDevelop.Refactoring.FindBaseClassesCommand" xml:space="preserve"> <value>Find base classes</value> @@ -6905,25 +6581,21 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="SharpDevelop.Refactoring.ReferencesTo" xml:space="preserve"> <value>References to ${Name}</value> - <comment>Title for search results for references</comment> </data> <data name="SharpDevelop.Refactoring.RemoveUnusedImports" xml:space="preserve"> <value>Remove &unused import statements</value> </data> <data name="SharpDevelop.Refactoring.Rename" xml:space="preserve"> <value>Rename</value> - <comment>Title of rename input box</comment> </data> <data name="SharpDevelop.Refactoring.RenameClassText" xml:space="preserve"> <value>Enter the new name of the class:</value> </data> <data name="SharpDevelop.Refactoring.RenameCommand" xml:space="preserve"> <value>&Rename</value> - <comment>Menu command to rename a member</comment> </data> <data name="SharpDevelop.Refactoring.RenameFieldAndProperty" xml:space="preserve"> <value>Should SharpDevelop rename the property '{0}' to '{1}'?</value> - <comment>displayed when a field that has a property is renamed</comment> </data> <data name="SharpDevelop.Refactoring.RenameFileTo" xml:space="preserve"> <value>Rename file to '${FileName}'</value> @@ -6948,7 +6620,6 @@ Removed the end part of the original message ", reason '${Message}'" since this </data> <data name="SharpDevelop.SideBar.NoToolsAvailableForCurrentDocument" xml:space="preserve"> <value>There are no tools available for the current document.</value> - <comment>Text shown in the 'tools' pad when there are no tools available</comment> </data> <data name="SharpDevelop.SideBar.XSLTTags" xml:space="preserve"> <value>XSL-T</value> @@ -6962,18 +6633,12 @@ Try using SharpDevelop 3.2 for the conversion; or create a new project and add t </data> <data name="SharpDevelop.Solution.CannotSave.IOException" xml:space="preserve"> <value>Could not save {0}:\n{1}</value> - <comment>{0} is the name of the solution. -{1} is the IOException.Message property.</comment> </data> <data name="SharpDevelop.Solution.CannotSave.ReadOnly" xml:space="preserve"> <value>Cannot save solution file {0}. It is marked readonly.</value> - <comment>{0} is the name of the sln file. -Message shown when Solution.Save() is called on a solution with the ReadOnly attribute.</comment> </data> <data name="SharpDevelop.Solution.CannotSave.UnauthorizedAccessException" xml:space="preserve"> <value>Could not save {0}:\n{1}\n\nEnsure the file is writable.</value> - <comment>{0} is the file name of the solution. -{1} is the value of the property UnauthorizedAccessException.Message.</comment> </data> <data name="SharpDevelop.Solution.ImportResourceWarning" xml:space="preserve"> <value>There were resource files in the project. @@ -6983,37 +6648,30 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="SharpDevelop.Solution.ImportResourceWarningErrorText" xml:space="preserve"> <value>The following files could not be renamed/moved automatically:</value> - <comment>used when moving of files failed</comment> </data> <data name="SharpDevelop.Solution.InvalidSolutionFile" xml:space="preserve"> <value>'{0}' is not a valid solution file.</value> - <comment>Shown when .sln file contains invalid data.</comment> </data> <data name="SharpDevelop.Solution.UnknownSolutionVersion" xml:space="preserve"> <value>Can't read Microsoft Solution file format {0}.</value> </data> <data name="SharpQuery.Error.InvalidValue" xml:space="preserve"> <value>One (or more) of the parameter values are invalid.</value> - <comment>Message displayed when the user write an invalid value into the prameter input windows</comment> </data> <data name="SharpQuery.Error.NotSuported" xml:space="preserve"> <value>not supported by</value> </data> <data name="SharpQuery.Error.OpenError" xml:space="preserve"> <value>Can't open the connection. Check your connection string.</value> - <comment>Message displayed when #Query can't open a connection</comment> </data> <data name="SharpQuery.Error.ProcedureExecution" xml:space="preserve"> <value>Can't execute the procedure due to an error.</value> - <comment>Message displayed when an error occur during the execution of a procedure.</comment> </data> <data name="SharpQuery.Error.SQLExecution" xml:space="preserve"> <value>Can't execute your SQL query due to an error</value> - <comment>Message displayed when an error occur during a data extract or a SQL query</comment> </data> <data name="SharpQuery.Error.WrongConnectionString" xml:space="preserve"> <value>Invalid connection string!</value> - <comment>Message displayed when the connection string is wrong.</comment> </data> <data name="SharpQuery.Error.WrongKeyType" xml:space="preserve"> <value>key must be of type String.</value> @@ -7023,93 +6681,72 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="SharpQuery.Label.AddConnection" xml:space="preserve"> <value>Add Connection ...</value> - <comment>Context menu for add a connection in the sharpquery's treeview</comment> </data> <data name="SharpQuery.Label.Connect" xml:space="preserve"> <value>Connect to database</value> - <comment>context menu in the sharpquery's treeview</comment> </data> <data name="SharpQuery.Label.DataBasesRoot" xml:space="preserve"> <value>Database connections</value> - <comment>text of the root node into the sharpquery's treeview</comment> </data> <data name="SharpQuery.Label.Disconnect" xml:space="preserve"> <value>Disconnect</value> - <comment>context menu of the sharpquery's treeview</comment> </data> <data name="SharpQuery.Label.Execute" xml:space="preserve"> <value>Execute</value> - <comment>context menu that execute a SQL procedure</comment> </data> <data name="SharpQuery.Label.ExtractData" xml:space="preserve"> <value>Extract Data</value> - <comment>context menu command that extracts data from a table and display it into a grid.</comment> </data> <data name="SharpQuery.Label.ModifyConnection" xml:space="preserve"> <value>Modify the connection ...</value> - <comment>context menu that displays the windows connection properties to change a connection string.</comment> </data> <data name="SharpQuery.Label.ProceduresRoot" xml:space="preserve"> <value>Procedures</value> - <comment>name of the root procedures node into the sharpquery's treeview</comment> </data> <data name="SharpQuery.Label.Refresh" xml:space="preserve"> <value>Refresh</value> - <comment>context menu to refresh a connection</comment> </data> <data name="SharpQuery.Label.Remove" xml:space="preserve"> <value>Remove</value> - <comment>context menu to remove a connection from the sharpquery's treeview</comment> </data> <data name="SharpQuery.Label.Schemas" xml:space="preserve"> <value>Schemas</value> - <comment>i think this translatiopn is invariant because it's the technical name of schemas ...</comment> </data> <data name="SharpQuery.Label.SharpQuery" xml:space="preserve"> <value>Database</value> </data> <data name="SharpQuery.Label.TablesRoot" xml:space="preserve"> <value>Tables</value> - <comment>Name of the root tables node in the treeview</comment> </data> <data name="SharpQuery.Label.ViewsRoot" xml:space="preserve"> <value>Views</value> - <comment>name of the root views node</comment> </data> <data name="SharpQuery.PadTitle" xml:space="preserve"> <value>Database Explorer</value> </data> <data name="SharpQuery.ToolTip.AddConnection" xml:space="preserve"> <value>Add connection</value> - <comment>context menu to add a connection</comment> </data> <data name="SharpQuery.ToolTip.Refresh" xml:space="preserve"> <value>Refresh</value> - <comment>tooltip of the context menu taht refreshs a connection</comment> </data> <data name="SharpQuery.XMLForm.ResetButton" xml:space="preserve"> <value>Reset</value> - <comment>Caption a the button that reset the user parameters input</comment> </data> <data name="SharpQuery.XMLForm.SQLParameterDataType" xml:space="preserve"> <value>Parameter's data type</value> - <comment>Listview header column caption that list parameters data type</comment> </data> <data name="SharpQuery.XMLForm.SQLParameterInputTitle" xml:space="preserve"> <value>Parameters input</value> - <comment>Caption of the windows that allows a user to input parameters values while he executes a procedure in #Query.</comment> </data> <data name="SharpQuery.XMLForm.SQLParameterName" xml:space="preserve"> <value>Parameter's name</value> - <comment>displayed in column header of the listview that lists all parameters of a procedure</comment> </data> <data name="SharpQuery.XMLForm.SQLParameterType" xml:space="preserve"> <value>Parameter's type</value> - <comment>Caption of a listview header column that display parameters type</comment> </data> <data name="SharpQuery.XMLForm.SQLParameterValue" xml:space="preserve"> <value>Parameter's value</value> - <comment>Caption of a listview header column that display parameters values</comment> </data> <data name="SharpReport.AddinName" xml:space="preserve"> <value>SharpDevelop Reports</value> @@ -7125,7 +6762,6 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="SharpReport.ContextMenu.Grouping" xml:space="preserve"> <value>Grouping/Sorting</value> - <comment>Manage grouping and sorting of the Data</comment> </data> <data name="SharpReport.ContextMenu.Paste" xml:space="preserve"> <value>Paste Field</value> @@ -7162,14 +6798,12 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="Sharpreport.Error.NoPrinter" xml:space="preserve"> <value>To run SharpDevelop Reports you need at least one(1) installed Printer</value> - <comment>Errormessage when no printer is installed</comment> </data> <data name="SharpReport.Error.NoReport" xml:space="preserve"> <value>This is not a valid report created with 'SharpReport'.</value> </data> <data name="SharpReport.Error.WrongFileFormat" xml:space="preserve"> <value>Could not read file , file corrupt (SharpReportFile is improperly formatted)</value> - <comment>Message when something is wrong with the file format</comment> </data> <data name="SharpReport.FieldsExplorer.AvailableFields" xml:space="preserve"> <value>Available Fields</value> @@ -7344,11 +6978,9 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="SharpReport.Wizard.ResultPanel.SaveXsdComplete" xml:space="preserve"> <value>Save Result (Schema and Data)</value> - <comment>Save displayed Data to *.xsd File</comment> </data> <data name="SharpReport.Wizard.ResultPanel.SaveXsdSchemaOnly" xml:space="preserve"> <value>Save Result (Schema only)</value> - <comment>Save only the Schema to *.xsd File</comment> </data> <data name="SharpReport.Wizard.ShowQueryResult" xml:space="preserve"> <value>Show Query result</value> @@ -7469,31 +7101,24 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="Templates.File.Categories.WindowsApplications" xml:space="preserve"> <value>Windows Applications</value> - <comment>Category for windows applications project/file templates.</comment> </data> <data name="Templates.File.ConfigurationElement.Description" xml:space="preserve"> <value>Class that implements ConfigurationElement.</value> - <comment>Description for CSharp.ConfigurationElement.xft</comment> </data> <data name="Templates.File.ConfigurationElement.Name" xml:space="preserve"> <value>Configuration Element</value> - <comment>Name of the CSharp.ConfigurationElement</comment> </data> <data name="Templates.File.ConfigurationElementCollection.Description" xml:space="preserve"> <value>Class that inherits ConfigurationElementCollection.</value> - <comment>Description string for ConfigurationElementCollection.xft</comment> </data> <data name="Templates.File.ConfigurationElementCollection.Name" xml:space="preserve"> <value>Configuration Element Collection</value> - <comment>Name string for ConfigurationElementCollection.xft</comment> </data> <data name="Templates.File.ConfigurationSection.Description" xml:space="preserve"> <value>Class that implements ConfigurationSection</value> - <comment>Description for CSharp.ConfigurationSection.xft</comment> </data> <data name="Templates.File.ConfigurationSection.Name" xml:space="preserve"> <value>Configuration Section</value> - <comment>Name for CSharp.ConfigurationSection.xft</comment> </data> <data name="Templates.File.EmptyClass.Description" xml:space="preserve"> <value>An empty class declaration.</value> @@ -7512,11 +7137,9 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="Templates.File.GtkSharpWindow.Description" xml:space="preserve"> <value>A window for a Gtk# application.</value> - <comment>Description for Gtk# Window file template.</comment> </data> <data name="Templates.File.GtkSharpWindow.Name" xml:space="preserve"> <value>Gtk# Window</value> - <comment>Name of the file template for a Gtk# Window.</comment> </data> <data name="Templates.File.HeaderFile.Description" xml:space="preserve"> <value>Creates an empty header file.</value> @@ -7541,7 +7164,6 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="Templates.File.Module.Name" xml:space="preserve"> <value>Module</value> - <comment>VB Module</comment> </data> <data name="Templates.File.MsBuild.Description" xml:space="preserve"> <value>Creates a MSBuild file with an empty "Build" target.</value> @@ -7557,11 +7179,9 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="Templates.File.NAnt.NAntBuildFile.Description" xml:space="preserve"> <value>Creates a new NAnt build file.</value> - <comment>Description for the NAnt build file template.</comment> </data> <data name="Templates.File.NAnt.NAntBuildFile.Name" xml:space="preserve"> <value>NAnt Build File</value> - <comment>Name for the template that creates a new NAnt build file.</comment> </data> <data name="Templates.File.Properties.AddIFDEFTest" xml:space="preserve"> <value>Add '#if TEST ... #endif'</value> @@ -7586,7 +7206,6 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="Templates.File.Properties.IsSealed.Description" xml:space="preserve"> <value>Set to true to declare the class as sealed.</value> - <comment>Class templates should use this property if they want to offer the user the option of creating their class as sealed.</comment> </data> <data name="Templates.File.Properties.OptionCategory" xml:space="preserve"> <value>Options</value> @@ -7722,11 +7341,9 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="Templates.File.Xml.AppConfig.Description" xml:space="preserve"> <value>Generates an app.config file. For your application. MSBuild will rename this to appname.exe.config if this project is an executable.</value> - <comment>Describes the app.config template.</comment> </data> <data name="Templates.File.Xml.AppConfig.Name" xml:space="preserve"> <value>App.Config File</value> - <comment>File name for the app.config template.</comment> </data> <data name="Templates.File.Xml.EmptyXml.Name" xml:space="preserve"> <value>Empty XML file</value> @@ -7769,7 +7386,6 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="Templates.Project.ConsoleProject.Unmanaged.Name" xml:space="preserve"> <value>Unmanaged console project</value> - <comment>Name for project template (A project that creates a command line application in unmanaged (native) code.)</comment> </data> <data name="Templates.Project.Direct3DApplication.Description" xml:space="preserve"> <value>A project for creating an Application with Direct3D interface.</value> @@ -7785,19 +7401,15 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="Templates.Project.GladeSharpProject.Description" xml:space="preserve"> <value>A project that creates a Glade# application</value> - <comment>Glade# project template description.</comment> </data> <data name="Templates.Project.GladeSharpProject.Name" xml:space="preserve"> <value>Glade# Application</value> - <comment>Name of Glade# project template.</comment> </data> <data name="Templates.Project.GtkSharpProject.Description" xml:space="preserve"> <value>A project that creates a Gtk# application</value> - <comment>Gtk# project template description.</comment> </data> <data name="Templates.Project.GtkSharpProject.Name" xml:space="preserve"> <value>Gtk# Application</value> - <comment>Name of Gtk# project template.</comment> </data> <data name="Templates.Project.SetupProject.Description" xml:space="preserve"> <value>A windows installer project for creating a MSI installer.</value> @@ -7831,7 +7443,6 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="Templates.Project.SysTrayIcon.Description" xml:space="preserve"> <value>A project that creates an application with a icon in the notification area on the taskbar.</value> - <comment>Note: "System Tray" is NOT a valid name for the notification area. See http://blogs.msdn.com/oldnewthing/archive/2003/09/10/54831.aspx</comment> </data> <data name="Templates.Project.SysTrayIcon.Name" xml:space="preserve"> <value>NotifyIcon Application</value> @@ -7886,7 +7497,6 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="XML.MainMenu.Analysis" xml:space="preserve"> <value>&Analysis</value> - <comment>Analysis / Quality Tools main menu entry</comment> </data> <data name="XML.MainMenu.BuildMenu" xml:space="preserve"> <value>B&uild</value> @@ -7896,7 +7506,6 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="XML.MainMenu.BuildMenu.BreakKey" xml:space="preserve"> <value>Break</value> - <comment>The caption of the Pause/Break key on the keyboard, as shortcut for aborting the build</comment> </data> <data name="XML.MainMenu.BuildMenu.BuildProject" xml:space="preserve"> <value>B&uild ${CurrentProjectName}</value> @@ -7927,7 +7536,6 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="XML.MainMenu.BuildMenu.SetConfiguration" xml:space="preserve"> <value>Set configuration</value> - <comment>Set the project configuration (debug/release)</comment> </data> <data name="XML.MainMenu.BuildMenu.SetPlatform" xml:space="preserve"> <value>Set platform</value> @@ -7982,7 +7590,9 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="XML.MainMenu.DebugMenu.RemoveAllBreakpoints" xml:space="preserve"> <value>Remove all breakpoints</value> - <comment>Main menu command for removing all breakpoints + tooltip for the corresponding toolbar button (in the breakpoints pad)</comment> + </data> + <data name="XML.MainMenu.DebugMenu.RunLastBuild" xml:space="preserve"> + <value>Run last build</value> </data> <data name="XML.MainMenu.DebugMenu.RunWithoutDebug" xml:space="preserve"> <value>Run &without debugger</value> @@ -8019,7 +7629,6 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="XML.MainMenu.DebugMenu.ToggleBreakpoint" xml:space="preserve"> <value>Toggle Breakpoint</value> - <comment>Set/remove breakpoint on current line</comment> </data> <data name="XML.MainMenu.EditMenu" xml:space="preserve"> <value>&Edit</value> @@ -8101,7 +7710,6 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="XML.MainMenu.EditMenu.Paste.AsString" xml:space="preserve"> <value>Paste as string</value> - <comment>Pastes the clipboard content as string literal</comment> </data> <data name="XML.MainMenu.EditMenu.Paste.Description" xml:space="preserve"> <value>Paste text from clipboard</value> @@ -8183,8 +7791,6 @@ The resources files have been renamed/moved accordingly.</value> </data> <data name="XML.MainMenu.FileMenu.PrintPreview" xml:space="preserve"> <value>Print &Preview</value> - <comment>Changed hotkey: -P&rint Preview to Print &Preview</comment> </data> <data name="XML.MainMenu.FileMenu.RecentFiles" xml:space="preserve"> <value>Recent &Files</value> @@ -8212,7 +7818,6 @@ P&rint Preview to Print &Preview</comment> </data> <data name="XML.MainMenu.FileMenu.SaveWithEncoding" xml:space="preserve"> <value>Save with &encoding...</value> - <comment>Saves a text file by choosing the target encoding</comment> </data> <data name="XML.MainMenu.FormatMenu" xml:space="preserve"> <value>F&ormat</value> @@ -8412,7 +8017,6 @@ Do you want to stop debugging?</value> </data> <data name="XML.MainMenu.SearchMenu.FindNextSelected" xml:space="preserve"> <value>Find Next &Selected</value> - <comment>Search menu option that finds the next match based on the currently selected text.</comment> </data> <data name="XML.MainMenu.SearchMenu.Goto" xml:space="preserve"> <value>&Go To...</value> diff --git a/data/resources/StringResources.ru.resx b/data/resources/StringResources.ru.resx index 3ab70799fe..bcdc099e8d 100644 --- a/data/resources/StringResources.ru.resx +++ b/data/resources/StringResources.ru.resx @@ -756,9 +756,6 @@ <data name="AddIns.Subversion.ItemRemovedFromIgnoreList" xml:space="preserve"> <value>'{0}' был удалён из чёрного списка.</value> </data> - <data name="AddIns.Subversion.KeepOldSolution" xml:space="preserve"> - <value>Держать старое решение открытым</value> - </data> <data name="AddIns.Subversion.Lock" xml:space="preserve"> <value>Заблокировать</value> </data> @@ -786,9 +783,6 @@ <data name="AddIns.Subversion.Options.UseHistoryDisplayBinding" xml:space="preserve"> <value>Показывать вкладку истории для файлов управления версиями</value> </data> - <data name="AddIns.Subversion.ReloadSolution" xml:space="preserve"> - <value>Перезагрузить решение</value> - </data> <data name="AddIns.Subversion.Relocate" xml:space="preserve"> <value>Переместить</value> </data> @@ -4461,6 +4455,12 @@ <data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve"> <value>Загрузка ${Filename}...</value> </data> + <data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve"> + <value>Держать старое решение открытым</value> + </data> + <data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve"> + <value>Перезагрузить решение</value> + </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeCompilerVersionLabel" xml:space="preserve"> <value>Преобразовать выбранные проекты в:</value> </data> diff --git a/data/resources/StringResources.tr.resx b/data/resources/StringResources.tr.resx index bd93d43c8c..6f94cacc55 100644 --- a/data/resources/StringResources.tr.resx +++ b/data/resources/StringResources.tr.resx @@ -614,9 +614,6 @@ Yardım sistemini elde edebilmek için .NET Framework SDK 'yı yüklemelisiniz.< <data name="AddIns.Subversion.History" xml:space="preserve"> <value>Geçmiş</value> </data> - <data name="AddIns.Subversion.KeepOldSolution" xml:space="preserve"> - <value>Eski çözümü açık tut</value> - </data> <data name="AddIns.Subversion.Merge" xml:space="preserve"> <value>Birleştir</value> </data> @@ -629,12 +626,6 @@ Yardım sistemini elde edebilmek için .NET Framework SDK 'yı yüklemelisiniz.< <data name="AddIns.Subversion.Options.Title" xml:space="preserve"> <value>Yansürüm Ayarları</value> </data> - <data name="AddIns.Subversion.ReloadSolution" xml:space="preserve"> - <value>Çözümü yenile</value> - </data> - <data name="AddIns.Subversion.ReloadSolutionAfterProjectChanges" xml:space="preserve"> - <value>SharpDevelop sürüm kontrol işleminin proje dosyalarını değiştirdiğini algıladı. Bu çözümü yenilemeniz gerekiyor.</value> - </data> <data name="AddIns.Subversion.Relocate" xml:space="preserve"> <value>Yerleştir</value> </data> @@ -4008,6 +3999,12 @@ Sadece harf,rakam, boşluk, '.' yada '_' kullanabilirsiniz.</value> <data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve"> <value>Yüklüyor ${Filename}...</value> </data> + <data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve"> + <value>Eski çözümü açık tut</value> + </data> + <data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve"> + <value>Çözümü yenile</value> + </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.CompilerVersion" xml:space="preserve"> <value>Derleyici Sürümü</value> </data> From 2087328303dd64218e8c74954546cc670cf4b053 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Wed, 10 Aug 2011 21:29:02 +0200 Subject: [PATCH 134/168] removed calls to obsolete StringParser.Parse overload --- .../AddIn/Src/Commands/FindReferences.cs | 6 +++--- .../Analysis/UnitTesting/Src/TestResultTask.cs | 3 +-- .../DesignerLoader/NRefactoryDesignerLoader.cs | 10 ++-------- .../Project/Src/Gui/AddComponentsDialog.cs | 2 +- .../Commands/TextEditorContextMenuBuilder.cs | 7 +++++-- .../Src/Gui/UnusedResourceKeysViewContent.cs | 8 ++++++-- .../Engine/SearchReplaceInFilesManager.cs | 2 +- .../Project/Engine/SearchReplaceManager.cs | 8 +++++--- .../Project/Gui/SearchRootNode.cs | 6 ++++-- .../Src/Commands/AutostartCommands.cs | 3 ++- .../Src/Commands/ProjectBrowserCommands.cs | 4 ++-- .../CodeCompletionItemProvider.cs | 2 +- .../Project/Src/Gui/Dialogs/NewFileDialog.cs | 2 +- .../OptionPanels/ProjectOptions/CreateKey.cs | 2 +- .../Src/Gui/Dialogs/SharpDevelopAboutPanels.cs | 2 +- src/Main/Base/Project/Src/Gui/Pads/FileScout.cs | 6 ++++-- .../Commands/FolderNodeCommands.cs | 2 +- .../TreeNodes/AbstractProjectBrowserTreeNode.cs | 2 +- .../Templates/Project/ProjectDescriptor.cs | 8 ++++---- .../Templates/Project/ProjectTemplate.cs | 2 +- .../Templates/Project/SolutionDescriptor.cs | 4 +--- .../Src/Project/Converter/LanguageConverter.cs | 10 ++++------ .../Src/Services/File/FileChangeWatcher.cs | 5 ++++- .../Project/Src/Services/File/FileService.cs | 4 ++-- .../Services/ParserService/DomHostCallback.cs | 2 +- .../CompileModifiedProjectsOnly.cs | 2 +- .../Services/ProjectService/ProjectService.cs | 6 +++--- .../ContextActions/ContextActionsHelper.cs | 7 +++++-- .../FindReferencesAndRenameHelper.cs | 17 ++++++++--------- .../Src/Services/StatusBar/StatusBarService.cs | 9 ++++----- .../Src/Services/StringParser/StringParser.cs | 1 + src/Main/Core/Test/StringParserTests.cs | 2 +- 32 files changed, 82 insertions(+), 74 deletions(-) diff --git a/src/AddIns/Analysis/Profiler/Frontend/AddIn/Src/Commands/FindReferences.cs b/src/AddIns/Analysis/Profiler/Frontend/AddIn/Src/Commands/FindReferences.cs index 08d532e627..84e570fd70 100644 --- a/src/AddIns/Analysis/Profiler/Frontend/AddIn/Src/Commands/FindReferences.cs +++ b/src/AddIns/Analysis/Profiler/Frontend/AddIn/Src/Commands/FindReferences.cs @@ -35,9 +35,9 @@ namespace ICSharpCode.Profiler.AddIn.Commands string memberName = member.DeclaringType.Name + "." + member.Name; using (AsynchronousWaitDialog monitor = AsynchronousWaitDialog.ShowWaitDialog("${res:SharpDevelop.Refactoring.FindReferences}")) { - FindReferencesAndRenameHelper.ShowAsSearchResults(StringParser.Parse("${res:SharpDevelop.Refactoring.ReferencesTo}", - new string[,] {{ "Name", memberName }}), - RefactoringService.FindReferences(member, monitor)); + FindReferencesAndRenameHelper.ShowAsSearchResults( + StringParser.Parse("${res:SharpDevelop.Refactoring.ReferencesTo}", new StringTagPair("Name", memberName)), + RefactoringService.FindReferences(member, monitor)); } } } diff --git a/src/AddIns/Analysis/UnitTesting/Src/TestResultTask.cs b/src/AddIns/Analysis/UnitTesting/Src/TestResultTask.cs index aa38db452a..af7b957434 100644 --- a/src/AddIns/Analysis/UnitTesting/Src/TestResultTask.cs +++ b/src/AddIns/Analysis/UnitTesting/Src/TestResultTask.cs @@ -69,8 +69,7 @@ namespace ICSharpCode.UnitTesting static string GetTestResultMessageFromResource(TestResult result, string stringResource) { - string [,] customTags = new string[,] {{"TestCase", result.Name}}; - return StringParser.Parse(stringResource, customTags); + return StringParser.Parse(stringResource, new StringTagPair("TestCase", result.Name)); } /// <summary> diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/NRefactoryDesignerLoader.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/NRefactoryDesignerLoader.cs index 6ee3cd3247..750b1238e0 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/NRefactoryDesignerLoader.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/NRefactoryDesignerLoader.cs @@ -87,16 +87,10 @@ namespace ICSharpCode.FormsDesigner const string missingReferenceMessage = "Your project is missing a reference to '${Name}' - please add it using 'Project > Add Reference'."; if (formClass.ProjectContent.GetClass("System.Drawing.Point", 0) == null) { - throw new FormsDesignerLoadException( - StringParser.Parse( - missingReferenceMessage, new string[,] {{ "Name" , "System.Drawing"}} - )); + throw new FormsDesignerLoadException(StringParser.Parse(missingReferenceMessage, new StringTagPair("Name", "System.Drawing"))); } if (formClass.ProjectContent.GetClass("System.Windows.Forms.Form", 0) == null) { - throw new FormsDesignerLoadException( - StringParser.Parse( - missingReferenceMessage, new string[,] {{ "Name" , "System.Windows.Forms"}} - )); + throw new FormsDesignerLoadException(StringParser.Parse(missingReferenceMessage, new StringTagPair("Name" , "System.Windows.Forms"))); } List<KeyValuePair<string, CompilationUnit>> compilationUnits = new List<KeyValuePair<string, CompilationUnit>>(); diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/AddComponentsDialog.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/AddComponentsDialog.cs index cf64355bdb..f6db85ed48 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/AddComponentsDialog.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/AddComponentsDialog.cs @@ -68,7 +68,7 @@ namespace ICSharpCode.FormsDesigner.Gui if (lastAssembly != null) { name = lastAssembly.FullName; } - ClearComponentsList(StringParser.Parse("${res:ICSharpCode.SharpDevelop.FormDesigner.Gui.AddSidebarComponents.NoComponentsFound}", new string[,] {{"Name", name}})); + ClearComponentsList(StringParser.Parse("${res:ICSharpCode.SharpDevelop.FormDesigner.Gui.AddSidebarComponents.NoComponentsFound}", new StringTagPair("Name", name))); } } componentListView.EndUpdate(); diff --git a/src/AddIns/Misc/ResourceToolkit/Project/Src/Commands/TextEditorContextMenuBuilder.cs b/src/AddIns/Misc/ResourceToolkit/Project/Src/Commands/TextEditorContextMenuBuilder.cs index f152ed3393..f106f6b847 100644 --- a/src/AddIns/Misc/ResourceToolkit/Project/Src/Commands/TextEditorContextMenuBuilder.cs +++ b/src/AddIns/Misc/ResourceToolkit/Project/Src/Commands/TextEditorContextMenuBuilder.cs @@ -139,8 +139,11 @@ namespace Hornung.ResourceToolkit.Commands // Allow the menu to close Application.DoEvents(); using(AsynchronousWaitDialog monitor = AsynchronousWaitDialog.ShowWaitDialog(ResourceService.GetString("SharpDevelop.Refactoring.FindReferences"))) { - FindReferencesAndRenameHelper.ShowAsSearchResults(StringParser.Parse("${res:Hornung.ResourceToolkit.ReferencesToResource}", new string[,] { {"ResourceFileName", System.IO.Path.GetFileName(result.FileName)}, {"ResourceKey", result.Key} }), - ResourceRefactoringService.FindReferences(result.FileName, result.Key, monitor)); + FindReferencesAndRenameHelper.ShowAsSearchResults( + StringParser.Parse("${res:Hornung.ResourceToolkit.ReferencesToResource}", + new StringTagPair("ResourceFileName", System.IO.Path.GetFileName(result.FileName)), + new StringTagPair("ResourceKey", result.Key)), + ResourceRefactoringService.FindReferences(result.FileName, result.Key, monitor)); } } diff --git a/src/AddIns/Misc/ResourceToolkit/Project/Src/Gui/UnusedResourceKeysViewContent.cs b/src/AddIns/Misc/ResourceToolkit/Project/Src/Gui/UnusedResourceKeysViewContent.cs index 631720dcd5..5c333cf291 100644 --- a/src/AddIns/Misc/ResourceToolkit/Project/Src/Gui/UnusedResourceKeysViewContent.cs +++ b/src/AddIns/Misc/ResourceToolkit/Project/Src/Gui/UnusedResourceKeysViewContent.cs @@ -329,9 +329,13 @@ namespace Hornung.ResourceToolkit.Gui bool ok; if (this.ListView.SelectedItems.Count == 1) { - ok = MessageService.AskQuestion(StringParser.Parse("${res:Hornung.ResourceToolkit.DeleteSingleResourceKeyQuestion}", new string[,] { {"Key", this.ListView.SelectedItems[0].SubItems[1].Text}, {"FileName", this.ListView.SelectedItems[0].Group.Header} })); + ok = MessageService.AskQuestion( + StringParser.Parse("${res:Hornung.ResourceToolkit.DeleteSingleResourceKeyQuestion}", + new StringTagPair("Key", this.ListView.SelectedItems[0].SubItems[1].Text), + new StringTagPair("FileName", this.ListView.SelectedItems[0].Group.Header)) + ); } else { - ok = MessageService.AskQuestion(StringParser.Parse("${res:Hornung.ResourceToolkit.DeleteAllSelectedResourceKeysQuestion}", new string[,] { {"Count", this.ListView.SelectedItems.Count.ToString(CultureInfo.CurrentCulture)} })); + ok = MessageService.AskQuestion(StringParser.Parse("${res:Hornung.ResourceToolkit.DeleteAllSelectedResourceKeysQuestion}", new StringTagPair("Count", this.ListView.SelectedItems.Count.ToString(CultureInfo.CurrentCulture)))); } if (ok) { diff --git a/src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchReplaceInFilesManager.cs b/src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchReplaceInFilesManager.cs index ad63bd825d..6a58abc05f 100644 --- a/src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchReplaceInFilesManager.cs +++ b/src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchReplaceInFilesManager.cs @@ -47,7 +47,7 @@ namespace SearchAndReplace public static void ShowSearchResults(string pattern, List<SearchResultMatch> results) { string title = StringParser.Parse("${res:MainWindow.Windows.SearchResultPanel.OccurrencesOf}", - new string[,] {{ "Pattern", pattern }}); + new StringTagPair("Pattern", pattern)); SearchResultsPad.Instance.ShowSearchResults(title, results); SearchResultsPad.Instance.BringToFront(); } diff --git a/src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchReplaceManager.cs b/src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchReplaceManager.cs index f038f48cee..9ac0de602f 100644 --- a/src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchReplaceManager.cs +++ b/src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchReplaceManager.cs @@ -160,7 +160,7 @@ namespace SearchAndReplace ShowNotFoundMessage(monitor); } else { if (monitor != null) monitor.ShowingDialog = true; - MessageService.ShowMessage(StringParser.Parse("${res:ICSharpCode.TextEditor.Document.SearchReplaceManager.MarkAllDone}", new string[,]{{ "Count", count.ToString() }}), + MessageService.ShowMessage(StringParser.Parse("${res:ICSharpCode.TextEditor.Document.SearchReplaceManager.MarkAllDone}",new StringTagPair("Count", count.ToString())), "${res:Global.FinishedCaptionText}"); if (monitor != null) monitor.ShowingDialog = false; } @@ -172,8 +172,10 @@ namespace SearchAndReplace ShowNotFoundMessage(monitor); } else { if (monitor != null) monitor.ShowingDialog = true; - MessageService.ShowMessage(StringParser.Parse("${res:ICSharpCode.TextEditor.Document.SearchReplaceManager.ReplaceAllDone}", new string[,]{{ "Count", count.ToString() }}), - "${res:Global.FinishedCaptionText}"); + MessageService.ShowMessage( + StringParser.Parse("${res:ICSharpCode.TextEditor.Document.SearchReplaceManager.ReplaceAllDone}", + new StringTagPair("Count", count.ToString())), + "${res:Global.FinishedCaptionText}"); if (monitor != null) monitor.ShowingDialog = false; } } diff --git a/src/AddIns/Misc/SearchAndReplace/Project/Gui/SearchRootNode.cs b/src/AddIns/Misc/SearchAndReplace/Project/Gui/SearchRootNode.cs index 462a5c8620..0a3db6b5cf 100644 --- a/src/AddIns/Misc/SearchAndReplace/Project/Gui/SearchRootNode.cs +++ b/src/AddIns/Misc/SearchAndReplace/Project/Gui/SearchRootNode.cs @@ -65,7 +65,8 @@ namespace SearchAndReplace if (count == 1) { return StringParser.Parse("${res:MainWindow.Windows.SearchResultPanel.OneOccurrence}"); } else { - return StringParser.Parse("${res:MainWindow.Windows.SearchResultPanel.OccurrencesCount}", new string[,] {{"Count", count.ToString()}}); + return StringParser.Parse("${res:MainWindow.Windows.SearchResultPanel.OccurrencesCount}", + new StringTagPair("Count", count.ToString())); } } @@ -74,7 +75,8 @@ namespace SearchAndReplace if (count == 1) { return StringParser.Parse("${res:MainWindow.Windows.SearchResultPanel.OneFile}"); } else { - return StringParser.Parse("${res:MainWindow.Windows.SearchResultPanel.FileCount}", new string[,] {{"Count", count.ToString()}}); + return StringParser.Parse("${res:MainWindow.Windows.SearchResultPanel.FileCount}", + new StringTagPair("Count", count.ToString())); } } } diff --git a/src/AddIns/VersionControl/SubversionAddIn/Src/Commands/AutostartCommands.cs b/src/AddIns/VersionControl/SubversionAddIn/Src/Commands/AutostartCommands.cs index fc4250aa12..0209324cd5 100644 --- a/src/AddIns/VersionControl/SubversionAddIn/Src/Commands/AutostartCommands.cs +++ b/src/AddIns/VersionControl/SubversionAddIn/Src/Commands/AutostartCommands.cs @@ -235,7 +235,8 @@ namespace ICSharpCode.Svn.Commands || ex.IsKnownError(KnownError.CannotDeleteFileNotUnderVersionControl)) { if (MessageService.ShowCustomDialog("${res:AddIns.Subversion.DeleteDirectory}", - StringParser.Parse("${res:AddIns.Subversion.ErrorDelete}:\n", new string[,] { { "File", fullName } }) + + StringParser.Parse("${res:AddIns.Subversion.ErrorDelete}:\n", + new StringTagPair("File", fullName)) + ex.Message, 0, 1, "${res:AddIns.Subversion.ForceDelete}", "${res:Global.CancelButtonText}") == 0) diff --git a/src/AddIns/VersionControl/SubversionAddIn/Src/Commands/ProjectBrowserCommands.cs b/src/AddIns/VersionControl/SubversionAddIn/Src/Commands/ProjectBrowserCommands.cs index d34ca2e52f..4d51b035a5 100644 --- a/src/AddIns/VersionControl/SubversionAddIn/Src/Commands/ProjectBrowserCommands.cs +++ b/src/AddIns/VersionControl/SubversionAddIn/Src/Commands/ProjectBrowserCommands.cs @@ -149,9 +149,9 @@ namespace ICSharpCode.Svn.Commands // if at least one project was changed: if (MessageService.ShowCustomDialog( MessageService.DefaultMessageBoxTitle, - "${res:AddIns.Subversion.ReloadSolutionAfterProjectChanges}", + "${res:ICSharpCode.SharpDevelop.Project.SolutionAlteredExternallyMessage}", 0, 1, - "${res:AddIns.Subversion.ReloadSolution}", "${res:AddIns.Subversion.KeepOldSolution}") + "${res:ICSharpCode.SharpDevelop.Project.ReloadSolution}", "${res:ICSharpCode.SharpDevelop.Project.KeepOldSolution}") == 0) { ProjectService.LoadSolution(solution.FileName); diff --git a/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs b/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs index 7355567520..5300029a51 100644 --- a/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs +++ b/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs @@ -396,7 +396,7 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion descriptionCreated = true; if (Overloads > 1) { description += Environment.NewLine + - StringParser.Parse("${res:ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.CodeCompletionData.OverloadsCounter}", new string[,] {{"NumOverloads", this.Overloads.ToString()}}); + StringParser.Parse("${res:ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.CodeCompletionData.OverloadsCounter}", new StringTagPair("NumOverloads", this.Overloads.ToString())); } string entityDoc = entity.Documentation; if (!string.IsNullOrEmpty(entityDoc)) { diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/NewFileDialog.cs b/src/Main/Base/Project/Src/Gui/Dialogs/NewFileDialog.cs index 534267bfa4..f201e5abd4 100644 --- a/src/Main/Base/Project/Src/Gui/Dialogs/NewFileDialog.cs +++ b/src/Main/Base/Project/Src/Gui/Dialogs/NewFileDialog.cs @@ -460,7 +460,7 @@ namespace ICSharpCode.SharpDevelop.Gui || fileName.IndexOf(Path.AltDirectorySeparatorChar) >= 0 || fileName.IndexOf(Path.DirectorySeparatorChar) >= 0) { - MessageService.ShowError(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.SaveFile.InvalidFileNameError}", new string[,] {{"FileName", fileName}})); + MessageService.ShowError(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.SaveFile.InvalidFileNameError}", new StringTagPair("FileName", fileName))); return; } if (Path.GetExtension(fileName).Length == 0) { diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/CreateKey.cs b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/CreateKey.cs index a43acb4881..599dba17cf 100644 --- a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/CreateKey.cs +++ b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/CreateKey.cs @@ -67,7 +67,7 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels { if (File.Exists(keyPath)) { string question = "${res:ICSharpCode.SharpDevelop.Internal.Templates.ProjectDescriptor.OverwriteQuestion}"; - question = StringParser.Parse(question, new string[,] {{"fileNames", keyPath}}); + question = StringParser.Parse(question, new StringTagPair("fileNames", keyPath)); if (!MessageService.AskQuestion(question, "${res:ICSharpCode.SharpDevelop.Internal.Templates.ProjectDescriptor.OverwriteQuestion.InfoName}")) { return false; } diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/SharpDevelopAboutPanels.cs b/src/Main/Base/Project/Src/Gui/Dialogs/SharpDevelopAboutPanels.cs index aaa42bab99..48b30c0a99 100644 --- a/src/Main/Base/Project/Src/Gui/Dialogs/SharpDevelopAboutPanels.cs +++ b/src/Main/Base/Project/Src/Gui/Dialogs/SharpDevelopAboutPanels.cs @@ -95,7 +95,7 @@ namespace ICSharpCode.SharpDevelop.Gui public static string LicenseSentence { get { return StringParser.Parse("${res:Dialog.About.License}", - new string[,] {{"License", "GNU Lesser General Public License"}}); + new StringTagPair("License", "GNU Lesser General Public License")); } } diff --git a/src/Main/Base/Project/Src/Gui/Pads/FileScout.cs b/src/Main/Base/Project/Src/Gui/Pads/FileScout.cs index be63e8b965..43ecbc6e7f 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/FileScout.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/FileScout.cs @@ -228,8 +228,10 @@ namespace ICSharpCode.SharpDevelop.Gui fileName = fileItem.FullName; break; } - if (MessageService.AskQuestion(StringParser.Parse("${res:ProjectComponent.ContextMenu.Delete.Question}", new string[,] {{"FileName", fileName}}), - "${Global.Delete}")) { + if (MessageService.AskQuestion( + StringParser.Parse("${res:ProjectComponent.ContextMenu.Delete.Question}", + new StringTagPair("FileName", fileName)), + "${Global.Delete}")) { foreach(FileListItem fileItem in SelectedItems) { try { diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/FolderNodeCommands.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/FolderNodeCommands.cs index 228950aa27..6d6e1e1840 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/FolderNodeCommands.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/FolderNodeCommands.cs @@ -26,7 +26,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands { if (caption == null) caption = "${res:ProjectComponent.ContextMenu.AddExistingFiles.ReplaceExistingFile.Title}"; - string text = StringParser.Parse("${res:ProjectComponent.ContextMenu.AddExistingFiles.ReplaceExistingFile}", new string[,] {{"FileName", fileName}}); + string text = StringParser.Parse("${res:ProjectComponent.ContextMenu.AddExistingFiles.ReplaceExistingFile}", new StringTagPair("FileName", fileName)); if (replacingMultiple) { return (ReplaceExistingFile) MessageService.ShowCustomDialog(caption, text, diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/AbstractProjectBrowserTreeNode.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/AbstractProjectBrowserTreeNode.cs index 979319eaac..2b20ab8bc2 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/AbstractProjectBrowserTreeNode.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/AbstractProjectBrowserTreeNode.cs @@ -158,7 +158,7 @@ namespace ICSharpCode.SharpDevelop.Project protected string GetQuestionText(string question) { - return StringParser.Parse(question, new string[,] {{"FileName", Text}}); + return StringParser.Parse(question, new StringTagPair("FileName", Text)); } public virtual AbstractProjectBrowserTreeNode GetNodeByRelativePath(string relativePath) diff --git a/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectDescriptor.cs b/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectDescriptor.cs index b5e73ec36c..af4891a447 100644 --- a/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectDescriptor.cs +++ b/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectDescriptor.cs @@ -329,7 +329,7 @@ namespace ICSharpCode.SharpDevelop.Internal.Templates StringBuilder existingFileNames = new StringBuilder(); foreach (FileDescriptionTemplate file in files) { - string fileName = Path.Combine(projectCreateInformation.ProjectBasePath, StringParser.Parse(file.Name, new string[,] { { "ProjectName", projectCreateInformation.ProjectName } })); + string fileName = Path.Combine(projectCreateInformation.ProjectBasePath, StringParser.Parse(file.Name, new StringTagPair("ProjectName", projectCreateInformation.ProjectName))); if (File.Exists(fileName)) { @@ -356,7 +356,7 @@ namespace ICSharpCode.SharpDevelop.Internal.Templates #region Copy files to target directory foreach (FileDescriptionTemplate file in files) { - string fileName = Path.Combine(projectCreateInformation.ProjectBasePath, StringParser.Parse(file.Name, new string[,] { { "ProjectName", projectCreateInformation.ProjectName } })); + string fileName = Path.Combine(projectCreateInformation.ProjectBasePath, StringParser.Parse(file.Name, new StringTagPair("ProjectName", projectCreateInformation.ProjectName))); if (File.Exists(fileName) && !overwriteFiles) { continue; @@ -373,7 +373,7 @@ namespace ICSharpCode.SharpDevelop.Internal.Templates } else { // Textual content StreamWriter sr = new StreamWriter(File.Create(fileName), ParserService.DefaultFileEncoding); - string fileContent = StringParser.Parse(file.Content, new string[,] { { "ProjectName", projectCreateInformation.ProjectName }, { "FileName", fileName } }); + string fileContent = StringParser.Parse(file.Content, new StringTagPair("ProjectName", projectCreateInformation.ProjectName), new StringTagPair("FileName", fileName)); fileContent = StringParser.Parse(fileContent); if (EditorControlService.GlobalOptions.IndentationString != "\t") { fileContent = fileContent.Replace("\t", EditorControlService.GlobalOptions.IndentationString); @@ -470,7 +470,7 @@ namespace ICSharpCode.SharpDevelop.Internal.Templates if (project is IProjectItemListProvider) { foreach (FileDescriptionTemplate file in files) { - string fileName = Path.Combine(projectCreateInformation.ProjectBasePath, StringParser.Parse(file.Name, new string[,] { { "ProjectName", projectCreateInformation.ProjectName } })); + string fileName = Path.Combine(projectCreateInformation.ProjectBasePath, StringParser.Parse(file.Name, new StringTagPair("ProjectName", projectCreateInformation.ProjectName))); FileProjectItem projectFile = new FileProjectItem(project, project.GetDefaultItemType(fileName)); projectFile.Include = FileUtility.GetRelativePath(project.Directory, fileName); diff --git a/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectTemplate.cs b/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectTemplate.cs index 2e8d75c0e7..eb1c53508b 100644 --- a/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectTemplate.cs +++ b/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectTemplate.cs @@ -244,7 +244,7 @@ namespace ICSharpCode.SharpDevelop.Internal.Templates if (el.HasAttribute("filename")) { string fileName = el.GetAttribute("filename"); return projectCreateInformation => { - string parsedFileName = StringParser.Parse(fileName, new string[,] { {"ProjectName", projectCreateInformation.ProjectName} }); + string parsedFileName = StringParser.Parse(fileName, new StringTagPair("ProjectName", projectCreateInformation.ProjectName)); string path = Path.Combine(projectCreateInformation.ProjectBasePath, parsedFileName); FileService.OpenFile(path); }; diff --git a/src/Main/Base/Project/Src/Internal/Templates/Project/SolutionDescriptor.cs b/src/Main/Base/Project/Src/Internal/Templates/Project/SolutionDescriptor.cs index f72d24ec49..187c9f0e71 100644 --- a/src/Main/Base/Project/Src/Internal/Templates/Project/SolutionDescriptor.cs +++ b/src/Main/Base/Project/Src/Internal/Templates/Project/SolutionDescriptor.cs @@ -106,9 +106,7 @@ namespace ICSharpCode.SharpDevelop.Internal.Templates projectCreateInformation.SolutionPath = oldSolutionPath; projectCreateInformation.ProjectBasePath = oldProjectPath; - string newSolutionName = StringParser.Parse(name, new string[,] { - {"ProjectName", projectCreateInformation.SolutionName} - }); + string newSolutionName = StringParser.Parse(name, new StringTagPair("ProjectName", projectCreateInformation.SolutionName)); string solutionLocation = Path.Combine(projectCreateInformation.SolutionPath, newSolutionName + ".sln"); diff --git a/src/Main/Base/Project/Src/Project/Converter/LanguageConverter.cs b/src/Main/Base/Project/Src/Project/Converter/LanguageConverter.cs index 824ca178e9..58811bd807 100644 --- a/src/Main/Base/Project/Src/Project/Converter/LanguageConverter.cs +++ b/src/Main/Base/Project/Src/Project/Converter/LanguageConverter.cs @@ -229,9 +229,9 @@ namespace ICSharpCode.SharpDevelop.Project.Converter if (p.Errors.Count > 0) { conversionLog.AppendLine(); conversionLog.AppendLine(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.Convert.IsNotConverted}", - new string[,] {{"FileName", sourceItem.FileName}})); + new StringTagPair("FileName", sourceItem.FileName))); conversionLog.AppendLine(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.Convert.ParserErrorCount}", - new string[,] {{"ErrorCount", p.Errors.Count.ToString()}})); + new StringTagPair("ErrorCount", p.Errors.Count.ToString()))); conversionLog.AppendLine(p.Errors.ErrorOutput); base.ConvertFile(sourceItem, targetItem); return; @@ -250,10 +250,8 @@ namespace ICSharpCode.SharpDevelop.Project.Converter if (outputVisitor.Errors.Count > 0) { conversionLog.AppendLine(); conversionLog.AppendLine(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.Convert.ConverterErrorCount}", - new string[,] { - {"FileName", sourceItem.FileName}, - {"ErrorCount", outputVisitor.Errors.Count.ToString()} - })); + new StringTagPair("FileName", sourceItem.FileName), + new StringTagPair("ErrorCount", outputVisitor.Errors.Count.ToString()))); conversionLog.AppendLine(outputVisitor.Errors.ErrorOutput); } diff --git a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs index 7dd94fe26f..5d87d5309c 100644 --- a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs @@ -219,7 +219,10 @@ namespace ICSharpCode.SharpDevelop if (!System.IO.File.Exists(fileName)) return; - string message = StringParser.Parse("${res:ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.TextEditorDisplayBinding.FileAlteredMessage}", new string[,] {{"File", Path.GetFullPath(fileName)}}); + string message = StringParser.Parse( + "${res:ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.TextEditorDisplayBinding.FileAlteredMessage}", + new StringTagPair("File", Path.GetFullPath(fileName)) + ); if ((AutoLoadExternalChangesOption && file.IsDirty == false) || MessageService.AskQuestion(message, StringParser.Parse("${res:MainWindow.DialogName}"))) { diff --git a/src/Main/Base/Project/Src/Services/File/FileService.cs b/src/Main/Base/Project/Src/Services/File/FileService.cs index f3f115975f..1018253a8d 100644 --- a/src/Main/Base/Project/Src/Services/File/FileService.cs +++ b/src/Main/Base/Project/Src/Services/File/FileService.cs @@ -177,7 +177,7 @@ namespace ICSharpCode.SharpDevelop { if (FileUtility.IsValidPath(path)) return true; - MessageService.ShowMessage(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.SaveFile.InvalidFileNameError}", new string[,] {{"FileName", path}})); + MessageService.ShowMessage(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.SaveFile.InvalidFileNameError}", new StringTagPair("FileName", path))); return false; } @@ -189,7 +189,7 @@ namespace ICSharpCode.SharpDevelop { if (FileUtility.IsValidDirectoryEntryName(name)) return true; - MessageService.ShowMessage(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.SaveFile.InvalidFileNameError}", new string[,] {{"FileName", name}})); + MessageService.ShowMessage(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.SaveFile.InvalidFileNameError}", new StringTagPair("FileName", name))); return false; } diff --git a/src/Main/Base/Project/Src/Services/ParserService/DomHostCallback.cs b/src/Main/Base/Project/Src/Services/ParserService/DomHostCallback.cs index 2169059fd3..6db914665c 100644 --- a/src/Main/Base/Project/Src/Services/ParserService/DomHostCallback.cs +++ b/src/Main/Base/Project/Src/Services/ParserService/DomHostCallback.cs @@ -42,7 +42,7 @@ namespace ICSharpCode.SharpDevelop TaskService.BuildMessageViewCategory.AppendText( StringParser.Parse( "${res:ICSharpCode.SharpDevelop.ErrorLoadingCodeCompletionInformation}", - new string[,] { {"Assembly", include}, {"Filename", fileName}} + new StringTagPair("Assembly", include), new StringTagPair("Filename", fileName) ) + "\r\n" + message + "\r\n" ); } diff --git a/src/Main/Base/Project/Src/Services/ProjectService/CompileModifiedProjectsOnly.cs b/src/Main/Base/Project/Src/Services/ProjectService/CompileModifiedProjectsOnly.cs index cd6d610a6f..ed5b8f1a7b 100644 --- a/src/Main/Base/Project/Src/Services/ProjectService/CompileModifiedProjectsOnly.cs +++ b/src/Main/Base/Project/Src/Services/ProjectService/CompileModifiedProjectsOnly.cs @@ -263,7 +263,7 @@ namespace ICSharpCode.SharpDevelop.Project if (lastCompilationPass != null) { feedbackSink.ReportMessage( StringParser.Parse("${res:MainWindow.CompilerMessages.SkipProjectNoChanges}", - new string[,] {{ "Name", p.Name }}) + new StringTagPair("Name", p.Name)) ); feedbackSink.Done(true); } else { diff --git a/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs b/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs index 09ab6250ad..b0c378655b 100644 --- a/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs +++ b/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs @@ -110,7 +110,7 @@ namespace ICSharpCode.SharpDevelop.Project if (loader != null) { loader.Load(fileName); } else { - MessageService.ShowError(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.OpenCombine.InvalidProjectOrCombine}", new string[,] {{"FileName", fileName}})); + MessageService.ShowError(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.OpenCombine.InvalidProjectOrCombine}", new StringTagPair("FileName", fileName))); } } @@ -348,7 +348,7 @@ namespace ICSharpCode.SharpDevelop.Project } } if (found == false) { - string[,] parseArgs = {{"SolutionName", Path.GetFileName(solutionFile)}, {"ProjectName", Path.GetFileName(fileName)}}; + var parseArgs = new[] { new StringTagPair("SolutionName", Path.GetFileName(solutionFile)), new StringTagPair("ProjectName", Path.GetFileName(fileName))}; int res = MessageService.ShowCustomDialog(MessageService.ProductName, StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.OpenCombine.SolutionDoesNotContainProject}", parseArgs), 0, 2, @@ -391,7 +391,7 @@ namespace ICSharpCode.SharpDevelop.Project return; } } else { - MessageService.ShowError(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.OpenCombine.InvalidProjectOrCombine}", new string[,] {{"FileName", fileName}})); + MessageService.ShowError(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.OpenCombine.InvalidProjectOrCombine}", new StringTagPair("FileName", fileName))); return; } solution.AddFolder(project); diff --git a/src/Main/Base/Project/Src/Services/RefactoringService/ContextActions/ContextActionsHelper.cs b/src/Main/Base/Project/Src/Services/RefactoringService/ContextActions/ContextActionsHelper.cs index 6b20fa942a..1f2c6fb22b 100644 --- a/src/Main/Base/Project/Src/Services/RefactoringService/ContextActions/ContextActionsHelper.cs +++ b/src/Main/Base/Project/Src/Services/RefactoringService/ContextActions/ContextActionsHelper.cs @@ -37,8 +37,11 @@ namespace ICSharpCode.SharpDevelop.Refactoring public static ContextActionsPopup MakePopupWithOverrides(IMember member) { var derivedClassesTree = RefactoringService.FindDerivedClassesTree(member.DeclaringType); - var popupViewModel = new ContextActionsViewModel { Title = MenuService.ConvertLabel(StringParser.Parse( - "${res:SharpDevelop.Refactoring.OverridesOf}", new string[,] {{ "Name", member.FullyQualifiedName }}))}; + var popupViewModel = new ContextActionsViewModel { + Title = MenuService.ConvertLabel(StringParser.Parse( + "${res:SharpDevelop.Refactoring.OverridesOf}", + new StringTagPair("Name", member.FullyQualifiedName)) + )}; popupViewModel.Actions = new OverridesPopupTreeViewModelBuilder(member).BuildTreeViewModel(derivedClassesTree); return new ContextActionsPopup { Actions = popupViewModel, Symbol = member }; } diff --git a/src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs b/src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs index 5e036978fb..f22efbcda3 100644 --- a/src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs +++ b/src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs @@ -524,21 +524,20 @@ namespace ICSharpCode.SharpDevelop.Refactoring public static void RunFindReferences(IMember member) { string memberName = member.DeclaringType.Name + "." + member.Name; - using (AsynchronousWaitDialog monitor = AsynchronousWaitDialog.ShowWaitDialog("${res:SharpDevelop.Refactoring.FindReferences}", true)) - { - FindReferencesAndRenameHelper.ShowAsSearchResults(StringParser.Parse("${res:SharpDevelop.Refactoring.ReferencesTo}", - new string[,] {{ "Name", memberName }}), - RefactoringService.FindReferences(member, monitor)); + using (AsynchronousWaitDialog monitor = AsynchronousWaitDialog.ShowWaitDialog("${res:SharpDevelop.Refactoring.FindReferences}", true)) { + FindReferencesAndRenameHelper.ShowAsSearchResults( + StringParser.Parse("${res:SharpDevelop.Refactoring.ReferencesTo}", + new StringTagPair("Name", memberName)), + RefactoringService.FindReferences(member, monitor)); } } public static void RunFindReferences(IClass c) { - using (AsynchronousWaitDialog monitor = AsynchronousWaitDialog.ShowWaitDialog("${res:SharpDevelop.Refactoring.FindReferences}", true)) - { + using (AsynchronousWaitDialog monitor = AsynchronousWaitDialog.ShowWaitDialog("${res:SharpDevelop.Refactoring.FindReferences}", true)) { FindReferencesAndRenameHelper.ShowAsSearchResults( StringParser.Parse("${res:SharpDevelop.Refactoring.ReferencesTo}", - new string[,] {{ "Name", c.Name }}), + new StringTagPair("Name", c.Name)), RefactoringService.FindReferences(c, monitor) ); } @@ -548,7 +547,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring { FindReferencesAndRenameHelper.ShowAsSearchResults( StringParser.Parse("${res:SharpDevelop.Refactoring.ReferencesTo}", - new string[,] {{ "Name", local.VariableName }}), + new StringTagPair("Name", local.VariableName)), RefactoringService.FindReferences(local, null) ); } diff --git a/src/Main/Base/Project/Src/Services/StatusBar/StatusBarService.cs b/src/Main/Base/Project/Src/Services/StatusBar/StatusBarService.cs index cf6500e675..37ff00af0b 100644 --- a/src/Main/Base/Project/Src/Services/StatusBar/StatusBarService.cs +++ b/src/Main/Base/Project/Src/Services/StatusBar/StatusBarService.cs @@ -72,11 +72,10 @@ namespace ICSharpCode.SharpDevelop.Gui { statusBar.CursorStatusBarPanel.Content = StringParser.Parse( "${res:StatusBarService.CursorStatusBarPanelText}", - new string[,] { - {"Line", String.Format("{0,-10}", y)}, - {"Column", String.Format("{0,-5}", x)}, - {"Character", String.Format("{0,-5}", charOffset)} - }); + new StringTagPair("Line", String.Format("{0,-10}", y)), + new StringTagPair("Column", String.Format("{0,-5}", x)), + new StringTagPair("Character", String.Format("{0,-5}", charOffset)) + ); } public void SetInsertMode(bool insertMode) diff --git a/src/Main/Core/Project/Src/Services/StringParser/StringParser.cs b/src/Main/Core/Project/Src/Services/StringParser/StringParser.cs index 0dbf7121e6..d2acec8711 100644 --- a/src/Main/Core/Project/Src/Services/StringParser/StringParser.cs +++ b/src/Main/Core/Project/Src/Services/StringParser/StringParser.cs @@ -132,6 +132,7 @@ namespace ICSharpCode.Core /// <summary> /// For new code, please use the overload taking StringTagPair[]! /// </summary> + [Obsolete("Please use the overload taking StringTagPair[]!")] public static string Parse(string input, string[,] customTags) { if (customTags == null) diff --git a/src/Main/Core/Test/StringParserTests.cs b/src/Main/Core/Test/StringParserTests.cs index 03129ad8b7..735b8ddb1f 100644 --- a/src/Main/Core/Test/StringParserTests.cs +++ b/src/Main/Core/Test/StringParserTests.cs @@ -43,7 +43,7 @@ namespace ICSharpCode.Core.Tests [Test] public void CustomInput() { - Assert.AreEqual("12", StringParser.Parse("${a}${b}", new string[,] {{"a", "1"}, {"b", "2"}})); + Assert.AreEqual("12", StringParser.Parse("${a}${b}", new StringTagPair("a", "1"), new StringTagPair("b", "2"))); } [Test] From fa38d8060a16ead5705f6375acb2f0a1867d710e Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Wed, 10 Aug 2011 21:51:06 +0200 Subject: [PATCH 135/168] fix unit tests --- .../UnitTesting/Test/UnitTesting.Tests.csproj | 1 - .../Test/Utils/MockProjectChangeWatcher.cs | 29 ----------------- .../Test/Utils/MockProjectChangeWatcher.cs | 29 ----------------- .../WixBinding/Test/WixBinding.Tests.csproj | 1 - .../Test/PackageManagement.Tests.csproj | 1 - .../Test/Src/EnvDTE/DTETests.cs | 2 +- .../Src/Helpers/MockProjectChangeWatcher.cs | 29 ----------------- .../Test/MockProjectChangeWatcher.cs | 29 ----------------- .../Test/ResourceToolkit.Tests.csproj | 1 - .../Test/Helpers/MockProjectChangeWatcher.cs | 31 ------------------- .../Test/TextTemplating.Tests.csproj | 1 - .../Project/Src/Project/AbstractProject.cs | 5 ++- .../Src/Project/IProjectChangeWatcher.cs | 21 ++++++++++++- .../Src/Project/ProjectChangeWatcher.cs | 2 +- .../ICSharpCode.SharpDevelop.Tests.csproj | 1 - .../Test/Utils/MockProjectChangeWatcher.cs | 29 ----------------- 16 files changed, 26 insertions(+), 186 deletions(-) delete mode 100644 src/AddIns/Analysis/UnitTesting/Test/Utils/MockProjectChangeWatcher.cs delete mode 100644 src/AddIns/BackendBindings/WixBinding/Test/Utils/MockProjectChangeWatcher.cs delete mode 100644 src/AddIns/Misc/PackageManagement/Test/Src/Helpers/MockProjectChangeWatcher.cs delete mode 100644 src/AddIns/Misc/ResourceToolkit/Test/MockProjectChangeWatcher.cs delete mode 100644 src/AddIns/Misc/TextTemplating/Test/Helpers/MockProjectChangeWatcher.cs delete mode 100644 src/Main/Base/Test/Utils/MockProjectChangeWatcher.cs diff --git a/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj b/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj index 96d8c4863d..0f235a3bf8 100644 --- a/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj +++ b/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj @@ -159,7 +159,6 @@ <Compile Include="Utils\MockNUnitTestFramework.cs" /> <Compile Include="Utils\MockNUnitTestRunnerContext.cs" /> <Compile Include="Utils\MockProcessRunner.cs" /> - <Compile Include="Utils\MockProjectChangeWatcher.cs" /> <Compile Include="Utils\MockRegisteredTestFrameworks.cs" /> <Compile Include="Utils\MockRunTestCommandContext.cs" /> <Compile Include="Utils\MockSaveAllFilesCommand.cs" /> diff --git a/src/AddIns/Analysis/UnitTesting/Test/Utils/MockProjectChangeWatcher.cs b/src/AddIns/Analysis/UnitTesting/Test/Utils/MockProjectChangeWatcher.cs deleted file mode 100644 index 36565553f0..0000000000 --- a/src/AddIns/Analysis/UnitTesting/Test/Utils/MockProjectChangeWatcher.cs +++ /dev/null @@ -1,29 +0,0 @@ -// 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 ICSharpCode.SharpDevelop.Project; - -namespace UnitTesting.Tests.Utils -{ - /// <summary> - /// Description of MockProjectChangeWatcher. - /// </summary> - public class MockProjectChangeWatcher : IProjectChangeWatcher - { - public MockProjectChangeWatcher() - { - } - - public void Enable() - { - } - - public void Disable() - { - } - - public void Rename(string newFileName) - { - } - } -} diff --git a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockProjectChangeWatcher.cs b/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockProjectChangeWatcher.cs deleted file mode 100644 index f7472a8fe3..0000000000 --- a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockProjectChangeWatcher.cs +++ /dev/null @@ -1,29 +0,0 @@ -// 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 ICSharpCode.SharpDevelop.Project; - -namespace WixBinding.Tests.Utils -{ - /// <summary> - /// Description of MockProjectChangeWatcher. - /// </summary> - public class MockProjectChangeWatcher : IProjectChangeWatcher - { - public MockProjectChangeWatcher() - { - } - - public void Enable() - { - } - - public void Disable() - { - } - - public void Rename(string newFileName) - { - } - } -} diff --git a/src/AddIns/BackendBindings/WixBinding/Test/WixBinding.Tests.csproj b/src/AddIns/BackendBindings/WixBinding/Test/WixBinding.Tests.csproj index ed06a26541..c3ae0f9c80 100644 --- a/src/AddIns/BackendBindings/WixBinding/Test/WixBinding.Tests.csproj +++ b/src/AddIns/BackendBindings/WixBinding/Test/WixBinding.Tests.csproj @@ -112,7 +112,6 @@ <Compile Include="Utils\MockFormsDesignerView.cs" /> <Compile Include="Utils\MockOpenedFile.cs" /> <Compile Include="Utils\MockPackageFilesViewFactory.cs" /> - <Compile Include="Utils\MockProjectChangeWatcher.cs" /> <Compile Include="Utils\MockTextEditor.cs" /> <Compile Include="Utils\MockTextEditorOptions.cs" /> <Compile Include="Utils\MockTextFileReader.cs" /> diff --git a/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj b/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj index a7b2f14065..adac04ca1b 100644 --- a/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj +++ b/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj @@ -73,7 +73,6 @@ <Compile Include="Src\Helpers\FakeSolutionPackageRepositoryFactory.cs" /> <Compile Include="Src\Helpers\FakeUpdatePackageActions.cs" /> <Compile Include="Src\Helpers\FakeUpdatePackageActionsFactory.cs" /> - <Compile Include="Src\Helpers\MockProjectChangeWatcher.cs" /> <Compile Include="Src\Helpers\SelectedProjectCollectionAssert.cs" /> <Compile Include="Src\Helpers\TestableInstalledPackageViewModel.cs" /> <Compile Include="Src\Helpers\TestablePackageFromRepository.cs" /> diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/DTETests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/DTETests.cs index 6b62ed6443..3ec9492efa 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/DTETests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/DTETests.cs @@ -20,7 +20,7 @@ namespace PackageManagement.Tests.EnvDTE void CreateDTE() { fakeProjectService = new FakePackageManagementProjectService(); - fakeProjectService.OpenSolution = new SD.Solution(new MockProjectChangeWatcher()); + fakeProjectService.OpenSolution = new SD.Solution(new SD.MockProjectChangeWatcher()); fakeFileService = new FakeFileService(null); dte = new DTE(fakeProjectService, fakeFileService); } diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/MockProjectChangeWatcher.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/MockProjectChangeWatcher.cs deleted file mode 100644 index c761364c96..0000000000 --- a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/MockProjectChangeWatcher.cs +++ /dev/null @@ -1,29 +0,0 @@ -// 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 ICSharpCode.SharpDevelop.Project; - -namespace PackageManagement.Tests.Helpers -{ - /// <summary> - /// Description of MockProjectChangeWatcher. - /// </summary> - public class MockProjectChangeWatcher : IProjectChangeWatcher - { - public MockProjectChangeWatcher() - { - } - - public void Enable() - { - } - - public void Disable() - { - } - - public void Rename(string newFileName) - { - } - } -} diff --git a/src/AddIns/Misc/ResourceToolkit/Test/MockProjectChangeWatcher.cs b/src/AddIns/Misc/ResourceToolkit/Test/MockProjectChangeWatcher.cs deleted file mode 100644 index 1dc7adfe4a..0000000000 --- a/src/AddIns/Misc/ResourceToolkit/Test/MockProjectChangeWatcher.cs +++ /dev/null @@ -1,29 +0,0 @@ -// 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 ICSharpCode.SharpDevelop.Project; - -namespace ResourceToolkit.Tests -{ - /// <summary> - /// Description of MockProjectChangeWatcher. - /// </summary> - public class MockProjectChangeWatcher : IProjectChangeWatcher - { - public MockProjectChangeWatcher() - { - } - - public void Enable() - { - } - - public void Disable() - { - } - - public void Rename(string newFileName) - { - } - } -} diff --git a/src/AddIns/Misc/ResourceToolkit/Test/ResourceToolkit.Tests.csproj b/src/AddIns/Misc/ResourceToolkit/Test/ResourceToolkit.Tests.csproj index 819e0b887d..794d4c7e89 100644 --- a/src/AddIns/Misc/ResourceToolkit/Test/ResourceToolkit.Tests.csproj +++ b/src/AddIns/Misc/ResourceToolkit/Test/ResourceToolkit.Tests.csproj @@ -57,7 +57,6 @@ <Compile Include="CSharp\ICSharpCodeCoreNRefactoryResourceResolverTests.cs" /> <Compile Include="CSharp\ICSharpCodeCoreResourceResolverTests.cs" /> <Compile Include="CSharp\SpecificResourceReferenceFinderTests.cs" /> - <Compile Include="MockProjectChangeWatcher.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="TestHelper.cs" /> <Compile Include="VBNet\AbstractVBNetResourceResolverTestFixture.cs" /> diff --git a/src/AddIns/Misc/TextTemplating/Test/Helpers/MockProjectChangeWatcher.cs b/src/AddIns/Misc/TextTemplating/Test/Helpers/MockProjectChangeWatcher.cs deleted file mode 100644 index 0b71bdbd75..0000000000 --- a/src/AddIns/Misc/TextTemplating/Test/Helpers/MockProjectChangeWatcher.cs +++ /dev/null @@ -1,31 +0,0 @@ -// 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 ICSharpCode.SharpDevelop.Internal.Templates; -using ICSharpCode.SharpDevelop.Project; - -namespace TextTemplating.Tests.Helpers -{ - /// <summary> - /// Description of MockProjectChangeWatcher. - /// </summary> - public class MockProjectChangeWatcher : IProjectChangeWatcher - { - public MockProjectChangeWatcher() - { - } - - public void Enable() - { - } - - public void Disable() - { - } - - public void Rename(string newFileName) - { - } - } -} diff --git a/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj b/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj index 955c1ee3ba..7d158774b0 100644 --- a/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj +++ b/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj @@ -62,7 +62,6 @@ <Compile Include="Helpers\FakeTextTemplatingFilePreprocessor.cs" /> <Compile Include="Helpers\FakeTextTemplatingHost.cs" /> <Compile Include="Helpers\FakeTextTemplatingFileGenerator.cs" /> - <Compile Include="Helpers\MockProjectChangeWatcher.cs" /> <Compile Include="Helpers\ProjectHelper.cs" /> <Compile Include="Helpers\TestableFileProjectItem.cs" /> <Compile Include="Helpers\TestableProject.cs" /> diff --git a/src/Main/Base/Project/Src/Project/AbstractProject.cs b/src/Main/Base/Project/Src/Project/AbstractProject.cs index 4961d433e5..732a42c5c9 100644 --- a/src/Main/Base/Project/Src/Project/AbstractProject.cs +++ b/src/Main/Base/Project/Src/Project/AbstractProject.cs @@ -116,7 +116,7 @@ namespace ICSharpCode.SharpDevelop.Project #region Filename / Directory volatile string fileName; string cachedDirectoryName; - protected ProjectChangeWatcher watcher; + protected IProjectChangeWatcher watcher; /// <summary> /// Gets the name of the project file. @@ -135,6 +135,9 @@ namespace ICSharpCode.SharpDevelop.Project WorkbenchSingleton.AssertMainThread(); Debug.Assert(FileUtility.IsUrl(value) || Path.IsPathRooted(value)); + if (WorkbenchSingleton.Workbench == null) + watcher = new MockProjectChangeWatcher(); + if (watcher == null) { watcher = new ProjectChangeWatcher(value); watcher.Enable(); diff --git a/src/Main/Base/Project/Src/Project/IProjectChangeWatcher.cs b/src/Main/Base/Project/Src/Project/IProjectChangeWatcher.cs index 4664b15584..5b3088fb29 100644 --- a/src/Main/Base/Project/Src/Project/IProjectChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Project/IProjectChangeWatcher.cs @@ -7,10 +7,29 @@ using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.SharpDevelop.Project { - public interface IProjectChangeWatcher + public interface IProjectChangeWatcher : IDisposable { void Enable(); void Disable(); void Rename(string newFileName); } + + public sealed class MockProjectChangeWatcher : IProjectChangeWatcher + { + public void Enable() + { + } + + public void Disable() + { + } + + public void Rename(string newFileName) + { + } + + public void Dispose() + { + } + } } diff --git a/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs b/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs index 6c15024fd5..5a3aae20ea 100644 --- a/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs @@ -7,7 +7,7 @@ using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.SharpDevelop.Project { - public sealed class ProjectChangeWatcher : IDisposable, IProjectChangeWatcher + public sealed class ProjectChangeWatcher : IProjectChangeWatcher { FileSystemWatcher watcher; string fileName; diff --git a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj index cc498e2fbd..9563deb35d 100644 --- a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj +++ b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj @@ -100,7 +100,6 @@ <Compile Include="Utils\MockMethod.cs" /> <Compile Include="Utils\MockOpenedFile.cs" /> <Compile Include="Utils\MockProject.cs" /> - <Compile Include="Utils\MockProjectChangeWatcher.cs" /> <Compile Include="Utils\MockProperty.cs" /> <Compile Include="Utils\MockSite.cs" /> <Compile Include="Utils\MockTextMarker.cs" /> diff --git a/src/Main/Base/Test/Utils/MockProjectChangeWatcher.cs b/src/Main/Base/Test/Utils/MockProjectChangeWatcher.cs deleted file mode 100644 index 72bb1c6a66..0000000000 --- a/src/Main/Base/Test/Utils/MockProjectChangeWatcher.cs +++ /dev/null @@ -1,29 +0,0 @@ -// 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 ICSharpCode.SharpDevelop.Project; - -namespace ICSharpCode.SharpDevelop.Tests.Utils -{ - /// <summary> - /// Description of MockProjectChangeWatcher. - /// </summary> - public class MockProjectChangeWatcher : IProjectChangeWatcher - { - public MockProjectChangeWatcher() - { - } - - public void Enable() - { - } - - public void Disable() - { - } - - public void Rename(string newFileName) - { - } - } -} From 9c874706bc0e7ce5f5fed2188a062825e76df619 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Wed, 10 Aug 2011 23:23:10 +0200 Subject: [PATCH 136/168] fix SD-1834 - Code completion selection should consider "List" an exact match for "List(Of T)" - http://bugtracker.sharpdevelop.net/issue/ViewIssue.aspx?id=1834&PROJID=4 --- .../Src/SharpDevelopCompletionWindow.cs | 9 --- .../CodeCompletionItemProvider.cs | 60 +++++-------------- .../Editor/CodeCompletion/ICompletionItem.cs | 9 +++ 3 files changed, 25 insertions(+), 53 deletions(-) diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/SharpDevelopCompletionWindow.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/SharpDevelopCompletionWindow.cs index 8143e975a6..93b076f6db 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/SharpDevelopCompletionWindow.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/SharpDevelopCompletionWindow.cs @@ -129,15 +129,6 @@ namespace ICSharpCode.AvalonEdit.AddIn } } - /// <summary> - /// Completion item that supports complex content and description. - /// </summary> - public interface IFancyCompletionItem : ICompletionItem - { - object Content { get; } - new object Description { get; } - } - sealed class CodeCompletionDataAdapter : ICompletionData, INotifyPropertyChanged { readonly SharpDevelopCompletionWindow window; diff --git a/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs b/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs index 5300029a51..8a1886db30 100644 --- a/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs +++ b/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs @@ -210,7 +210,7 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion } } - public class CodeCompletionItem : ICompletionItem + public class CodeCompletionItem : ICompletionItem, IFancyCompletionItem { public double Priority { get; set; } @@ -224,7 +224,8 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion IAmbience ambience = AmbienceService.GetCurrentAmbience(); ambience.ConversionFlags = entity is IClass ? ConversionFlags.ShowTypeParameterList : ConversionFlags.None; - this.Text = ambience.Convert(entity); + this.Text = entity.Name; + this.Content = ambience.Convert(entity); ambience.ConversionFlags = ConversionFlags.StandardConversionFlags; if (entity is IClass) { // Show fully qualified Type name (called UseFullyQualifiedMemberNames though) @@ -233,7 +234,6 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion description = ambience.Convert(entity); this.Image = ClassBrowserIconService.GetIcon(entity); this.Overloads = 1; - this.InsertGenericArguments = false; this.Priority = CodeCompletionDataUsageCache.GetPriority(entity.DotNetName, true); } @@ -248,12 +248,6 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion public IImage Image { get; set; } - /// <summary> - /// If true, will insert Text including generic arguments (e.g. List<T> or List<string>). - /// Otherwise will insert Text without generic arguments (e.g. List). - /// </summary> - public bool InsertGenericArguments { get; set; } - protected void MarkAsUsed() { CodeCompletionDataUsageCache.IncrementUsage(entity.DotNetName); @@ -290,7 +284,8 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion addUsing = !IsKnownName(nameResult); } - InsertTextStripGenericArguments(context, insertedText, this.InsertGenericArguments); + context.Editor.Document.Replace(context.StartOffset, context.Length, insertedText); + context.EndOffset = context.StartOffset + insertedText.Length; if (addUsing && nameResult != null && nameResult.CallingClass != null) { var cu = nameResult.CallingClass.CompilationUnit; @@ -299,40 +294,9 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion } } else { // Something else than a class or Extension method is being inserted - just insert text - InsertTextStripGenericArguments(context, insertedText, this.InsertGenericArguments); - } - } - - /// <summary> - /// Inserts the given text. Strips generic arguments from it if specified. - /// </summary> - static void InsertTextStripGenericArguments(CompletionContext context, string insertedText, bool stringGenericArguments) - { - if (!stringGenericArguments) { - // FIXME CodeCompletionItem should contain IReturnType and decide whether to INCLUDE generic arguments - // or not, not strip them. - insertedText = StripGenericArguments(insertedText, context); - } - context.Editor.Document.Replace(context.StartOffset, context.Length, insertedText); - context.EndOffset = context.StartOffset + insertedText.Length; - } - - /// <summary> - /// Turns e.g. "List<T>" into "List<" - /// </summary> - static string StripGenericArguments(string itemText, CompletionContext context) - { - if (context == null || context.Editor == null || context.Editor.Language == null || - context.Editor.Language.Properties != LanguageProperties.CSharp) - return itemText; - if (itemText != null && itemText.EndsWith(">")) { - int pos = itemText.LastIndexOf('<'); - if (pos == -1) - return itemText; - int insertLen = pos; - itemText = itemText.Substring(0, insertLen); + context.Editor.Document.Replace(context.StartOffset, context.Length, insertedText); + context.EndOffset = context.StartOffset + insertedText.Length; } - return itemText; } IClass GetClassOrExtensionMethodClass(IEntity selectedEntity) @@ -506,6 +470,14 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion return cref; } #endregion + + public object Content { get; set; } + + object IFancyCompletionItem.Description { + get { + return Description; + } + } } /// <summary> @@ -518,7 +490,7 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion : base(entity) { this.Text = nameWithSpecifiedGenericArguments; - this.InsertGenericArguments = true; + this.Content = nameWithSpecifiedGenericArguments; } } } diff --git a/src/Main/Base/Project/Src/Editor/CodeCompletion/ICompletionItem.cs b/src/Main/Base/Project/Src/Editor/CodeCompletion/ICompletionItem.cs index adf6cc08d0..068bacde20 100644 --- a/src/Main/Base/Project/Src/Editor/CodeCompletion/ICompletionItem.cs +++ b/src/Main/Base/Project/Src/Editor/CodeCompletion/ICompletionItem.cs @@ -26,6 +26,15 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion } } + /// <summary> + /// Completion item that supports complex content and description. + /// </summary> + public interface IFancyCompletionItem : ICompletionItem + { + object Content { get; } + new object Description { get; } + } + public interface ISnippetCompletionItem : ICompletionItem { string Keyword { get; } From 58e5ace25541bb70421716f77b8cdf9709626fb2 Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Thu, 11 Aug 2011 17:17:45 +0200 Subject: [PATCH 137/168] fix SD-1716 - http://bugtracker.sharpdevelop.net/issue/ViewIssue.aspx?id=1716&PROJID=4 --- .../Project/Src/ScriptingDesignerGenerator.cs | 4 +- .../Test/Utils/MockDesignerGenerator.cs | 2 +- .../Src/Gui/WixDialogDesignerGenerator.cs | 2 +- .../AbstractDesignerGenerator.cs | 14 +- .../DesignerGenerator/IDesignerGenerator.cs | 2 +- .../Project/Src/DesignerViewContent.cs | 120 +++++++++--------- .../WpfDesign.AddIn/Src/WpfViewContent.cs | 28 ++++ .../Project/PropertyGrid/PropertyGrid.cs | 6 + 8 files changed, 109 insertions(+), 69 deletions(-) diff --git a/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingDesignerGenerator.cs b/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingDesignerGenerator.cs index e6a373e319..e8d770a891 100644 --- a/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingDesignerGenerator.cs +++ b/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingDesignerGenerator.cs @@ -120,7 +120,7 @@ namespace ICSharpCode.Scripting return method.Parameters.Count == 2; } - public void NotifyFormRenamed(string newName) + public void NotifyComponentRenamed(object component, string newName, string oldName) { } @@ -285,6 +285,6 @@ namespace ICSharpCode.Scripting public virtual int InsertEventHandler(IDocument document, string eventHandler) { return 0; - } + } } } diff --git a/src/AddIns/BackendBindings/Scripting/Test/Utils/MockDesignerGenerator.cs b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockDesignerGenerator.cs index 041b9e738a..f138db33e8 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/Utils/MockDesignerGenerator.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockDesignerGenerator.cs @@ -55,7 +55,7 @@ namespace ICSharpCode.Scripting.Tests.Utils { } - public void NotifyFormRenamed(string newName) + public void NotifyComponentRenamed(object component, string newName, string oldName) { } diff --git a/src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/WixDialogDesignerGenerator.cs b/src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/WixDialogDesignerGenerator.cs index 5270738dd5..d0738f3f15 100644 --- a/src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/WixDialogDesignerGenerator.cs +++ b/src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/WixDialogDesignerGenerator.cs @@ -101,7 +101,7 @@ namespace ICSharpCode.WixBinding { } - public void NotifyFormRenamed(string newName) + public void NotifyComponentRenamed(object component, string newName, string oldName) { } diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs index efb7263be1..d56b055b2f 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs @@ -206,14 +206,22 @@ namespace ICSharpCode.FormsDesigner { } - public virtual void NotifyFormRenamed(string newName) + public virtual void NotifyComponentRenamed(object component, string newName, string oldName) { Reparse(); - LoggingService.Info("Renaming form to " + newName); + LoggingService.Info(string.Format("Renaming form '{0}' to '{1}'.", oldName, newName)); if (this.formClass == null) { LoggingService.Warn("Cannot rename, formClass not found"); } else { - ICSharpCode.SharpDevelop.Refactoring.FindReferencesAndRenameHelper.RenameClass(this.formClass, newName); + if (component is System.Windows.Forms.Form) { + ICSharpCode.SharpDevelop.Refactoring.FindReferencesAndRenameHelper.RenameClass(this.formClass, newName); + } else { + if (component is System.Windows.Forms.Control) { + IField field = GetField(this.formClass, oldName); + if (field != null) + ICSharpCode.SharpDevelop.Refactoring.FindReferencesAndRenameHelper.RenameMember(field, newName); + } + } Reparse(); } } diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/IDesignerGenerator.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/IDesignerGenerator.cs index da6b3b35b8..9f0049b5bd 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/IDesignerGenerator.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/IDesignerGenerator.cs @@ -32,6 +32,6 @@ namespace ICSharpCode.FormsDesigner void MergeFormChanges(CodeCompileUnit unit); bool InsertComponentEvent(IComponent component, EventDescriptor edesc, string eventMethodName, string body, out string file, out int position); ICollection GetCompatibleMethods(EventDescriptor edesc); - void NotifyFormRenamed(string newName); + void NotifyComponentRenamed(object component, string newName, string oldName); } } diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs index a9305c5f42..29ea7692cc 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs @@ -13,6 +13,7 @@ using System.Linq; using System.Reflection; using System.Text; using System.Windows.Forms; + using ICSharpCode.Core; using ICSharpCode.FormsDesigner.Services; using ICSharpCode.FormsDesigner.UndoRedo; @@ -20,12 +21,13 @@ using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Gui; +using ICSharpCode.SharpDevelop.Refactoring; namespace ICSharpCode.FormsDesigner { public class FormsDesignerViewContent : AbstractViewContentHandlingLoadErrors, IClipboardHandler, IUndoHandler, IHasPropertyContainer, IContextHelpProvider, IToolsHost, IFileDocumentProvider { - readonly Control pleaseWaitLabel = new Label() {Text=StringParser.Parse("${res:Global.PleaseWait}"), TextAlign=ContentAlignment.MiddleCenter}; + readonly Control pleaseWaitLabel = new Label() { Text = StringParser.Parse("${res:Global.PleaseWait}"), TextAlign=ContentAlignment.MiddleCenter }; DesignSurface designSurface; bool disposing; @@ -124,7 +126,7 @@ namespace ICSharpCode.FormsDesigner FileService.FileRemoving += this.FileServiceFileRemoving; ICSharpCode.SharpDevelop.Debugging.DebuggerService.DebugStarting += this.DebugStarting; } - + public FormsDesignerViewContent(IViewContent primaryViewContent, IDesignerLoaderProvider loaderProvider, IDesignerGenerator generator) : this(primaryViewContent) { @@ -374,19 +376,17 @@ namespace ICSharpCode.FormsDesigner if (!loading && !unloading) { try { this.MakeDirty(); - if (e.Component != null && e.Component == Host.RootComponent - && e.Member != null && e.Member.Name == "Name" && e.NewValue is string - && !object.Equals(e.OldValue, e.NewValue)) - { - // changing the name of the form - generator.NotifyFormRenamed((string)e.NewValue); + if (e.Component != null && e.Member != null && e.Member.Name == "Name" && + e.NewValue is string && !object.Equals(e.OldValue, e.NewValue)) { + // changing the name of the component + generator.NotifyComponentRenamed(e.Component, (string)e.NewValue, (string)e.OldValue); } } catch (Exception ex) { MessageService.ShowException(ex); } } } - + void ComponentListChanged(object sender, EventArgs e) { bool loading = this.loader != null && this.loader.Loading; @@ -396,7 +396,7 @@ namespace ICSharpCode.FormsDesigner this.MakeDirty(); } } - + void UnloadDesigner() { LoggingService.Debug("FormsDesigner unloading, setting ActiveDesignSurface to null"); @@ -480,15 +480,15 @@ namespace ICSharpCode.FormsDesigner } this.addedTypeDescriptionProviders.Clear(); } - + readonly PropertyContainer propertyContainer = new PropertyContainer(); - + public PropertyContainer PropertyContainer { get { return propertyContainer; } } - + public void ShowHelp() { if (Host == null) { @@ -503,7 +503,7 @@ namespace ICSharpCode.FormsDesigner } } } - + void LoadAndDisplayDesigner() { try { @@ -524,7 +524,7 @@ namespace ICSharpCode.FormsDesigner } } - + internal new Control UserContent { get { SDWindowsFormsHost host = base.UserContent as SDWindowsFormsHost; @@ -554,7 +554,7 @@ namespace ICSharpCode.FormsDesigner base.UserContent = host; } } - + void DesignerLoading(object sender, EventArgs e) { LoggingService.Debug("Forms designer: DesignerLoader loading..."); @@ -562,7 +562,7 @@ namespace ICSharpCode.FormsDesigner this.unloading = false; this.UserContent = this.pleaseWaitLabel; } - + void DesignerUnloading(object sender, EventArgs e) { LoggingService.Debug("Forms designer: DesignerLoader unloading..."); @@ -571,10 +571,10 @@ namespace ICSharpCode.FormsDesigner this.UserContent = this.pleaseWaitLabel; } } - + bool reloadPending; bool unloading; - + void DesignerLoaded(object sender, LoadedEventArgs e) { // This method is called when the designer has loaded. @@ -610,13 +610,13 @@ namespace ICSharpCode.FormsDesigner this.UserContent = errorTextBox; } } - + void DesignerFlushed(object sender, EventArgs e) { this.resourceStore.CommitAllResourceChanges(); this.hasUnmergedChanges = false; } - + static string FormatLoadErrors(DesignSurface designSurface) { StringBuilder sb = new StringBuilder(); @@ -626,7 +626,7 @@ namespace ICSharpCode.FormsDesigner } return sb.ToString(); } - + public virtual void MergeFormChanges() { if (this.HasLoadError || this.designSurface == null) { @@ -643,12 +643,12 @@ namespace ICSharpCode.FormsDesigner hasUnmergedChanges = false; this.DesignerCodeFile.IsDirty = isDirty; } - + public void ShowSourceCode() { this.WorkbenchWindow.ActiveViewContent = this.PrimaryViewContent; } - + public void ShowSourceCode(int lineNumber) { ShowSourceCode(); @@ -657,7 +657,7 @@ namespace ICSharpCode.FormsDesigner tecp.TextEditor.JumpTo(lineNumber, 1); } } - + public void ShowSourceCode(IComponent component, EventDescriptor edesc, string eventMethodName) { int position; @@ -671,12 +671,12 @@ namespace ICSharpCode.FormsDesigner } } } - + public ICollection GetCompatibleMethods(EventDescriptor edesc) { return generator.GetCompatibleMethods(edesc); } - + void IsActiveViewContentChangedHandler(object sender, EventArgs e) { if (this.IsActiveViewContent) { @@ -711,7 +711,7 @@ namespace ICSharpCode.FormsDesigner designSurfaceManager.ActiveDesignSurface = null; } } - + public override void Dispose() { disposing = true; @@ -720,7 +720,6 @@ namespace ICSharpCode.FormsDesigner // to SaveInternal which requires the designer to be loaded. base.Dispose(); } finally { - ICSharpCode.SharpDevelop.Debugging.DebuggerService.DebugStarting -= this.DebugStarting; FileService.FileRemoving -= this.FileServiceFileRemoving; @@ -739,15 +738,14 @@ namespace ICSharpCode.FormsDesigner this.UserContent = null; this.pleaseWaitLabel.Dispose(); - } } - + void SelectionChangedHandler(object sender, EventArgs args) { UpdatePropertyPadSelection((ISelectionService)sender); } - + void UpdatePropertyPadSelection(ISelectionService selectionService) { ICollection selection = selectionService.GetSelectedComponents(); @@ -756,7 +754,7 @@ namespace ICSharpCode.FormsDesigner propertyContainer.SelectedObjects = selArray; System.Windows.Input.CommandManager.InvalidateRequerySuggested(); } - + protected void UpdatePropertyPad() { if (Host != null) { @@ -768,7 +766,7 @@ namespace ICSharpCode.FormsDesigner } } } - + #region IUndoHandler implementation public bool EnableUndo { get { @@ -792,7 +790,7 @@ namespace ICSharpCode.FormsDesigner undoEngine.Undo(); } } - + public virtual void Redo() { if (undoEngine != null) { @@ -800,7 +798,7 @@ namespace ICSharpCode.FormsDesigner } } #endregion - + #region IClipboardHandler implementation bool IsMenuCommandEnabled(CommandID commandID) { @@ -821,69 +819,69 @@ namespace ICSharpCode.FormsDesigner //int status = menuCommand.OleStatus; return menuCommand.Enabled; } - + public bool EnableCut { get { return IsMenuCommandEnabled(StandardCommands.Cut); } } - + public bool EnableCopy { get { return IsMenuCommandEnabled(StandardCommands.Copy); } } - + const string ComponentClipboardFormat = "CF_DESIGNERCOMPONENTS"; public bool EnablePaste { get { return IsMenuCommandEnabled(StandardCommands.Paste); } } - + public bool EnableDelete { get { return IsMenuCommandEnabled(StandardCommands.Delete); } } - + public bool EnableSelectAll { get { return designSurface != null; } } - + public void Cut() { IMenuCommandService menuCommandService = (IMenuCommandService)designSurface.GetService(typeof(IMenuCommandService)); menuCommandService.GlobalInvoke(StandardCommands.Cut); } - + public void Copy() { IMenuCommandService menuCommandService = (IMenuCommandService)designSurface.GetService(typeof(IMenuCommandService)); menuCommandService.GlobalInvoke(StandardCommands.Copy); } - + public void Paste() { IMenuCommandService menuCommandService = (IMenuCommandService)designSurface.GetService(typeof(IMenuCommandService)); menuCommandService.GlobalInvoke(StandardCommands.Paste); } - + public void Delete() { IMenuCommandService menuCommandService = (IMenuCommandService)designSurface.GetService(typeof(IMenuCommandService)); menuCommandService.GlobalInvoke(StandardCommands.Delete); } - + public void SelectAll() { IMenuCommandService menuCommandService = (IMenuCommandService)designSurface.GetService(typeof(IMenuCommandService)); menuCommandService.GlobalInvoke(StandardCommands.SelectAll); } #endregion - + #region Tab Order Handling bool tabOrderMode = false; public virtual bool IsTabOrderMode { @@ -891,7 +889,7 @@ namespace ICSharpCode.FormsDesigner return tabOrderMode; } } - + public virtual void ShowTabOrder() { if (!IsTabOrderMode) { @@ -900,7 +898,7 @@ namespace ICSharpCode.FormsDesigner tabOrderMode = true; } } - + public virtual void HideTabOrder() { if (IsTabOrderMode) { @@ -910,7 +908,7 @@ namespace ICSharpCode.FormsDesigner } } #endregion - + protected void MergeAndUnloadDesigner() { propertyContainer.Clear(); @@ -919,7 +917,7 @@ namespace ICSharpCode.FormsDesigner } UnloadDesigner(); } - + protected void ReloadDesignerFromMemory() { using(MemoryStream ms = new MemoryStream(this.sourceCodeStorage.GetFileEncoding(this.DesignerCodeFile).GetBytes(this.DesignerCodeFileContent), false)) { @@ -928,11 +926,11 @@ namespace ICSharpCode.FormsDesigner UpdatePropertyPad(); } - + public virtual object ToolsContent { get { return ToolboxProvider.FormsDesignerSideBar; } } - + void FileServiceFileRemoving(object sender, FileCancelEventArgs e) { if (!e.Cancel) { @@ -943,7 +941,7 @@ namespace ICSharpCode.FormsDesigner } } } - + void CheckForDesignerCodeFileDeletion(FileCancelEventArgs e) { OpenedFile file; @@ -974,20 +972,20 @@ namespace ICSharpCode.FormsDesigner this.Files.Remove(file); this.sourceCodeStorage.RemoveFile(file); } - + #region Design surface manager (static) - + static readonly DesignSurfaceManager designSurfaceManager = new DesignSurfaceManager(); - + public static DesignSurface CreateDesignSurface(IServiceProvider serviceProvider) { return designSurfaceManager.CreateDesignSurface(serviceProvider); } - + #endregion - + #region Debugger event handling (to prevent designer reload while debugger is starting) - + void DebugStarting(object sender, EventArgs e) { if (designSurfaceManager.ActiveDesignSurface != this.DesignSurface || @@ -1010,7 +1008,7 @@ namespace ICSharpCode.FormsDesigner Cursor.Current = oldCursor; } } - + #endregion } } diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/WpfViewContent.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/WpfViewContent.cs index 220bc54535..47786f3a28 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/WpfViewContent.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/WpfViewContent.cs @@ -3,8 +3,10 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using System.Diagnostics; using System.IO; +using System.Linq; using System.Threading; using System.Windows; using System.Windows.Input; @@ -13,8 +15,10 @@ using System.Xml; using ICSharpCode.Core.Presentation; using ICSharpCode.SharpDevelop; +using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Gui; +using ICSharpCode.SharpDevelop.Refactoring; using ICSharpCode.WpfDesign.Designer; using ICSharpCode.WpfDesign.Designer.OutlineView; using ICSharpCode.WpfDesign.Designer.PropertyGrid; @@ -164,12 +168,36 @@ namespace ICSharpCode.WpfDesign.AddIn { propertyGridView = new PropertyGridView(); propertyContainer.PropertyGridReplacementContent = propertyGridView; + propertyGridView.PropertyGrid.PropertyChanged += OnPropertyGridPropertyChanged; } void OnSelectionChanged(object sender, DesignItemCollectionEventArgs e) { propertyGridView.PropertyGrid.SelectedItems = DesignContext.Services.Selection.SelectedItems; } + + void OnPropertyGridPropertyChanged(object sender, PropertyChangedEventArgs e) + { + if (e.PropertyName == "Name") { + if (!propertyGridView.PropertyGrid.IsNameCorrect) return; + + // get the XAML file + var fileName = this.Files.Where(f => f.FileName.ToString().EndsWith(".xaml")).FirstOrDefault(); + if (fileName == null)return; + + // parse the XAML file + var info = ParserService.ParseFile(fileName.FileName.ToString()); + if (info == null || info.CompilationUnit == null) return; + if (info.CompilationUnit.Classes.Count != 1) return; + + // rename the member + IMember member = info.CompilationUnit.Classes[0].AllMembers + .Where(m => m.Name == propertyGridView.PropertyGrid.OldName).FirstOrDefault(); + if (member != null) { + FindReferencesAndRenameHelper.RenameMember(member, propertyGridView.PropertyGrid.Name); + } + } + } static bool IsCollectionWithSameElements(ICollection<DesignItem> a, ICollection<DesignItem> b) { diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/PropertyGrid/PropertyGrid.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/PropertyGrid/PropertyGrid.cs index 9254576d10..23248f7b26 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/PropertyGrid/PropertyGrid.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/PropertyGrid/PropertyGrid.cs @@ -92,6 +92,10 @@ namespace ICSharpCode.WpfDesign.Designer.PropertyGrid { RaisePropertyChanged("Name"); } + + public string OldName { + get; private set; + } public string Name { get { @@ -104,8 +108,10 @@ namespace ICSharpCode.WpfDesign.Designer.PropertyGrid if (SingleItem != null) { try { if (string.IsNullOrEmpty(value)) { + OldName = null; SingleItem.Properties["Name"].Reset(); } else { + OldName = SingleItem.Name; SingleItem.Name = value; } IsNameCorrect = true; From dad00466c92f87a452c6c6afecd63168d1982265 Mon Sep 17 00:00:00 2001 From: Matt Ward <ward.matt@gmail.com> Date: Thu, 11 Aug 2011 20:52:19 +0100 Subject: [PATCH 138/168] Fix reference to DefaultAssemblyInfo.cs in VB.NET project. --- data/templates/project/VB/SharpDevelopCustomTool.xpt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/templates/project/VB/SharpDevelopCustomTool.xpt b/data/templates/project/VB/SharpDevelopCustomTool.xpt index af7de5b39e..e38f29f1d6 100644 --- a/data/templates/project/VB/SharpDevelopCustomTool.xpt +++ b/data/templates/project/VB/SharpDevelopCustomTool.xpt @@ -175,7 +175,7 @@ Public Class ${ProjectName}Tool End Class ]]></File> <File name="FileTemplate.xft" src="SharpDevelopCustomToolTemplate.xft.xml" binary="true" CopyToOutputDirectory="Always"/> - <File name="Properties\AssemblyInfo.vb" src="DefaultAssemblyInfo.cs"/> + <File name="Properties\AssemblyInfo.vb" src="DefaultAssemblyInfo.vb"/> <File name="AddInWritingHelp.txt" src="..\AddInWritingHelp.txt"/> </Files> </Project> From 65bd6669a82f3f5878efd6f4b46db4367369111f Mon Sep 17 00:00:00 2001 From: Matt Ward <ward.matt@gmail.com> Date: Thu, 11 Aug 2011 21:07:38 +0100 Subject: [PATCH 139/168] Move MVC project templates to their own ASP.NET MVC template category. --- data/templates/project/CSharp/EmptyMvcWebProject.xpt | 4 ++-- data/templates/project/CSharp/MvcWebProject.xpt | 4 ++-- data/templates/project/VB/EmptyMvcWebProject.xpt | 4 ++-- data/templates/project/VB/MvcWebProject.xpt | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/data/templates/project/CSharp/EmptyMvcWebProject.xpt b/data/templates/project/CSharp/EmptyMvcWebProject.xpt index e9f1a5c68f..8a5cd10b91 100644 --- a/data/templates/project/CSharp/EmptyMvcWebProject.xpt +++ b/data/templates/project/CSharp/EmptyMvcWebProject.xpt @@ -5,9 +5,9 @@ <!-- Template Header --> <TemplateConfiguration> - <Name>Empty ASP.NET MVC Application</Name> + <Name>Empty MVC Application</Name> <Category>C#</Category> - <Subcategory>ASP.NET</Subcategory> + <Subcategory>ASP.NET MVC</Subcategory> <Icon>C#.Project.Form</Icon> <Description>Empty ASP.NET MVC Application</Description> <SupportedTargetFrameworks>v4.0</SupportedTargetFrameworks> diff --git a/data/templates/project/CSharp/MvcWebProject.xpt b/data/templates/project/CSharp/MvcWebProject.xpt index e8ddcc4c13..fa2518c5ad 100644 --- a/data/templates/project/CSharp/MvcWebProject.xpt +++ b/data/templates/project/CSharp/MvcWebProject.xpt @@ -5,9 +5,9 @@ <!-- Template Header --> <TemplateConfiguration> - <Name>ASP.NET MVC Application</Name> + <Name>MVC Application</Name> <Category>C#</Category> - <Subcategory>ASP.NET</Subcategory> + <Subcategory>ASP.NET MVC</Subcategory> <Icon>C#.Project.Form</Icon> <Description>ASP.NET MVC Application</Description> <SupportedTargetFrameworks>v4.0</SupportedTargetFrameworks> diff --git a/data/templates/project/VB/EmptyMvcWebProject.xpt b/data/templates/project/VB/EmptyMvcWebProject.xpt index 129f8b4b9e..a68b97e873 100644 --- a/data/templates/project/VB/EmptyMvcWebProject.xpt +++ b/data/templates/project/VB/EmptyMvcWebProject.xpt @@ -5,9 +5,9 @@ <!-- Template Header --> <TemplateConfiguration> - <Name>Empty ASP.NET MVC Application</Name> + <Name>Empty MVC Application</Name> <Category>VB</Category> - <Subcategory>ASP.NET</Subcategory> + <Subcategory>ASP.NET MVC</Subcategory> <Icon>VBNet.Project.Form</Icon> <Description>Empty ASP.NET MVC Application</Description> <SupportedTargetFrameworks>v4.0</SupportedTargetFrameworks> diff --git a/data/templates/project/VB/MvcWebProject.xpt b/data/templates/project/VB/MvcWebProject.xpt index b12f8c38cb..38dae26dbc 100644 --- a/data/templates/project/VB/MvcWebProject.xpt +++ b/data/templates/project/VB/MvcWebProject.xpt @@ -5,9 +5,9 @@ <!-- Template Header --> <TemplateConfiguration> - <Name>ASP.NET MVC Application</Name> + <Name>MVC Application</Name> <Category>VB</Category> - <Subcategory>ASP.NET</Subcategory> + <Subcategory>ASP.NET MVC</Subcategory> <Icon>VBNet.Project.Form</Icon> <Description>ASP.NET MVC Application</Description> <SupportedTargetFrameworks>v4.0</SupportedTargetFrameworks> From b9f9234dc324fef8f0a234985086c14c569c6a98 Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Fri, 12 Aug 2011 01:12:17 +0200 Subject: [PATCH 140/168] fix SD-631 - http://bugtracker.sharpdevelop.net/issue/ViewIssue.aspx?id=631&PROJID=4 --- .../Project/Src/CSharpCompletionBinding.cs | 1 - .../CodeCompletion/CodeCompletionBinding.cs | 4 +--- .../NRefactoryInsightWindowHandler.cs | 21 ++++++++++++++----- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs index 640e829325..74454d7e08 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs @@ -43,7 +43,6 @@ namespace CSharpBinding } else if (ch == ',' && CodeCompletionOptions.InsightRefreshOnComma && CodeCompletionOptions.InsightEnabled) { IInsightWindow insightWindow; if (insightHandler.InsightRefreshOnComma(editor, ch, out insightWindow)) { - insightHandler.HighlightParameter(insightWindow, -1); // disable highlighting return CodeCompletionKeyPressResult.Completed; } } else if(ch == '=') { diff --git a/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionBinding.cs b/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionBinding.cs index e631c87052..9deb8df1d6 100644 --- a/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionBinding.cs +++ b/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionBinding.cs @@ -2,9 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Collections; using System.IO; - using ICSharpCode.Core; namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion @@ -177,7 +175,7 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion IInsightWindow insightWindow = editor.ShowInsightWindow(new MethodInsightProvider().ProvideInsight(editor)); if (insightWindow != null && insightHandler != null) { insightHandler.InitializeOpenedInsightWindow(editor, insightWindow); - insightHandler.HighlightParameter(insightWindow, -1); // disable highlighting + insightHandler.HighlightParameter(insightWindow, 0); } return CodeCompletionKeyPressResult.Completed; } diff --git a/src/Main/Base/Project/Src/Editor/CodeCompletion/NRefactoryInsightWindowHandler.cs b/src/Main/Base/Project/Src/Editor/CodeCompletion/NRefactoryInsightWindowHandler.cs index 4dc460631f..cd92d50ae5 100644 --- a/src/Main/Base/Project/Src/Editor/CodeCompletion/NRefactoryInsightWindowHandler.cs +++ b/src/Main/Base/Project/Src/Editor/CodeCompletion/NRefactoryInsightWindowHandler.cs @@ -20,6 +20,8 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion readonly SupportedLanguage language; readonly int eofToken, commaToken, openParensToken, closeParensToken, openBracketToken, closeBracketToken, openBracesToken, closeBracesToken, statementEndToken; readonly LanguageProperties languageProperties; + + int highlightedParameter; public NRefactoryInsightWindowHandler(SupportedLanguage language) { @@ -77,7 +79,7 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion } }; insightWindow.DocumentChanged += onDocumentChanged; - insightWindow.SelectedItemChanged += delegate { HighlightParameter(insightWindow, HighlightedParameter); }; + insightWindow.SelectedItemChanged += delegate { HighlightParameter(insightWindow, highlightedParameter); }; onDocumentChanged(null, null); } @@ -167,7 +169,17 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion if (c == '(' || c == '[') { var insightProvider = new MethodInsightProvider { LookupOffset = offset }; var insightItems = insightProvider.ProvideInsight(editor); - insightWindow = ShowInsight(editor, insightItems, ResolveCallParameters(editor, call), ch); + + // find highlighted parameter + var parameters = ResolveCallParameters(editor, call); + var parameter = parameters.Reverse().FirstOrDefault(p => p != null && p.GetDefinitionPosition().Column < editor.Caret.Column); + if (parameter == null) { + highlightedParameter = parameters.Count; + } else { + highlightedParameter = parameters.IndexOf(parameter) + 1; + } + + insightWindow = ShowInsight(editor, insightItems, parameters, ch); return insightWindow != null; } else { Core.LoggingService.Warn("Expected '(' or '[' at start position"); @@ -212,6 +224,7 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion IMethodOrProperty result = Dom.CSharp.OverloadResolution.FindOverload(methods.Where(m => m != null), argumentTypes, true, false, out overloadIsSure); defaultIndex = methods.IndexOf(result); } + IInsightWindow insightWindow = editor.ShowInsightWindow(insightItems); if (insightWindow != null) { InitializeOpenedInsightWindow(editor, insightWindow); @@ -274,8 +287,6 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion } } - public int HighlightedParameter { get; set; } - public void HighlightParameter(IInsightWindow window, int index) { if (window == null) @@ -284,7 +295,7 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion if (item != null) item.HighlightParameter = index; - HighlightedParameter = index; + highlightedParameter = index; } } } From d151b9a5fa41ca387f43baad345362e68a682903 Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Fri, 12 Aug 2011 14:29:01 +0200 Subject: [PATCH 141/168] fix renaming UserControl.Name --- .../Src/DesignerGenerator/AbstractDesignerGenerator.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs index d56b055b2f..96d43b0834 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs @@ -218,8 +218,11 @@ namespace ICSharpCode.FormsDesigner } else { if (component is System.Windows.Forms.Control) { IField field = GetField(this.formClass, oldName); - if (field != null) + if (field != null) { ICSharpCode.SharpDevelop.Refactoring.FindReferencesAndRenameHelper.RenameMember(field, newName); + } else { + ICSharpCode.SharpDevelop.Refactoring.FindReferencesAndRenameHelper.RenameClass(this.formClass, newName); + } } } Reparse(); From 067aa30c5c33bcfafc1a87ab6fa043dac0e43967 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald <daniel@danielgrunwald.de> Date: Fri, 12 Aug 2011 19:48:16 +0200 Subject: [PATCH 142/168] Fix "Solution was modified externally" message when SharpDevelop itself modifies the solution. This was caused because the ProjectChangeWatcher didn't dispose the FileSystemChangeWatcher, so we got reload notifications for unloaded projects when the project was re-loaded and modified. --- .../Src/Project/ProjectChangeWatcher.cs | 25 ++++++++++++++++--- .../Src/Services/File/FileChangeWatcher.cs | 6 +++++ 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs b/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs index 5a3aae20ea..789bb0f255 100644 --- a/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs @@ -1,6 +1,7 @@ // 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.Collections.Generic; using System.IO; using ICSharpCode.Core; using ICSharpCode.SharpDevelop.Gui; @@ -9,6 +10,14 @@ namespace ICSharpCode.SharpDevelop.Project { public sealed class ProjectChangeWatcher : IProjectChangeWatcher { + static readonly HashSet<ProjectChangeWatcher> activeWatchers = new HashSet<ProjectChangeWatcher>(); + + internal static void OnAllChangeWatchersDisabledChanged() + { + foreach (ProjectChangeWatcher watcher in activeWatchers) + watcher.SetWatcher(); + } + FileSystemWatcher watcher; string fileName; bool enabled = true; @@ -16,9 +25,13 @@ namespace ICSharpCode.SharpDevelop.Project public ProjectChangeWatcher(string fileName) { this.fileName = fileName; + + WorkbenchSingleton.AssertMainThread(); + activeWatchers.Add(this); + WorkbenchSingleton.MainWindow.Activated += MainFormActivated; } - + public void Enable() { enabled = true; @@ -44,7 +57,7 @@ namespace ICSharpCode.SharpDevelop.Project watcher.EnableRaisingEvents = false; } - if (!enabled) + if (!enabled || FileChangeWatcher.AllChangeWatchersDisabled) return; if (string.IsNullOrEmpty(fileName)) @@ -90,7 +103,7 @@ namespace ICSharpCode.SharpDevelop.Project void OnFileChangedEvent(object sender, FileSystemEventArgs e) { - LoggingService.Debug("Solution was changed externally: " + e.ChangeType); + LoggingService.Debug("Project file " + e.Name + " was changed externally: {1}" + e.ChangeType); if (!wasChangedExternally) { wasChangedExternally = true; if (WorkbenchSingleton.Workbench.IsActiveWindow) { @@ -117,8 +130,14 @@ namespace ICSharpCode.SharpDevelop.Project public void Dispose() { + WorkbenchSingleton.AssertMainThread(); if (!disposed) { WorkbenchSingleton.MainWindow.Activated -= MainFormActivated; + activeWatchers.Remove(this); + } + if (watcher != null) { + watcher.Dispose(); + watcher = null; } disposed = true; } diff --git a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs index 5d87d5309c..47b476c502 100644 --- a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs @@ -44,12 +44,17 @@ namespace ICSharpCode.SharpDevelop static int globalDisableCount; + public static bool AllChangeWatchersDisabled { + get { return globalDisableCount > 0; } + } + public static void DisableAllChangeWatchers() { WorkbenchSingleton.AssertMainThread(); globalDisableCount++; foreach (FileChangeWatcher w in activeWatchers) w.SetWatcher(); + Project.ProjectChangeWatcher.OnAllChangeWatchersDisabledChanged(); } public static void EnableAllChangeWatchers() @@ -60,6 +65,7 @@ namespace ICSharpCode.SharpDevelop globalDisableCount--; foreach (FileChangeWatcher w in activeWatchers) w.SetWatcher(); + Project.ProjectChangeWatcher.OnAllChangeWatchersDisabledChanged(); } public event EventHandler FileChanged; From 48713b73e00c826c15b17e928874f396a0242acd Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Fri, 12 Aug 2011 20:08:56 +0200 Subject: [PATCH 143/168] fix unreachable and wrong code in parameter highlight detection --- .../NRefactoryInsightWindowHandler.cs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/Main/Base/Project/Src/Editor/CodeCompletion/NRefactoryInsightWindowHandler.cs b/src/Main/Base/Project/Src/Editor/CodeCompletion/NRefactoryInsightWindowHandler.cs index cd92d50ae5..f5a6036c1a 100644 --- a/src/Main/Base/Project/Src/Editor/CodeCompletion/NRefactoryInsightWindowHandler.cs +++ b/src/Main/Base/Project/Src/Editor/CodeCompletion/NRefactoryInsightWindowHandler.cs @@ -154,6 +154,11 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion Token token; InspectedCall call = new InspectedCall(Location.Empty, null); call.parent = call; + // HACK MINI PARSER + // The following code tries to find the current nested call until the caret position (= cursorLocation) is + // reached. call.commas contains all commas up to the caret position. + // DOES NOT HANDLE GENERICS CORRECTLY! This is sufficient for overload "search", because if we miss one + // overload it does not matter. But if we highlight the wrong parameter (see below) it DOES MATTER! while ((token = lexer.NextToken()) != null && token.Kind != eofToken && token.Location < cursorLocation) { if (token.Kind == commaToken) { call.commas.Add(token.Location); @@ -171,14 +176,10 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion var insightItems = insightProvider.ProvideInsight(editor); // find highlighted parameter - var parameters = ResolveCallParameters(editor, call); - var parameter = parameters.Reverse().FirstOrDefault(p => p != null && p.GetDefinitionPosition().Column < editor.Caret.Column); - if (parameter == null) { - highlightedParameter = parameters.Count; - } else { - highlightedParameter = parameters.IndexOf(parameter) + 1; - } - + // see mini parser description above; the number of recognized parameters is the index + // of the current parameter! + var parameters = ResolveCallParameters(editor, call); + highlightedParameter = parameters.Count; insightWindow = ShowInsight(editor, insightItems, parameters, ch); return insightWindow != null; } else { From e0a38744bb5e7c6925777dc0ab0920eb9777ee3d Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Fri, 12 Aug 2011 20:20:15 +0200 Subject: [PATCH 144/168] fix parameter highlighting for VB --- .../Project/Src/VBNetCompletionBinding.cs | 31 ++----------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetCompletionBinding.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetCompletionBinding.cs index b9a93d47a8..f3457d140a 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetCompletionBinding.cs +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetCompletionBinding.cs @@ -67,7 +67,6 @@ namespace ICSharpCode.VBNetBinding if (insightWindow != null) { insightHandler.InitializeOpenedInsightWindow(editor, insightWindow); insightHandler.HighlightParameter(insightWindow, 0); - insightWindow.CaretPositionChanged += delegate { Run(insightWindow, editor); }; } return CodeCompletionKeyPressResult.Completed; } @@ -75,14 +74,8 @@ namespace ICSharpCode.VBNetBinding case ',': if (CodeCompletionOptions.InsightRefreshOnComma && CodeCompletionOptions.InsightEnabled) { IInsightWindow insightWindow; - editor.Document.Insert(editor.Caret.Offset, ","); - if (insightHandler.InsightRefreshOnComma(editor, ch, out insightWindow)) { - if (insightWindow != null) { - insightHandler.HighlightParameter(insightWindow, GetArgumentIndex(editor) + 1); - insightWindow.CaretPositionChanged += delegate { Run(insightWindow, editor); };; - } - } - return CodeCompletionKeyPressResult.EatKey; + if (insightHandler.InsightRefreshOnComma(editor, ch, out insightWindow)) + return CodeCompletionKeyPressResult.Completed; } break; case '\n': @@ -145,26 +138,6 @@ namespace ICSharpCode.VBNetBinding return CodeCompletionKeyPressResult.None; } - void Run(IInsightWindow insightWindow, ITextEditor editor) - { - insightHandler.HighlightParameter(insightWindow, GetArgumentIndex(editor)); - } - - static int GetArgumentIndex(ITextEditor editor) - { - ILexer lexer = ParserFactory.CreateLexer(SupportedLanguage.VBNet, editor.Document.CreateReader()); - ExpressionFinder ef = new ExpressionFinder(); - - Token t = lexer.NextToken(); - - while (t.Kind != Tokens.EOF && t.Location < editor.Caret.Position) { - ef.InformToken(t); - t = lexer.NextToken(); - } - - return ef.ActiveArgument; - } - static bool IsTypeCharacter(char ch, char prevChar) { ch = char.ToUpperInvariant(ch); From 6af905de056735a44f014a6c16144ba77a90ebfb Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Fri, 12 Aug 2011 22:11:57 +0200 Subject: [PATCH 145/168] properly fix SD-1716 - http://bugtracker.sharpdevelop.net/issue/ViewIssue.aspx?id=1716&PROJID=4 --- .../AbstractDesignerGenerator.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs index 96d43b0834..3428bc084c 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs @@ -213,16 +213,18 @@ namespace ICSharpCode.FormsDesigner if (this.formClass == null) { LoggingService.Warn("Cannot rename, formClass not found"); } else { - if (component is System.Windows.Forms.Form) { + if (viewContent.Host == null || viewContent.Host.Container == null || + viewContent.Host.Container.Components == null || viewContent.Host.Container.Components.Count == 0) + return; + + // verify if we should rename the class + if (viewContent.Host.Container.Components[0] == component) { ICSharpCode.SharpDevelop.Refactoring.FindReferencesAndRenameHelper.RenameClass(this.formClass, newName); } else { - if (component is System.Windows.Forms.Control) { - IField field = GetField(this.formClass, oldName); - if (field != null) { - ICSharpCode.SharpDevelop.Refactoring.FindReferencesAndRenameHelper.RenameMember(field, newName); - } else { - ICSharpCode.SharpDevelop.Refactoring.FindReferencesAndRenameHelper.RenameClass(this.formClass, newName); - } + // rename a member - if exists + IField field = GetField(this.formClass, oldName); + if (field != null) { + ICSharpCode.SharpDevelop.Refactoring.FindReferencesAndRenameHelper.RenameMember(field, newName); } } Reparse(); From 164a379a9769672bec1885ae951f5f627d309310 Mon Sep 17 00:00:00 2001 From: Matt Ward <ward.matt@gmail.com> Date: Sat, 13 Aug 2011 11:51:20 +0100 Subject: [PATCH 146/168] Fix mixed tabs and spaces formatting on PackageManagement xaml files. --- .../Project/Src/ManagePackagesView.xaml | 2 +- .../Project/Src/PagedResultsView.xaml | 4 +- .../PackageManagementConsoleView.xaml | 106 +++++++++--------- 3 files changed, 56 insertions(+), 56 deletions(-) diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/ManagePackagesView.xaml b/src/AddIns/Misc/PackageManagement/Project/Src/ManagePackagesView.xaml index ae5a8d56d2..5830e6ff9b 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/ManagePackagesView.xaml +++ b/src/AddIns/Misc/PackageManagement/Project/Src/ManagePackagesView.xaml @@ -18,7 +18,7 @@ <BitmapImage x:Key="ErrorIcon" UriSource="pack://application:,,,/PackageManagement;component/Resources/exclamation.png"/> - </Window.Resources> + </Window.Resources> <Window.DataContext> <Binding Source="{StaticResource ViewModels}" Path="ManagePackagesViewModel"/> diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/PagedResultsView.xaml b/src/AddIns/Misc/PackageManagement/Project/Src/PagedResultsView.xaml index 3f40e9677f..ad60d9af81 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/PagedResultsView.xaml +++ b/src/AddIns/Misc/PackageManagement/Project/Src/PagedResultsView.xaml @@ -41,8 +41,8 @@ Padding="0,2" VerticalAlignment="Top"> <Image Source="{StaticResource PreviousPageIcon}" - Height="16" - Width="16"/> + Height="16" + Width="16"/> </Button> <ListBox VerticalAlignment="Top" diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleView.xaml b/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleView.xaml index 83a0f93c31..f99e0f9915 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleView.xaml +++ b/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleView.xaml @@ -1,76 +1,76 @@ <UserControl x:Class="ICSharpCode.PackageManagement.Scripting.PackageManagementConsoleView" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:core="http://icsharpcode.net/sharpdevelop/core" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:pmd="clr-namespace:ICSharpCode.PackageManagement" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - mc:Ignorable="d" - d:DesignHeight="300" - d:DesignWidth="500"> + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:pmd="clr-namespace:ICSharpCode.PackageManagement" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + mc:Ignorable="d" + d:DesignHeight="300" + d:DesignWidth="500"> - <UserControl.Resources> - <pmd:PackageManagementViewModels x:Key="ViewModels"/> + <UserControl.Resources> + <pmd:PackageManagementViewModels x:Key="ViewModels"/> - <DataTemplate x:Key="PackageSourceTemplate"> - <TextBlock Text="{Binding Name}"/> - </DataTemplate> + <DataTemplate x:Key="PackageSourceTemplate"> + <TextBlock Text="{Binding Name}"/> + </DataTemplate> - <DataTemplate x:Key="ProjectTemplate"> - <TextBlock Text="{Binding Name}"/> - </DataTemplate> + <DataTemplate x:Key="ProjectTemplate"> + <TextBlock Text="{Binding Name}"/> + </DataTemplate> - </UserControl.Resources> + </UserControl.Resources> <UserControl.DataContext> <Binding Path="PackageManagementConsoleViewModel" Source="{StaticResource ViewModels}"/> </UserControl.DataContext> - <Grid> - <Grid.RowDefinitions> - <RowDefinition Height="Auto"/> - <RowDefinition Height="*"/> - </Grid.RowDefinitions> + <Grid> + <Grid.RowDefinitions> + <RowDefinition Height="Auto"/> + <RowDefinition Height="*"/> + </Grid.RowDefinitions> - <ToolBar> - <TextBlock - Margin="4" - Text="Package Source:"/> + <ToolBar> + <TextBlock + Margin="4" + Text="Package Source:"/> - <ComboBox - Grid.Column="1" - MinWidth="200" - SelectedItem="{Binding Path=ActivePackageSource}" - ItemTemplate="{StaticResource PackageSourceTemplate}" - ItemsSource="{Binding Path=PackageSources}"/> + <ComboBox + Grid.Column="1" + MinWidth="200" + SelectedItem="{Binding Path=ActivePackageSource}" + ItemTemplate="{StaticResource PackageSourceTemplate}" + ItemsSource="{Binding Path=PackageSources}"/> - <TextBlock - Grid.Column="2" - Margin="4" - Text="Default Project:"/> + <TextBlock + Grid.Column="2" + Margin="4" + Text="Default Project:"/> - <ComboBox - Grid.Column="3" - MinWidth="200" - SelectedItem="{Binding Path=DefaultProject}" - ItemTemplate="{StaticResource ProjectTemplate}" - ItemsSource="{Binding Path=Projects}"/> - - <Button + <ComboBox + Grid.Column="3" + MinWidth="200" + SelectedItem="{Binding Path=DefaultProject}" + ItemTemplate="{StaticResource ProjectTemplate}" + ItemsSource="{Binding Path=Projects}"/> + + <Button Grid.Column="4" ToolTip="{core:Localize MainWindow.Windows.CompilerMessageView.ClearAllButton.ToolTip}" - Command="{Binding Path=ClearConsoleCommand}"> - <Image - Source="{core:GetBitmap OutputPad.Toolbar.ClearOutputWindow}" + Command="{Binding Path=ClearConsoleCommand}"> + <Image + Source="{core:GetBitmap OutputPad.Toolbar.ClearOutputWindow}" Height="16" Width="16"/> - </Button> - </ToolBar> - - <ContentControl + </Button> + </ToolBar> + + <ContentControl Grid.Row="1" - Margin="4, 0" + Margin="4, 0" Content="{Binding Path=TextEditor}"/> - </Grid> + </Grid> </UserControl> \ No newline at end of file From 9b1ee1d5e0d1c3a5db1a1fcb0b1cf740cb874a4b Mon Sep 17 00:00:00 2001 From: Matt Ward <ward.matt@gmail.com> Date: Sat, 13 Aug 2011 13:14:49 +0100 Subject: [PATCH 147/168] Fix forms designer not using spaces in generated code when text editor is configured to convert tabs to spaces. --- .../Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs | 3 ++- .../Project/Src/DesignerGenerator/CSharpDesignerGenerator.cs | 3 ++- .../Project/Src/DesignerGenerator/VBNetDesignerGenerator.cs | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs index 3428bc084c..8aac81008f 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs @@ -262,7 +262,8 @@ namespace ICSharpCode.FormsDesigner // generate file and get initialize components string StringWriter writer = new StringWriter(); - CodeDOMGenerator domGenerator = new CodeDOMGenerator(this.CodeDomProvider, tabs + '\t'); + string indentation = tabs + EditorControlService.GlobalOptions.IndentationString; + CodeDOMGenerator domGenerator = new CodeDOMGenerator(this.CodeDomProvider, indentation); domGenerator.ConvertContentDefinition(initializeComponent, writer); string statements = writer.ToString(); diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/CSharpDesignerGenerator.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/CSharpDesignerGenerator.cs index a1754a0853..1be3a24433 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/CSharpDesignerGenerator.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/CSharpDesignerGenerator.cs @@ -35,7 +35,8 @@ namespace ICSharpCode.FormsDesigner body = "// TODO: Implement " + eventMethodName; } } - b.AppendLine(indentation + "\t" + body); + string singleIndent = EditorControlService.GlobalOptions.IndentationString; + b.AppendLine(indentation + singleIndent + body); b.AppendLine(indentation + "}"); return b.ToString(); } diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/VBNetDesignerGenerator.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/VBNetDesignerGenerator.cs index 4889d5acba..937c85aadb 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/VBNetDesignerGenerator.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/VBNetDesignerGenerator.cs @@ -53,7 +53,8 @@ namespace ICSharpCode.FormsDesigner body = "' TODO: Implement " + eventMethodName; } } - b.AppendLine(indentation + "\t" + body); + string singleIndent = EditorControlService.GlobalOptions.IndentationString; + b.AppendLine(indentation + singleIndent + body); b.AppendLine(indentation + "End Sub"); return b.ToString(); } From 5a943271eaef05a47b93aed708d25b10a33a2186 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Sat, 13 Aug 2011 12:16:58 +0200 Subject: [PATCH 148/168] working on SD-1527 - A display binding's supported files should be independent from the files it handles by default: - add mimeType to file extensions - implement new methods IsPreferredBindingForFile and AutoDetectFileContent for IDisplayBinding --- .../AddIn/ICSharpCode.Profiler.AddIn.addin | 5 +- .../AddIn/Src/Views/ProfilerDisplayBinding.cs | 12 +- .../Boo/BooBinding/Project/BooBinding.addin | 3 +- .../CSharpBinding/Project/CSharpBinding.addin | 3 +- .../CppBinding/CppBinding/CppBinding.addin | 3 +- .../FSharpBinding/FSharpBinding.addin | 3 +- .../PythonBinding/Project/PythonBinding.addin | 161 ++++++++--------- .../RubyBinding/Project/RubyBinding.addin | 165 +++++++++--------- .../VBNetBinding/Project/VBNetBinding.addin | 3 +- .../WixBinding/Project/WixBinding.addin | 3 +- .../XamlBinding/XamlBinding/XamlBinding.addin | 3 +- .../Src/AvalonEditDisplayBinding.cs | 26 ++- .../ClassDiagramAddin/ClassDiagramAddin.addin | 1 + .../Src/ClassDiagramDisplayBinding.cs | 12 +- .../ICSharpCode.Data.addin | 3 +- .../EDMDesignerDisplayBinding.cs | 12 +- .../HexEditor/Project/HexEditor.addin | 3 +- .../Project/Src/View/HexEditDisplayBinding.cs | 51 +----- .../IconEditorAddIn/IconEditorAddIn.addin | 2 +- .../IconEditorAddIn/Src/IconDisplayBinding.cs | 10 ++ .../Project/Src/DisplayDefinition.cs | 13 +- .../Project/SettingsDisplayBinding.cs | 10 ++ .../Project/SettingsEditor.addin | 3 +- .../WpfDesign.AddIn/Src/WpfDisplayBinding.cs | 10 ++ .../WpfDesign/WpfDesign.AddIn/WpfDesign.addin | 2 +- .../Project/Src/AddInInstallBinding.cs | 10 ++ .../ICSharpCode.ReportDesigner.addin | 5 +- .../ReportDesignerDisplayBinding.cs | 13 +- .../Project/TextTemplating.addin | 27 +-- .../BrowserDisplayBinding.cs | 10 ++ .../Src/Project/MSBuildBasedProject.cs | 10 +- .../DisplayBindingDescriptor.cs | 6 + .../DisplayBinding/DisplayBindingService.cs | 7 +- .../ExternalProcessDisplayBinding.cs | 10 ++ .../DisplayBinding/IDisplayBinding.cs | 51 ++++++ .../ShellExecuteDisplayBinding.cs | 12 +- .../Project/Src/Services/File/FileService.cs | 10 ++ .../AddIn/DefaultDoozers/FileFilterDoozer.cs | 4 +- 38 files changed, 444 insertions(+), 253 deletions(-) diff --git a/src/AddIns/Analysis/Profiler/Frontend/AddIn/ICSharpCode.Profiler.AddIn.addin b/src/AddIns/Analysis/Profiler/Frontend/AddIn/ICSharpCode.Profiler.AddIn.addin index 371d3819e6..7f0261bd91 100644 --- a/src/AddIns/Analysis/Profiler/Frontend/AddIn/ICSharpCode.Profiler.AddIn.addin +++ b/src/AddIns/Analysis/Profiler/Frontend/AddIn/ICSharpCode.Profiler.AddIn.addin @@ -36,7 +36,7 @@ <Path name = "/SharpDevelop/Workbench/DisplayBindings"> <DisplayBinding id = "ProfilerDisplayBinding" insertbefore="Text" - fileNamePattern=".sdps" + fileNamePattern="\.(sdps)$" title = "${res:AddIns.Profiler.ProfilingView.Title}" class = "ICSharpCode.Profiler.AddIn.Views.ProfilerDisplayBinding"/> </Path> @@ -78,7 +78,8 @@ <FileFilter id = "SharpDevelopProfilingSession" insertbefore="AllFiles" name = "${res:AddIns.Profiler.FileExtensionDescription}" - extensions = "*.sdps"/> + extensions = "*.sdps" + mimeType = "application/x-sharpdevelop-profiler"/> </Path> <Path name="/SharpDevelop/Dialogs/OptionsDialog/ToolsOptions"> diff --git a/src/AddIns/Analysis/Profiler/Frontend/AddIn/Src/Views/ProfilerDisplayBinding.cs b/src/AddIns/Analysis/Profiler/Frontend/AddIn/Src/Views/ProfilerDisplayBinding.cs index c5a4104412..e7230c3ea1 100644 --- a/src/AddIns/Analysis/Profiler/Frontend/AddIn/Src/Views/ProfilerDisplayBinding.cs +++ b/src/AddIns/Analysis/Profiler/Frontend/AddIn/Src/Views/ProfilerDisplayBinding.cs @@ -21,7 +21,7 @@ namespace ICSharpCode.Profiler.AddIn.Views public bool CanCreateContentForFile(string fileName) { - return Path.GetExtension(fileName) == ".sdps"; + return true; // definition in .addin does extension-based filtering } public ICSharpCode.SharpDevelop.Gui.IViewContent CreateContentForFile(OpenedFile file) @@ -45,5 +45,15 @@ namespace ICSharpCode.Profiler.AddIn.Views } return new WpfViewer(file, provider); } + + public bool IsPreferredBindingForFile(string fileName) + { + return true; + } + + public double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType) + { + return 1; + } } } diff --git a/src/AddIns/BackendBindings/Boo/BooBinding/Project/BooBinding.addin b/src/AddIns/BackendBindings/Boo/BooBinding/Project/BooBinding.addin index 363de2765e..e1d47ff846 100644 --- a/src/AddIns/BackendBindings/Boo/BooBinding/Project/BooBinding.addin +++ b/src/AddIns/BackendBindings/Boo/BooBinding/Project/BooBinding.addin @@ -29,7 +29,8 @@ <FileFilter id = "Boo" insertbefore="AllFiles" name = "${res:SharpDevelop.FileFilter.Boo} (*.boo)" - extensions = "*.boo"/> + extensions = "*.boo" + mimeType = "text/plain"/> </Path> <!-- Makes SharpDevelop show the text 'Compiling ProjectName...' whenever an MSBuild task named 'booc' is started --> diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin b/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin index cbb95cfdbc..15bccf626c 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin @@ -36,7 +36,8 @@ <FileFilter id = "C#" insertbefore="AllFiles" name = "${res:SharpDevelop.FileFilter.CSharpFiles}" - extensions = "*.cs"/> + extensions = "*.cs" + mimeType = "text/plain"/> </Path> <Path name = "/SharpDevelop/Workbench/Combine/FileFilter"> diff --git a/src/AddIns/BackendBindings/CppBinding/CppBinding/CppBinding.addin b/src/AddIns/BackendBindings/CppBinding/CppBinding/CppBinding.addin index d56ef76297..28e1453704 100644 --- a/src/AddIns/BackendBindings/CppBinding/CppBinding/CppBinding.addin +++ b/src/AddIns/BackendBindings/CppBinding/CppBinding/CppBinding.addin @@ -65,7 +65,8 @@ insertafter="C#" insertbefore="Resources" name="C++ files (*.cpp, *.h)" - extensions="*.cpp;*.c;*.hpp;*.h"/> + extensions="*.cpp;*.c;*.hpp;*.h" + mimeType = "text/plain"/> </Path> <Path name="/SharpDevelop/Workbench/ProjectBindings"> diff --git a/src/AddIns/BackendBindings/FSharpBinding/FSharpBinding.addin b/src/AddIns/BackendBindings/FSharpBinding/FSharpBinding.addin index a8dd642bb4..fe19391181 100644 --- a/src/AddIns/BackendBindings/FSharpBinding/FSharpBinding.addin +++ b/src/AddIns/BackendBindings/FSharpBinding/FSharpBinding.addin @@ -41,7 +41,8 @@ <FileFilter id = "F#" insertbefore="AllFiles" name = "F# (*.fs)" - extensions = "*.fs"/> + extensions = "*.fs" + mimeType = "text/plain"/> </Path> <Path name = "/SharpDevelop/Workbench/Combine/FileFilter"> diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/PythonBinding.addin b/src/AddIns/BackendBindings/Python/PythonBinding/Project/PythonBinding.addin index 89f2ad3c25..02d32890c9 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/PythonBinding.addin +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/PythonBinding.addin @@ -19,33 +19,34 @@ <Path name="/SharpDevelop/ViewContent/AvalonEdit/SyntaxModes"> <SyntaxMode id="Python.SyntaxMode" - extensions=".py" - name="Python" - resource="ICSharpCode.PythonBinding.Resources.Python.xshd"/> + extensions=".py" + name="Python" + resource="ICSharpCode.PythonBinding.Resources.Python.xshd"/> </Path> <Path name="/SharpDevelop/Workbench/LanguageBindings"> <LanguageBinding id="Python" - class="ICSharpCode.PythonBinding.PythonLanguageBinding" - extensions=".py" /> + class="ICSharpCode.PythonBinding.PythonLanguageBinding" + extensions=".py" /> </Path> <!-- Add the "Python" entry to the Open File Dialog --> <Path name="/SharpDevelop/Workbench/FileFilter"> <FileFilter id="Python" - insertbefore="Resources" - insertafter="Icons" - name="${res:ICSharpCode.PythonBinding.PythonFiles} (*.py)" - extensions="*.py"/> + insertbefore="Resources" + insertafter="Icons" + name="${res:ICSharpCode.PythonBinding.PythonFiles} (*.py)" + extensions="*.py" + mimeType = "text/plain"/> </Path> <!-- Add the "Python" entry to the Open Project Dialog --> <Path name="/SharpDevelop/Workbench/Combine/FileFilter"> <FileFilter id="PythonProject" - insertbefore="AllFiles" - name="${res:ICSharpCode.PythonBinding.PythonProjectFiles} (*.pyproj)" - class="ICSharpCode.SharpDevelop.Project.LoadProject" - extensions="*.pyproj"/> + insertbefore="AllFiles" + name="${res:ICSharpCode.PythonBinding.PythonProjectFiles} (*.pyproj)" + class="ICSharpCode.SharpDevelop.Project.LoadProject" + extensions="*.pyproj"/> </Path> <!-- File templates --> @@ -57,36 +58,36 @@ <Path name="/SharpDevelop/Workbench/MainMenu"> <Condition name="ActiveContentExtension" activeextension=".py"> <MenuItem id="Python" - insertafter="Search" - insertbefore="Tools" - label="&Python" - type="Menu"> + insertafter="Search" + insertbefore="Tools" + label="&Python" + type="Menu"> <Condition name="IsProcessRunning" isprocessrunning="False" isdebugging="False" action="Disable"> <MenuItem id="Run" - icon="Icons.16x16.RunProgramIcon" - class="ICSharpCode.PythonBinding.RunDebugPythonCommand" - label="${res:XML.MainMenu.RunMenu.Run}" - shortcut="Control|Shift|R"/> + icon="Icons.16x16.RunProgramIcon" + class="ICSharpCode.PythonBinding.RunDebugPythonCommand" + label="${res:XML.MainMenu.RunMenu.Run}" + shortcut="Control|Shift|R"/> <MenuItem id="RunWithoutDebugger" - icon="Icons.16x16.Debug.StartWithoutDebugging" - class="ICSharpCode.PythonBinding.RunPythonCommand" - label="${res:XML.MainMenu.DebugMenu.RunWithoutDebug}" - shortcut="Control|Shift|W"/> + icon="Icons.16x16.Debug.StartWithoutDebugging" + class="ICSharpCode.PythonBinding.RunPythonCommand" + label="${res:XML.MainMenu.DebugMenu.RunWithoutDebug}" + shortcut="Control|Shift|W"/> </Condition> <Condition name="IsProcessRunning" isdebugging="True" action="Disable"> <MenuItem id="Stop" - icon="Icons.16x16.StopProcess" - class="ICSharpCode.SharpDevelop.Project.Commands.StopDebuggingCommand" - label="${res:XML.MainMenu.DebugMenu.Stop}"/> + icon="Icons.16x16.StopProcess" + class="ICSharpCode.SharpDevelop.Project.Commands.StopDebuggingCommand" + label="${res:XML.MainMenu.DebugMenu.Stop}"/> </Condition> <MenuItem id="SendToPythonConsoleSeparator" type="Separator"/> <MenuItem id="SendLineToPythonConsole" - class="ICSharpCode.PythonBinding.SendLineToPythonConsoleCommand" - label="${res:ICSharpCode.PythonBinding.SendLineToPythonConsole}"/> + class="ICSharpCode.PythonBinding.SendLineToPythonConsoleCommand" + label="${res:ICSharpCode.PythonBinding.SendLineToPythonConsole}"/> <Condition name="IsTextSelected" action="Disable"> <MenuItem id="SendSelectedTextToPythonConsole" - class="ICSharpCode.PythonBinding.SendSelectedTextToPythonConsoleCommand" - label="${res:ICSharpCode.PythonBinding.SendSelectedTextToPythonConsole}"/> + class="ICSharpCode.PythonBinding.SendSelectedTextToPythonConsoleCommand" + label="${res:ICSharpCode.PythonBinding.SendSelectedTextToPythonConsole}"/> </Condition> </MenuItem> </Condition> @@ -95,18 +96,18 @@ <!-- Python parser --> <Path name="/Workspace/Parser"> <Parser id="Python" - supportedextensions=".py" - projectfileextension=".pyproj" - class="ICSharpCode.PythonBinding.PythonParser"/> + supportedextensions=".py" + projectfileextension=".pyproj" + class="ICSharpCode.PythonBinding.PythonParser"/> </Path> <!-- Register Python MSBuild project (.pyproj) --> <Path name="/SharpDevelop/Workbench/ProjectBindings"> <ProjectBinding id="Python" - guid="{FD48973F-F585-4F70-812B-4D0503B36CE9}" - supportedextensions=".py" - projectfileextension=".pyproj" - class="ICSharpCode.PythonBinding.PythonProjectBinding" /> + guid="{FD48973F-F585-4F70-812B-4D0503B36CE9}" + supportedextensions=".py" + projectfileextension=".pyproj" + class="ICSharpCode.PythonBinding.PythonProjectBinding" /> </Path> <!-- The Python code completion binding --> @@ -127,33 +128,33 @@ <!-- Options panel --> <Path name="/SharpDevelop/Dialogs/OptionsDialog/ToolsOptions"> <OptionPanel id="PythonOptionsPanel" - label="Python" - class="ICSharpCode.PythonBinding.PythonOptionsPanel"/> + label="Python" + class="ICSharpCode.PythonBinding.PythonOptionsPanel"/> </Path> <!-- Project options panels --> <Path path="/SharpDevelop/BackendBindings/ProjectOptions/Python"> <OptionPanel id="Application" - label="${res:Dialog.ProjectOptions.ApplicationSettings}" - class="ICSharpCode.PythonBinding.ApplicationSettingsPanel"/> + label="${res:Dialog.ProjectOptions.ApplicationSettings}" + class="ICSharpCode.PythonBinding.ApplicationSettingsPanel"/> <OptionPanel id="BuildEvents" - label="${res:Dialog.ProjectOptions.BuildEvents}" - class="ICSharpCode.SharpDevelop.Gui.OptionPanels.BuildEvents"/> + label="${res:Dialog.ProjectOptions.BuildEvents}" + class="ICSharpCode.SharpDevelop.Gui.OptionPanels.BuildEvents"/> <OptionPanel id="CompilingOptions" - label="${res:Dialog.ProjectOptions.BuildOptions}" - class="ICSharpCode.PythonBinding.CompilingOptionsPanel"/> + label="${res:Dialog.ProjectOptions.BuildOptions}" + class="ICSharpCode.PythonBinding.CompilingOptionsPanel"/> <OptionPanel id="DebugOptions" - label="${res:Dialog.ProjectOptions.DebugOptions}" - class="ICSharpCode.SharpDevelop.Gui.OptionPanels.DebugOptions"/> + label="${res:Dialog.ProjectOptions.DebugOptions}" + class="ICSharpCode.SharpDevelop.Gui.OptionPanels.DebugOptions"/> </Path> <!-- Python display binding --> <Path name="/SharpDevelop/Workbench/DisplayBindings"> <DisplayBinding id="PythonDisplayBinding" - type="Secondary" - fileNamePattern="\.py$" - languagePattern="^Python$" - class="ICSharpCode.PythonBinding.PythonFormsDesignerDisplayBinding" /> + type="Secondary" + fileNamePattern="\.py$" + languagePattern="^Python$" + class="ICSharpCode.PythonBinding.PythonFormsDesignerDisplayBinding" /> </Path> <Path name="/SharpDevelop/Workbench/MainMenu/Tools/ConvertCode"> @@ -163,63 +164,63 @@ <Condition name="ActiveContentExtension" activeextension=".vb"/> </Or> <MenuItem id="ConvertToPython" - insertafter="CSharp" - insertbefore="VBNet" - label="Python" - class="ICSharpCode.PythonBinding.ConvertToPythonMenuCommand"/> + insertafter="CSharp" + insertbefore="VBNet" + label="Python" + class="ICSharpCode.PythonBinding.ConvertToPythonMenuCommand"/> </ComplexCondition> </Path> <Path name="/SharpDevelop/Pads/ProjectBrowser/ContextMenu/ProjectActions/Convert"> <Condition name="ProjectActive" activeproject="C#"> <MenuItem id="CSharpProjectToPythonProjectConverter" - label="${res:ICSharpCode.PythonBinding.ConvertCSharpProjectToPythonProject}" - class="ICSharpCode.PythonBinding.ConvertProjectToPythonProjectCommand"/> + label="${res:ICSharpCode.PythonBinding.ConvertCSharpProjectToPythonProject}" + class="ICSharpCode.PythonBinding.ConvertProjectToPythonProjectCommand"/> </Condition> <Condition name="ProjectActive" activeproject="VBNet"> <MenuItem id="VBNetProjectToPythonProjectConverter" - label="${res:ICSharpCode.PythonBinding.ConvertVBNetProjectToPythonProject}" - class="ICSharpCode.PythonBinding.ConvertProjectToPythonProjectCommand"/> + label="${res:ICSharpCode.PythonBinding.ConvertVBNetProjectToPythonProject}" + class="ICSharpCode.PythonBinding.ConvertProjectToPythonProjectCommand"/> </Condition> </Path> <Path name="/SharpDevelop/Workbench/Pads"> <Pad id="PythonConsole" - category="Tools" - title="${res:ICSharpCode.PythonBinding.PythonConsole}" - insertbefore="DefinitionView" - icon="PadIcons.Output" - defaultPosition="Bottom, Hidden" - class="ICSharpCode.PythonBinding.PythonConsolePad"/> + category="Tools" + title="${res:ICSharpCode.PythonBinding.PythonConsole}" + insertbefore="DefinitionView" + icon="PadIcons.Output" + defaultPosition="Bottom, Hidden" + class="ICSharpCode.PythonBinding.PythonConsolePad"/> </Path> <Path name="/Workspace/Icons"> <Icon id="PythonFileIcon" - extensions=".py" - resource="Python.ProjectBrowser.File"/> + extensions=".py" + resource="Python.ProjectBrowser.File"/> <Icon id="PythonProjectIcon" - language="Python" - resource="Python.ProjectBrowser.Project"/> + language="Python" + resource="Python.ProjectBrowser.Project"/> </Path> <Path name="/SharpDevelop/UnitTesting/TestFrameworks"> <TestFramework id="pyunit" - class="ICSharpCode.PythonBinding.PythonTestFramework" - supportedProjects=".pyproj"/> + class="ICSharpCode.PythonBinding.PythonTestFramework" + supportedProjects=".pyproj"/> </Path> - + <Path name="/SharpDevelop/ViewContent/TextEditor/ContextMenu"> <Condition name="ActiveContentExtension" activeextension=".py"> <MenuItem id="SendToPythonConsoleSeparator" - insertafter="Indent" - type="Separator"/> + insertafter="Indent" + type="Separator"/> <MenuItem id="SendLineToPythonConsole" - class="ICSharpCode.PythonBinding.SendLineToPythonConsoleCommand" - label="${res:ICSharpCode.PythonBinding.SendLineToPythonConsole}"/> + class="ICSharpCode.PythonBinding.SendLineToPythonConsoleCommand" + label="${res:ICSharpCode.PythonBinding.SendLineToPythonConsole}"/> <Condition name="IsTextSelected" action="Disable"> <MenuItem id="SendSelectedTextToPythonConsole" - class="ICSharpCode.PythonBinding.SendSelectedTextToPythonConsoleCommand" - label="${res:ICSharpCode.PythonBinding.SendSelectedTextToPythonConsole}"/> + class="ICSharpCode.PythonBinding.SendSelectedTextToPythonConsoleCommand" + label="${res:ICSharpCode.PythonBinding.SendSelectedTextToPythonConsole}"/> </Condition> </Condition> </Path> diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.addin b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.addin index fd03659bfa..ef305f5c6f 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.addin +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.addin @@ -1,8 +1,8 @@ <AddIn name = "Ruby Binding" - author = "Matt Ward" - copyright = "prj:///doc/copyright.txt" - description = "IronRuby addin" - addInManagerHidden = "preinstalled"> + author = "Matt Ward" + copyright = "prj:///doc/copyright.txt" + description = "IronRuby addin" + addInManagerHidden = "preinstalled"> <Manifest> <Identity name="ICSharpCode.RubyBinding"/> @@ -19,27 +19,28 @@ <Path name="/SharpDevelop/ViewContent/AvalonEdit/SyntaxModes"> <SyntaxMode id="Ruby.SyntaxMode" - extensions=".rb" - name="Ruby" - resource="ICSharpCode.RubyBinding.Resources.Ruby.xshd"/> - </Path> + extensions=".rb" + name="Ruby" + resource="ICSharpCode.RubyBinding.Resources.Ruby.xshd"/> + </Path> <!-- Add the "Ruby" entry to the Open File Dialog --> <Path name="/SharpDevelop/Workbench/FileFilter"> <FileFilter id="Ruby" - insertbefore="Resources" - insertafter="Icons" - name="Ruby Files (*.rb)" - extensions="*.rb"/> + insertbefore="Resources" + insertafter="Icons" + name="Ruby Files (*.rb)" + extensions="*.rb" + mimeType = "text/plain"/> </Path> <!-- Add the "Ruby" entry to the Open Project Dialog --> <Path name = "/SharpDevelop/Workbench/Combine/FileFilter"> <FileFilter id="RubyProject" - insertbefore="AllFiles" - name="Ruby Project Files (*.rbproj)" - class="ICSharpCode.SharpDevelop.Project.LoadProject" - extensions="*.rbproj"/> + insertbefore="AllFiles" + name="Ruby Project Files (*.rbproj)" + class="ICSharpCode.SharpDevelop.Project.LoadProject" + extensions="*.rbproj"/> </Path> <!-- File templates --> @@ -51,36 +52,36 @@ <Path name="/SharpDevelop/Workbench/MainMenu"> <Condition name="ActiveContentExtension" activeextension=".rb"> <MenuItem id="Ruby" - insertafter="Search" - insertbefore="Tools" - label="&Ruby" - type="Menu"> + insertafter="Search" + insertbefore="Tools" + label="&Ruby" + type="Menu"> <Condition name="IsProcessRunning" isprocessrunning="False" isdebugging="False" action="Disable"> <MenuItem id="Run" - icon="Icons.16x16.RunProgramIcon" - class="ICSharpCode.RubyBinding.RunDebugRubyCommand" - label="${res:XML.MainMenu.RunMenu.Run}" - shortcut="Control|Shift|R"/> + icon="Icons.16x16.RunProgramIcon" + class="ICSharpCode.RubyBinding.RunDebugRubyCommand" + label="${res:XML.MainMenu.RunMenu.Run}" + shortcut="Control|Shift|R"/> <MenuItem id="RunWithoutDebugger" - icon="Icons.16x16.Debug.StartWithoutDebugging" - class="ICSharpCode.RubyBinding.RunRubyCommand" - label="${res:XML.MainMenu.DebugMenu.RunWithoutDebug}" - shortcut="Control|Shift|W"/> + icon="Icons.16x16.Debug.StartWithoutDebugging" + class="ICSharpCode.RubyBinding.RunRubyCommand" + label="${res:XML.MainMenu.DebugMenu.RunWithoutDebug}" + shortcut="Control|Shift|W"/> </Condition> <Condition name="IsProcessRunning" isdebugging="True" action="Disable"> <MenuItem id="Stop" - icon="Icons.16x16.StopProcess" - class="ICSharpCode.SharpDevelop.Project.Commands.StopDebuggingCommand" - label="${res:XML.MainMenu.DebugMenu.Stop}"/> + icon="Icons.16x16.StopProcess" + class="ICSharpCode.SharpDevelop.Project.Commands.StopDebuggingCommand" + label="${res:XML.MainMenu.DebugMenu.Stop}"/> </Condition> <MenuItem id="SendToRubyConsoleSeparator" type="Separator"/> <MenuItem id="SendLineToRubyConsole" - class="ICSharpCode.RubyBinding.SendLineToRubyConsoleCommand" - label="${res:ICSharpCode.RubyBinding.SendLineToRubyConsole}"/> + class="ICSharpCode.RubyBinding.SendLineToRubyConsoleCommand" + label="${res:ICSharpCode.RubyBinding.SendLineToRubyConsole}"/> <Condition name="IsTextSelected" action="Disable"> <MenuItem id="SendSelectedTextToRubyConsole" - class="ICSharpCode.RubyBinding.SendSelectedTextToRubyConsoleCommand" - label="${res:ICSharpCode.RubyBinding.SendSelectedTextToRubyConsole}"/> + class="ICSharpCode.RubyBinding.SendSelectedTextToRubyConsoleCommand" + label="${res:ICSharpCode.RubyBinding.SendSelectedTextToRubyConsole}"/> </Condition> </MenuItem> </Condition> @@ -89,28 +90,28 @@ <!-- Ruby parser --> <Path name="/Workspace/Parser"> <Parser id="Ruby" - supportedextensions=".rb" - projectfileextension=".rbproj" - class="ICSharpCode.RubyBinding.RubyParser"/> + supportedextensions=".rb" + projectfileextension=".rbproj" + class="ICSharpCode.RubyBinding.RubyParser"/> </Path> - + <!-- Register Ruby MSBuild project (.rbproj) --> <Path name="/SharpDevelop/Workbench/ProjectBindings"> <ProjectBinding id="Ruby" - guid="{BD8E9625-815A-4BDB-B228-5D4F9C2541A1}" - supportedextensions=".rb" - projectfileextension=".rbproj" - class="ICSharpCode.RubyBinding.RubyProjectBinding" /> + guid="{BD8E9625-815A-4BDB-B228-5D4F9C2541A1}" + supportedextensions=".rb" + projectfileextension=".rbproj" + class="ICSharpCode.RubyBinding.RubyProjectBinding" /> </Path> <Path name="/SharpDevelop/Workbench/LanguageBindings"> <LanguageBinding id="Ruby" - class="ICSharpCode.RubyBinding.RubyLanguageBinding" - extensions=".rb" /> + class="ICSharpCode.RubyBinding.RubyLanguageBinding" + extensions=".rb" /> </Path> <!-- The Ruby code completion binding --> -<!-- <Path name = "/AddIns/DefaultTextEditor/CodeCompletion"> + <!-- <Path name = "/AddIns/DefaultTextEditor/CodeCompletion"> <CodeCompletionBinding id="Ruby" extensions=".rb" class="ICSharpCode.RubyBinding.RubyCodeCompletionBinding"/> @@ -119,24 +120,24 @@ <!-- Options panel --> <Path name="/SharpDevelop/Dialogs/OptionsDialog/ToolsOptions"> <OptionPanel id="RubyOptionsPanel" - label="Ruby" - class="ICSharpCode.RubyBinding.RubyOptionsPanel"/> + label="Ruby" + class="ICSharpCode.RubyBinding.RubyOptionsPanel"/> </Path> <!-- Project options panels --> <Path path="/SharpDevelop/BackendBindings/ProjectOptions/Ruby"> <OptionPanel id="DebugOptions" - label="${res:Dialog.ProjectOptions.DebugOptions}" - class="ICSharpCode.SharpDevelop.Gui.OptionPanels.DebugOptions"/> + label="${res:Dialog.ProjectOptions.DebugOptions}" + class="ICSharpCode.SharpDevelop.Gui.OptionPanels.DebugOptions"/> </Path> <!-- Ruby display binding --> <Path name="/SharpDevelop/Workbench/DisplayBindings"> <DisplayBinding id="RubyDisplayBinding" - type="Secondary" - fileNamePattern="\.rb$" - languagePattern="^Ruby$" - class="ICSharpCode.RubyBinding.RubyFormsDesignerDisplayBinding" /> + type="Secondary" + fileNamePattern="\.rb$" + languagePattern="^Ruby$" + class="ICSharpCode.RubyBinding.RubyFormsDesignerDisplayBinding" /> </Path> <Path name="/AddIns/DefaultTextEditor/Formatter/Ruby"> @@ -150,64 +151,64 @@ <Condition name="ActiveContentExtension" activeextension=".vb"/> </Or> <MenuItem id="ConvertToRuby" - insertafter="CSharp" - insertbefore="VBNet" - label="Ruby" - class="ICSharpCode.RubyBinding.ConvertToRubyMenuCommand"/> + insertafter="CSharp" + insertbefore="VBNet" + label="Ruby" + class="ICSharpCode.RubyBinding.ConvertToRubyMenuCommand"/> </ComplexCondition> </Path> <Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/ProjectActions/Convert"> <Condition name="ProjectActive" activeproject="C#"> <MenuItem id="CSharpProjectToRubyProjectConverter" - label="From C# to Ruby" - class="ICSharpCode.RubyBinding.ConvertProjectToRubyProjectCommand"/> + label="From C# to Ruby" + class="ICSharpCode.RubyBinding.ConvertProjectToRubyProjectCommand"/> </Condition> <Condition name="ProjectActive" activeproject="VBNet"> <MenuItem id="VBNetProjectToRubyProjectConverter" - label="From VB.NET to Ruby" - class="ICSharpCode.RubyBinding.ConvertProjectToRubyProjectCommand"/> + label="From VB.NET to Ruby" + class="ICSharpCode.RubyBinding.ConvertProjectToRubyProjectCommand"/> </Condition> </Path> <Path name = "/SharpDevelop/Workbench/Pads"> <Pad id="RubyConsole" - category="Tools" - title="Ruby Console" - insertbefore="DefinitionView" - icon="PadIcons.Output" - defaultPosition="Bottom, Hidden" - class="ICSharpCode.RubyBinding.RubyConsolePad"/> + category="Tools" + title="Ruby Console" + insertbefore="DefinitionView" + icon="PadIcons.Output" + defaultPosition="Bottom, Hidden" + class="ICSharpCode.RubyBinding.RubyConsolePad"/> </Path> <Path name = "/Workspace/Icons"> <Icon id="RubyFileIcon" - extensions=".rb" - resource="Ruby.ProjectBrowser.File"/> + extensions=".rb" + resource="Ruby.ProjectBrowser.File"/> <Icon id="RubyProjectIcon" - language="Ruby" - resource="Ruby.ProjectBrowser.Project"/> + language="Ruby" + resource="Ruby.ProjectBrowser.Project"/> </Path> - + <Path name="/SharpDevelop/UnitTesting/TestFrameworks"> <TestFramework id="rbunit" - class="ICSharpCode.RubyBinding.RubyTestFramework" - supportedProjects=".rbproj"/> + class="ICSharpCode.RubyBinding.RubyTestFramework" + supportedProjects=".rbproj"/> </Path> <Path name="/SharpDevelop/ViewContent/TextEditor/ContextMenu"> <Condition name="ActiveContentExtension" activeextension=".rb"> <MenuItem id="SendToRubyConsoleSeparator" - insertafter="Indent" - type="Separator"/> + insertafter="Indent" + type="Separator"/> <MenuItem id="SendLineToRubyConsole" - class="ICSharpCode.RubyBinding.SendLineToRubyConsoleCommand" - label="${res:ICSharpCode.RubyBinding.SendLineToRubyConsole}"/> + class="ICSharpCode.RubyBinding.SendLineToRubyConsoleCommand" + label="${res:ICSharpCode.RubyBinding.SendLineToRubyConsole}"/> <Condition name="IsTextSelected" action="Disable"> <MenuItem id="SendSelectedTextToRubyConsole" - class="ICSharpCode.RubyBinding.SendSelectedTextToRubyConsoleCommand" - label="${res:ICSharpCode.RubyBinding.SendSelectedTextToRubyConsole}"/> + class="ICSharpCode.RubyBinding.SendSelectedTextToRubyConsoleCommand" + label="${res:ICSharpCode.RubyBinding.SendSelectedTextToRubyConsole}"/> </Condition> </Condition> - </Path> + </Path> </AddIn> diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/VBNetBinding.addin b/src/AddIns/BackendBindings/VBNetBinding/Project/VBNetBinding.addin index 2a08dd5a78..0ad5f20b5d 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/VBNetBinding.addin +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/VBNetBinding.addin @@ -23,7 +23,8 @@ <FileFilter id = "VBNet" insertbefore="AllFiles" name = "${res:SharpDevelop.FileFilter.VBNetFiles}" - extensions = "*.vb"/> + extensions = "*.vb" + mimeType = "text/plain"/> </Path> <Path name = "/SharpDevelop/Workbench/Combine/FileFilter"> diff --git a/src/AddIns/BackendBindings/WixBinding/Project/WixBinding.addin b/src/AddIns/BackendBindings/WixBinding/Project/WixBinding.addin index 47938d8081..86f0093fea 100644 --- a/src/AddIns/BackendBindings/WixBinding/Project/WixBinding.addin +++ b/src/AddIns/BackendBindings/WixBinding/Project/WixBinding.addin @@ -28,7 +28,8 @@ <FileFilter id = "Wix" insertbefore="AllFiles" name = "${res:ICSharpCode.WixBinding.WixFileFilterName} (*.wxs;*.wxi)" - extensions = "*.wxs;*.wxi"/> + extensions = "*.wxs;*.wxi" + mimeType = "text/xml"/> </Path> <Path name = "/SharpDevelop/MSBuildEngine/CompileTaskNames"> diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.addin b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.addin index 920aa5a7ac..125e64d183 100644 --- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.addin +++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.addin @@ -29,7 +29,8 @@ <FileFilter id = "Xaml" insertbefore="AllFiles" name = "Xaml files (*.xaml)" - extensions = "*.xaml"/> + extensions = "*.xaml" + mimeType = "text/xml"/> </Path> <Path name = "/Workspace/Parser"> diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditDisplayBinding.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditDisplayBinding.cs index ae23980420..983eb2c9c3 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditDisplayBinding.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditDisplayBinding.cs @@ -3,13 +3,14 @@ using System; using System.IO; +using System.Linq; using System.Text; - using ICSharpCode.AvalonEdit.Highlighting; using ICSharpCode.AvalonEdit.Utils; using ICSharpCode.Core; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Gui; +using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.AvalonEdit.AddIn { @@ -37,6 +38,19 @@ namespace ICSharpCode.AvalonEdit.AddIn { return new AvalonEditViewContent(file); } + + public bool IsPreferredBindingForFile(string fileName) + { + string extension = Path.GetExtension(fileName); + var fileFilter = ProjectService.GetFileFilters().FirstOrDefault(ff => ff.ContainsExtension(extension)); + + return fileFilter != null && fileFilter.MimeType.StartsWith("text/", StringComparison.OrdinalIgnoreCase); + } + + public double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType) + { + return detectedMimeType.StartsWith("text/") ? 0.5 : 0; + } } public class ChooseEncodingDisplayBinding : IDisplayBinding @@ -62,5 +76,15 @@ namespace ICSharpCode.AvalonEdit.AddIn return null; } } + + public bool IsPreferredBindingForFile(string fileName) + { + return false; + } + + public double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType) + { + return double.NegativeInfinity; + } } } diff --git a/src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/ClassDiagramAddin.addin b/src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/ClassDiagramAddin.addin index 45e87379be..1cca62b096 100644 --- a/src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/ClassDiagramAddin.addin +++ b/src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/ClassDiagramAddin.addin @@ -132,6 +132,7 @@ <FileFilter id = "ClassDiagramFileFilter" name = "Class Diagrams (*.cd)" extensions = "*.cd" + mimeType="text/xml" insertbefore = "Boo"/> </Path> diff --git a/src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/Src/ClassDiagramDisplayBinding.cs b/src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/Src/ClassDiagramDisplayBinding.cs index f8fe60814e..448d2272c3 100644 --- a/src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/Src/ClassDiagramDisplayBinding.cs +++ b/src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/Src/ClassDiagramDisplayBinding.cs @@ -19,12 +19,22 @@ namespace ClassDiagramAddin public bool CanCreateContentForFile(string fileName) { - return true; + return true; // .addin file filters for *.cd } public IViewContent CreateContentForFile(OpenedFile file) { return new ClassDiagramViewContent(file); } + + public bool IsPreferredBindingForFile(string fileName) + { + return true; + } + + public double AutoDetectFileContent(string fileName, System.IO.Stream fileContent, string detectedMimeType) + { + return 1; + } } } diff --git a/src/AddIns/DisplayBindings/Data/ICSharpCode.Data.Addin/ICSharpCode.Data.addin b/src/AddIns/DisplayBindings/Data/ICSharpCode.Data.Addin/ICSharpCode.Data.addin index 84fa1ec1b1..cc93e0bc48 100644 --- a/src/AddIns/DisplayBindings/Data/ICSharpCode.Data.Addin/ICSharpCode.Data.addin +++ b/src/AddIns/DisplayBindings/Data/ICSharpCode.Data.Addin/ICSharpCode.Data.addin @@ -21,7 +21,8 @@ <FileFilter id="EntityFramework" insertbefore="AllFiles" name="Entity Framework Files (*.edmx)" - extensions="*.edmx" /> + extensions="*.edmx" + mimeType="text/xml"/> </Path> <Path name="/SharpDevelop/Workbench/Pads"> diff --git a/src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core.UI/DisplayBinding/EDMDesignerDisplayBinding.cs b/src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core.UI/DisplayBinding/EDMDesignerDisplayBinding.cs index dc7a4f559f..24683ecffa 100644 --- a/src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core.UI/DisplayBinding/EDMDesignerDisplayBinding.cs +++ b/src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core.UI/DisplayBinding/EDMDesignerDisplayBinding.cs @@ -19,7 +19,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding { public bool CanCreateContentForFile(string fileName) { - return Path.GetExtension(fileName).Equals(".edmx", StringComparison.OrdinalIgnoreCase); + return true; // .addin file filters for *.edmx } public IViewContent CreateContentForFile(OpenedFile file) @@ -30,6 +30,16 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding return null; } } + + public bool IsPreferredBindingForFile(string fileName) + { + return true; + } + + public double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType) + { + return 1; + } } public class WizardCancelledException : Exception {} diff --git a/src/AddIns/DisplayBindings/HexEditor/Project/HexEditor.addin b/src/AddIns/DisplayBindings/HexEditor/Project/HexEditor.addin index 90c129988a..c46cc300b0 100644 --- a/src/AddIns/DisplayBindings/HexEditor/Project/HexEditor.addin +++ b/src/AddIns/DisplayBindings/HexEditor/Project/HexEditor.addin @@ -15,9 +15,8 @@ <Path name = "/SharpDevelop/Workbench/DisplayBindings"> <DisplayBinding id = "HexEditor" - insertbefore = "Text" + insertafter = "Text" supportedformats = "Binaries" - fileNamePattern="${property:HexEditorOptions/FileTypesAsRegexString??\.(dll|exe)$}" title = "Hex editor" class = "HexEditor.View.HexEditDisplayBinding"/> </Path> diff --git a/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditDisplayBinding.cs b/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditDisplayBinding.cs index 1f56c960fc..e0c9e5cdad 100644 --- a/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditDisplayBinding.cs +++ b/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditDisplayBinding.cs @@ -12,60 +12,21 @@ namespace HexEditor.View { public class HexEditDisplayBinding : IDisplayBinding { - static string[] supportedExtensions; - - public HexEditDisplayBinding() - { - } - - bool IsBinaryFileName(string fileName) - { - if (fileName != null) { - string extension = Path.GetExtension(fileName); - foreach (string supportedExtension in GetSupportedBinaryFileExtensions()) { - if (String.Compare(supportedExtension, extension, StringComparison.OrdinalIgnoreCase) == 0) { - return true; - } - } - } - return false; - } - - string[] GetSupportedBinaryFileExtensions() + public bool CanCreateContentForFile(string fileName) { - if (supportedExtensions == null) - supportedExtensions = Settings.FileTypes; - - return supportedExtensions; + return true; } - bool IsBinary(string fileName) + public bool IsPreferredBindingForFile(string fileName) { - try { - if (!File.Exists(fileName)) return false; - - BinaryReader reader = new BinaryReader(new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)); - byte[] data = reader.ReadBytes(1024); - reader.Close(); - - for (int i = 0; i < data.Length; i++) { - if ((data[i] != 0xA) && (data[i] != 0xD) && (data[i] != 0x9)) { - if (data[i] < 0x20) return true; - } - } - } catch (IOException ex) { - MessageService.ShowException(ex, ex.Message); - } catch (Exception ex) { - System.Diagnostics.Debug.Print(ex.ToString()); - } return false; } - public bool CanCreateContentForFile(string fileName) + public double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType) { - return IsBinaryFileName(fileName); + return 0.1; } - + public IViewContent CreateContentForFile(OpenedFile file) { return new HexEditView(file); diff --git a/src/AddIns/DisplayBindings/IconEditor/IconEditorAddIn/IconEditorAddIn.addin b/src/AddIns/DisplayBindings/IconEditor/IconEditorAddIn/IconEditorAddIn.addin index 9d08261bb7..53b87ffade 100644 --- a/src/AddIns/DisplayBindings/IconEditor/IconEditorAddIn/IconEditorAddIn.addin +++ b/src/AddIns/DisplayBindings/IconEditor/IconEditorAddIn/IconEditorAddIn.addin @@ -23,7 +23,7 @@ <DisplayBinding id = "IconEditor" class = "ICSharpCode.IconEditorAddIn.IconDisplayBinding" insertbefore = "Text" - fileNamePattern = "\.ico$" + fileNamePattern = "\.(ico)$" title = "${res:Gui.ProjectBrowser.OpenWith.Bindings.IconEditor}"/> </Path> </AddIn> diff --git a/src/AddIns/DisplayBindings/IconEditor/IconEditorAddIn/Src/IconDisplayBinding.cs b/src/AddIns/DisplayBindings/IconEditor/IconEditorAddIn/Src/IconDisplayBinding.cs index 742ffc4f5e..ce51562ac0 100644 --- a/src/AddIns/DisplayBindings/IconEditor/IconEditorAddIn/Src/IconDisplayBinding.cs +++ b/src/AddIns/DisplayBindings/IconEditor/IconEditorAddIn/Src/IconDisplayBinding.cs @@ -18,5 +18,15 @@ namespace ICSharpCode.IconEditorAddIn { return new IconViewContent(file); } + + public bool IsPreferredBindingForFile(string fileName) + { + return true; + } + + public double AutoDetectFileContent(string fileName, System.IO.Stream fileContent, string detectedMimeType) + { + return 1; + } } } diff --git a/src/AddIns/DisplayBindings/ResourceEditor/Project/Src/DisplayDefinition.cs b/src/AddIns/DisplayBindings/ResourceEditor/Project/Src/DisplayDefinition.cs index cefd05629f..c26f53f39c 100644 --- a/src/AddIns/DisplayBindings/ResourceEditor/Project/Src/DisplayDefinition.cs +++ b/src/AddIns/DisplayBindings/ResourceEditor/Project/Src/DisplayDefinition.cs @@ -18,14 +18,23 @@ namespace ResourceEditor // IDisplayBinding interface public bool CanCreateContentForFile(string fileName) { - return Path.GetExtension(fileName).Equals(".RESOURCES", StringComparison.OrdinalIgnoreCase) || - Path.GetExtension(fileName).Equals(".RESX", StringComparison.OrdinalIgnoreCase); + return true; // definition in .addin does extension-based filtering } public IViewContent CreateContentForFile(OpenedFile file) { return new ResourceEditWrapper(file); } + + public bool IsPreferredBindingForFile(string fileName) + { + return true; + } + + public double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType) + { + return 1; + } } /// <summary> diff --git a/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsDisplayBinding.cs b/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsDisplayBinding.cs index ca40e2b72d..a61e12f89f 100644 --- a/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsDisplayBinding.cs +++ b/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsDisplayBinding.cs @@ -19,5 +19,15 @@ namespace ICSharpCode.SettingsEditor { return new SettingsViewContent(file); } + + public bool IsPreferredBindingForFile(string fileName) + { + return true; + } + + public double AutoDetectFileContent(string fileName, System.IO.Stream fileContent, string detectedMimeType) + { + return 1; + } } } diff --git a/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsEditor.addin b/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsEditor.addin index 826dd1cea5..3aa86a693e 100644 --- a/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsEditor.addin +++ b/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsEditor.addin @@ -20,7 +20,8 @@ <FileFilter id = "Settings" insertbefore="AllFiles" name = "Settings (*.settings)" - extensions = "*.settings"/> + extensions = "*.settings" + mimeType = "text/xml"/> </Path> <Path name = "/SharpDevelop/Workbench/DisplayBindings"> diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/WpfDisplayBinding.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/WpfDisplayBinding.cs index caa33eabf3..5b18056f30 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/WpfDisplayBinding.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/WpfDisplayBinding.cs @@ -21,6 +21,16 @@ namespace ICSharpCode.WpfDesign.AddIn { return new WpfViewContent(file); } + + public bool IsPreferredBindingForFile(string fileName) + { + throw new NotImplementedException(); + } + + public double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType) + { + throw new NotImplementedException(); + } } public class WpfSecondaryDisplayBinding : ISecondaryDisplayBinding diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/WpfDesign.addin b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/WpfDesign.addin index 4e637ffdc5..84bef95e78 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/WpfDesign.addin +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/WpfDesign.addin @@ -19,7 +19,7 @@ <!--<DisplayBinding id = "WPFDesigner" class = "ICSharpCode.WpfDesign.AddIn.WpfPrimaryDisplayBinding" insertbefore = "Text" - fileNamePattern = "\.xaml$" + fileNamePattern = "\.(xaml)$" title = "WPF designer"/>--> <DisplayBinding id="WPFDesigner" type="Secondary" class="ICSharpCode.WpfDesign.AddIn.WpfSecondaryDisplayBinding" fileNamePattern="\.xaml$" /> </Path> diff --git a/src/AddIns/Misc/AddInManager/Project/Src/AddInInstallBinding.cs b/src/AddIns/Misc/AddInManager/Project/Src/AddInInstallBinding.cs index ce908417f7..b1553b6df1 100644 --- a/src/AddIns/Misc/AddInManager/Project/Src/AddInInstallBinding.cs +++ b/src/AddIns/Misc/AddInManager/Project/Src/AddInInstallBinding.cs @@ -20,6 +20,16 @@ namespace ICSharpCode.AddInManager ManagerForm.Instance.ShowInstallableAddIns(new string[] { file.FileName }); return null; } + + public bool IsPreferredBindingForFile(string fileName) + { + return true; + } + + public double AutoDetectFileContent(string fileName, System.IO.Stream fileContent, string detectedMimeType) + { + return 1; + } } #endif } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.ReportDesigner.addin b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.ReportDesigner.addin index 7ce4e22acb..95e66c49e8 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.ReportDesigner.addin +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.ReportDesigner.addin @@ -22,7 +22,7 @@ <Path name ="/SharpDevelop/Workbench/DisplayBindings"> <DisplayBinding id="SharpDevelopReportsBinding" insertbefore="Text" - fileNamePattern="\.srd$" + fileNamePattern="\.(srd)$" languagePattern="^SharpDevelopReports$" class="ICSharpCode.Reports.Addin.ReportDesignerDisplayBinding"/> </Path> @@ -32,7 +32,8 @@ <FileFilter id="SharpDevelopReports" insertbefore="AllFiles" name="SharpDevelop Reports (*.srd)" - extensions="*.srd"/> + extensions="*.srd" + mimeType = "text/xml"/> </Path> <!-- ReportExplorer --> diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerDisplayBinding.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerDisplayBinding.cs index 72ec819184..7d1f732632 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerDisplayBinding.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerDisplayBinding.cs @@ -18,10 +18,9 @@ namespace ICSharpCode.Reports.Addin public bool CanCreateContentForFile(string fileName) { - return System.IO.Path.GetExtension(fileName).Equals(".srd",StringComparison.OrdinalIgnoreCase) ; + return true; // definition in .addin does extension-based filtering } - public IViewContent CreateContentForFile(OpenedFile file) { if (file.IsDirty) { @@ -35,5 +34,15 @@ namespace ICSharpCode.Reports.Addin ReportDesignerView view = ICSharpCode.Reports.Addin.Commands.StartViewCommand.SetupDesigner(file); return view; } + + public bool IsPreferredBindingForFile(string fileName) + { + return true; + } + + public double AutoDetectFileContent(string fileName, System.IO.Stream fileContent, string detectedMimeType) + { + return 1; + } } } diff --git a/src/AddIns/Misc/TextTemplating/Project/TextTemplating.addin b/src/AddIns/Misc/TextTemplating/Project/TextTemplating.addin index c88bbdef3b..45ce992889 100644 --- a/src/AddIns/Misc/TextTemplating/Project/TextTemplating.addin +++ b/src/AddIns/Misc/TextTemplating/Project/TextTemplating.addin @@ -16,29 +16,30 @@ <Path name="/SharpDevelop/Workbench/FileFilter"> <FileFilter id="TextTemplating" - insertbefore="AllFiles" - name="Text Template Files (*.tt;*.t4)" - extensions="*.tt;*.t4"/> + insertbefore="AllFiles" + name="Text Template Files (*.tt;*.t4)" + extensions="*.tt;*.t4" + mimeType = "text/plain"/> </Path> - + <Path name="/Workspace/Icons"> <Icon id="TextTemplateFileIcon" extensions=".tt;.t4" resource="TextTemplate.ProjectBrowser.File"/> </Path> - + <Path name="/SharpDevelop/CustomTools"> - <CustomTool + <CustomTool id="TextTemplatingFileGenerator" - class="ICSharpCode.TextTemplating.TextTemplatingFileGeneratorCustomTool" - fileNamePattern="\.t(t|4)$"/> - <CustomTool + class="ICSharpCode.TextTemplating.TextTemplatingFileGeneratorCustomTool" + fileNamePattern="\.t(t|4)$"/> + <CustomTool id="TextTemplatingFilePreprocessor" - class="ICSharpCode.TextTemplating.TextTemplatingFilePreprocessorCustomTool" - fileNamePattern="\.t(t|4)$"/> + class="ICSharpCode.TextTemplating.TextTemplatingFilePreprocessorCustomTool" + fileNamePattern="\.t(t|4)$"/> </Path> - + <Path name="/SharpDevelop/ViewContent/AvalonEdit/SyntaxModes"> <SyntaxMode id="TextTemplating.SyntaxMode" @@ -46,7 +47,7 @@ name="TextTemplating" resource="ICSharpCode.TextTemplating.Resources.TextTemplating.xshd"/> </Path> - + <Path name="/SharpDevelop/BackendBindings/Templates"> <Directory id="TextTemplating" path="./Templates"/> </Path> diff --git a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/BrowserDisplayBinding.cs b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/BrowserDisplayBinding.cs index 0371259154..63707a8903 100644 --- a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/BrowserDisplayBinding.cs +++ b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/BrowserDisplayBinding.cs @@ -28,5 +28,15 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding } return browserPane; } + + public bool IsPreferredBindingForFile(string fileName) + { + return CanCreateContentForFile(fileName); + } + + public double AutoDetectFileContent(string fileName, System.IO.Stream fileContent, string detectedMimeType) + { + return 1; + } } } diff --git a/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs b/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs index a7b0ecb9c1..20314f7de3 100644 --- a/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs +++ b/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs @@ -1246,9 +1246,9 @@ namespace ICSharpCode.SharpDevelop.Project #region Saving public override void Save(string fileName) { - watcher.Disable(); - watcher.Rename(fileName); lock (SyncRoot) { + watcher.Disable(); + watcher.Rename(fileName); // we need the global lock - if the file is being renamed, // MSBuild will update the global project collection lock (MSBuildInternals.SolutionProjectCollectionLock) { @@ -1259,8 +1259,8 @@ namespace ICSharpCode.SharpDevelop.Project userProjectFile.Save(userFile); } } + watcher.Enable(); } - watcher.Enable(); FileUtility.RaiseFileSaved(new FileNameEventArgs(fileName)); } #endregion @@ -1381,7 +1381,7 @@ namespace ICSharpCode.SharpDevelop.Project foreach (ProjectPropertyGroupElement g in projectFile.PropertyGroups.Concat(userProjectFile.PropertyGroups)) { // Rename the default configuration setting var prop = g.Properties.FirstOrDefault(p => p.Name == "Configuration"); - if (prop != null && prop.Value == oldName) { + if (prop != null && prop.Value == oldName) { prop.Value = newName; } @@ -1405,7 +1405,7 @@ namespace ICSharpCode.SharpDevelop.Project foreach (ProjectPropertyGroupElement g in projectFile.PropertyGroups.Concat(userProjectFile.PropertyGroups)) { // Rename the default platform setting var prop = g.Properties.FirstOrDefault(p => p.Name == "Platform"); - if (prop != null && prop.Value == oldName) { + if (prop != null && prop.Value == oldName) { prop.Value = newName; } diff --git a/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingDescriptor.cs b/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingDescriptor.cs index 0f8d1538aa..9c22b7b890 100644 --- a/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingDescriptor.cs +++ b/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingDescriptor.cs @@ -107,5 +107,11 @@ namespace ICSharpCode.SharpDevelop return false; return Regex.IsMatch(fileName, fileNameRegex, RegexOptions.IgnoreCase); } + + public override string ToString() + { + return string.Format("[DisplayBindingDescriptor Id={1} Binding={0}]", binding, Id); + } + } } diff --git a/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingService.cs b/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingService.cs index e07b09143b..cd5548f0b4 100644 --- a/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingService.cs +++ b/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingService.cs @@ -110,10 +110,15 @@ namespace ICSharpCode.SharpDevelop } foreach (DisplayBindingDescriptor binding in bindings) { - if (IsPrimaryBindingValidForFileName(binding, filename)) { + if (IsPrimaryBindingValidForFileName(binding, filename) && binding.Binding.IsPreferredBindingForFile(filename)) { return binding; } } + +// var autoDetect = new AutoDetectDisplayBinding(); +// if (autoDetect.AutoDetectFileContent(filename, new MemoryStream(File.ReadAllBytes(filename))) > double.NegativeInfinity) +// return autoDetect.BestDescriptor; + return null; } diff --git a/src/Main/Base/Project/Src/Services/DisplayBinding/ExternalProcessDisplayBinding.cs b/src/Main/Base/Project/Src/Services/DisplayBinding/ExternalProcessDisplayBinding.cs index 7ea65d2bb6..68dc47b244 100644 --- a/src/Main/Base/Project/Src/Services/DisplayBinding/ExternalProcessDisplayBinding.cs +++ b/src/Main/Base/Project/Src/Services/DisplayBinding/ExternalProcessDisplayBinding.cs @@ -61,6 +61,16 @@ namespace ICSharpCode.SharpDevelop info.WorkingDirectory = workingDir; Process.Start(info); } + + public bool IsPreferredBindingForFile(string fileName) + { + return false; + } + + public double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType) + { + return double.NegativeInfinity; + } } sealed class ExternalProcessDisplayBindingConverter : TypeConverter diff --git a/src/Main/Base/Project/Src/Services/DisplayBinding/IDisplayBinding.cs b/src/Main/Base/Project/Src/Services/DisplayBinding/IDisplayBinding.cs index 74fb80dccb..8a651eacbd 100644 --- a/src/Main/Base/Project/Src/Services/DisplayBinding/IDisplayBinding.cs +++ b/src/Main/Base/Project/Src/Services/DisplayBinding/IDisplayBinding.cs @@ -2,6 +2,9 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using System.IO; +using System.Linq; + using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.SharpDevelop @@ -12,6 +15,8 @@ namespace ICSharpCode.SharpDevelop /// </summary> public interface IDisplayBinding { + bool IsPreferredBindingForFile(string fileName); + /// <remarks> /// This function determines, if this display binding is able to create /// an IViewContent for the file given by fileName. @@ -23,6 +28,8 @@ namespace ICSharpCode.SharpDevelop /// </returns> bool CanCreateContentForFile(string fileName); + double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType); + /// <remarks> /// Creates a new IViewContent object for the file fileName /// </remarks> @@ -31,4 +38,48 @@ namespace ICSharpCode.SharpDevelop /// </returns> IViewContent CreateContentForFile(OpenedFile file); } + + public sealed class AutoDetectDisplayBinding : IDisplayBinding + { + DisplayBindingDescriptor bestDescriptor; + + public DisplayBindingDescriptor BestDescriptor { + get { return bestDescriptor; } + } + + public bool IsPreferredBindingForFile(string fileName) + { + return false; + } + + public bool CanCreateContentForFile(string fileName) + { + return true; + } + + public double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType) + { + double max = double.MinValue; + +// foreach (var codon in DisplayBindingService.GetCodonsPerFileName(fileName)) { +// double value = codon.Binding.AutoDetectFileContent(fileName, fileContent); +// if (value > max) { +// max = value; +// bestDescriptor = codon; +// } +// } +// +// fileContent.Close(); + + return max; + } + + public IViewContent CreateContentForFile(OpenedFile file) + { + if (bestDescriptor == null) + throw new InvalidOperationException(); + + return bestDescriptor.Binding.CreateContentForFile(file); + } + } } diff --git a/src/Main/Base/Project/Src/Services/DisplayBinding/ShellExecuteDisplayBinding.cs b/src/Main/Base/Project/Src/Services/DisplayBinding/ShellExecuteDisplayBinding.cs index 35ce004763..88fc259288 100644 --- a/src/Main/Base/Project/Src/Services/DisplayBinding/ShellExecuteDisplayBinding.cs +++ b/src/Main/Base/Project/Src/Services/DisplayBinding/ShellExecuteDisplayBinding.cs @@ -15,7 +15,7 @@ namespace ICSharpCode.SharpDevelop { public bool CanCreateContentForFile(string fileName) { - return !FileUtility.IsUrl(fileName); + return true; } public ICSharpCode.SharpDevelop.Gui.IViewContent CreateContentForFile(OpenedFile file) @@ -32,5 +32,15 @@ namespace ICSharpCode.SharpDevelop } return null; } + + public bool IsPreferredBindingForFile(string fileName) + { + return false; + } + + public double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType) + { + return double.NegativeInfinity; + } } } diff --git a/src/Main/Base/Project/Src/Services/File/FileService.cs b/src/Main/Base/Project/Src/Services/File/FileService.cs index 1018253a8d..b9c8cf78f0 100644 --- a/src/Main/Base/Project/Src/Services/File/FileService.cs +++ b/src/Main/Base/Project/Src/Services/File/FileService.cs @@ -706,6 +706,16 @@ namespace ICSharpCode.SharpDevelop { return new SimpleViewContent(errorMessage) { TitleName = Path.GetFileName(file.FileName) }; } + + public bool IsPreferredBindingForFile(string fileName) + { + return false; + } + + public double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType) + { + return double.NegativeInfinity; + } } } } diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/FileFilterDoozer.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/FileFilterDoozer.cs index 942b2cb89e..139524b91e 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/FileFilterDoozer.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/FileFilterDoozer.cs @@ -36,7 +36,8 @@ namespace ICSharpCode.Core Codon codon = args.Codon; return new FileFilterDescriptor { Name = StringParser.Parse(codon.Properties["name"]), - Extensions = codon.Properties["extensions"] + Extensions = codon.Properties["extensions"], + MimeType = codon.Properties["mimeType"] }; } } @@ -45,6 +46,7 @@ namespace ICSharpCode.Core { public string Name { get; set; } public string Extensions { get; set; } + public string MimeType { get; set; } /// <summary> /// Gets whether this descriptor matches the specified file extension. From 2fecad971597c292bc72f9ac0227edccad23d4df Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Sat, 13 Aug 2011 15:59:00 +0200 Subject: [PATCH 149/168] complete fix for SD-1527 - A display binding's supported files should be independent from the files it handles by default and SD-1174 - Automatically detect the type of files with unknown extensions --- .../Project/ICSharpCode.SharpDevelop.addin | 3 + .../Project/ICSharpCode.SharpDevelop.csproj | 3 +- .../AutoDetectDisplayBinding.cs | 84 +++++++++++++++++++ .../DisplayBinding/DisplayBindingService.cs | 16 ++-- .../DisplayBinding/IDisplayBinding.cs | 46 +--------- 5 files changed, 98 insertions(+), 54 deletions(-) create mode 100644 src/Main/Base/Project/Src/Services/DisplayBinding/AutoDetectDisplayBinding.cs diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin index d9b037b572..19c0c124db 100755 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin @@ -59,6 +59,9 @@ <DisplayBinding id = "Browser" title = "${res:Gui.ProjectBrowser.OpenWith.Bindings.WebBrowser}" class = "ICSharpCode.SharpDevelop.BrowserDisplayBinding.BrowserDisplayBinding"/> + <DisplayBinding id = "AutoDetect" + title = "Auto-detect file type" + class = "ICSharpCode.SharpDevelop.AutoDetectDisplayBinding"/> </Path> <Path name = "/SharpDevelop/Workbench/FileFilter"> diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index 6b74d18cae..b6224e4230 100644 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -14,7 +14,7 @@ <SignAssembly>True</SignAssembly> <AssemblyOriginatorKeyFile>..\..\ICSharpCode.SharpDevelop.snk</AssemblyOriginatorKeyFile> <AssemblyOriginatorKeyMode>File</AssemblyOriginatorKeyMode> - <AllowUnsafeBlocks>False</AllowUnsafeBlocks> + <AllowUnsafeBlocks>True</AllowUnsafeBlocks> <RegisterForComInterop>False</RegisterForComInterop> <GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies> <BaseAddress>88080384</BaseAddress> @@ -321,6 +321,7 @@ <Compile Include="Src\Services\Debugger\Tooltips\ITreeNode.cs" /> <Compile Include="Src\Services\Debugger\Tooltips\IVisualizerCommand.cs" /> <Compile Include="Src\Services\Debugger\Tooltips\PinBookmark.cs" /> + <Compile Include="Src\Services\DisplayBinding\AutoDetectDisplayBinding.cs" /> <Compile Include="Src\Services\DisplayBinding\ExternalProcessDisplayBinding.cs" /> <Compile Include="Src\Services\DisplayBinding\ISecondaryDisplayBinding.cs" /> <Compile Include="Src\Services\DisplayBinding\ShellExecuteDisplayBinding.cs" /> diff --git a/src/Main/Base/Project/Src/Services/DisplayBinding/AutoDetectDisplayBinding.cs b/src/Main/Base/Project/Src/Services/DisplayBinding/AutoDetectDisplayBinding.cs new file mode 100644 index 0000000000..dd587a1acd --- /dev/null +++ b/src/Main/Base/Project/Src/Services/DisplayBinding/AutoDetectDisplayBinding.cs @@ -0,0 +1,84 @@ +// 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.IO; +using System.Linq; +using System.Runtime.InteropServices; +using ICSharpCode.SharpDevelop.Gui; + +namespace ICSharpCode.SharpDevelop +{ + /// <summary> + /// Implements content auto detection and opens the appropriate IViewContent. + /// </summary> + public sealed class AutoDetectDisplayBinding : IDisplayBinding + { + [DllImport("urlmon.dll", CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = false)] + static extern unsafe int FindMimeFromData( + IntPtr pBC, + [MarshalAs(UnmanagedType.LPWStr)] string pwzUrl, + byte* pBuffer, + int cbSize, + [MarshalAs(UnmanagedType.LPWStr)] string pwzMimeProposed, + int dwMimeFlags, + out IntPtr ppwzMimeOut, + int dwReserved); + + public bool IsPreferredBindingForFile(string fileName) + { + return false; + } + + public bool CanCreateContentForFile(string fileName) + { + return true; + } + + public double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType) + { + return double.NegativeInfinity; + } + + public IViewContent CreateContentForFile(OpenedFile file) + { + var codons = DisplayBindingService.GetCodonsPerFileName(file.FileName); + DisplayBindingDescriptor bestMatch = null; + double max = double.NegativeInfinity; + const int BUFFER_LENGTH = 4 * 1024; + + using (var stream = file.OpenRead()) { + foreach (var codon in codons) { + stream.Position = 0; + string mime = FindMimeType(new BinaryReader(stream).ReadBytes(BUFFER_LENGTH)); + stream.Position = 0; + double value = codon.Binding.AutoDetectFileContent(file.FileName, stream, mime); + if (value > max) { + max = value; + bestMatch = codon; + } + } + } + + if (bestMatch == null) + throw new InvalidOperationException(); + + return bestMatch.Binding.CreateContentForFile(file); + } + + unsafe string FindMimeType(byte[] buffer) + { + fixed (byte *b = buffer) { + const int FMFD_ENABLEMIMESNIFFING = 0x00000002; + IntPtr mimeout; + int result = FindMimeFromData(IntPtr.Zero, null, b, buffer.Length, null, FMFD_ENABLEMIMESNIFFING, out mimeout, 0); + + if (result != 0) + throw Marshal.GetExceptionForHR(result); + string mime = Marshal.PtrToStringUni(mimeout); + Marshal.FreeCoTaskMem(mimeout); + return mime; + } + } + } +} diff --git a/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingService.cs b/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingService.cs index cd5548f0b4..329bafd9f0 100644 --- a/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingService.cs +++ b/src/Main/Base/Project/Src/Services/DisplayBinding/DisplayBindingService.cs @@ -108,18 +108,16 @@ namespace ICSharpCode.SharpDevelop } } } - + DisplayBindingDescriptor autoDetectDescriptor = null; foreach (DisplayBindingDescriptor binding in bindings) { - if (IsPrimaryBindingValidForFileName(binding, filename) && binding.Binding.IsPreferredBindingForFile(filename)) { - return binding; + if (IsPrimaryBindingValidForFileName(binding, filename)) { + if (binding.Binding.IsPreferredBindingForFile(filename)) + return binding; + else if (binding.Binding is AutoDetectDisplayBinding) + autoDetectDescriptor = binding; } } - -// var autoDetect = new AutoDetectDisplayBinding(); -// if (autoDetect.AutoDetectFileContent(filename, new MemoryStream(File.ReadAllBytes(filename))) > double.NegativeInfinity) -// return autoDetect.BestDescriptor; - - return null; + return autoDetectDescriptor; } public static void SetDefaultCodon(string extension, DisplayBindingDescriptor bindingDescriptor) diff --git a/src/Main/Base/Project/Src/Services/DisplayBinding/IDisplayBinding.cs b/src/Main/Base/Project/Src/Services/DisplayBinding/IDisplayBinding.cs index 8a651eacbd..f2ec139568 100644 --- a/src/Main/Base/Project/Src/Services/DisplayBinding/IDisplayBinding.cs +++ b/src/Main/Base/Project/Src/Services/DisplayBinding/IDisplayBinding.cs @@ -4,7 +4,7 @@ using System; using System.IO; using System.Linq; - +using System.Runtime.InteropServices; using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.SharpDevelop @@ -39,47 +39,5 @@ namespace ICSharpCode.SharpDevelop IViewContent CreateContentForFile(OpenedFile file); } - public sealed class AutoDetectDisplayBinding : IDisplayBinding - { - DisplayBindingDescriptor bestDescriptor; - - public DisplayBindingDescriptor BestDescriptor { - get { return bestDescriptor; } - } - - public bool IsPreferredBindingForFile(string fileName) - { - return false; - } - - public bool CanCreateContentForFile(string fileName) - { - return true; - } - - public double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType) - { - double max = double.MinValue; - -// foreach (var codon in DisplayBindingService.GetCodonsPerFileName(fileName)) { -// double value = codon.Binding.AutoDetectFileContent(fileName, fileContent); -// if (value > max) { -// max = value; -// bestDescriptor = codon; -// } -// } -// -// fileContent.Close(); - - return max; - } - - public IViewContent CreateContentForFile(OpenedFile file) - { - if (bestDescriptor == null) - throw new InvalidOperationException(); - - return bestDescriptor.Binding.CreateContentForFile(file); - } - } + } From b546740b2d5ede38873a16e4a286c57fe7f3dd66 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Sat, 13 Aug 2011 23:03:45 +0200 Subject: [PATCH 150/168] rewrite HexEditor settings in WPF --- .../HexEditor/Project/HexEditor.csproj | 35 +- .../Project/Resources/HexEditOptions.xfrm | 217 ----------- .../HexEditor/Project/Src/Editor.cs | 8 +- .../HexEditor/Project/Src/Util/Settings.cs | 25 +- .../Project/Src/View/HexEditContainer.cs | 13 +- .../Project/Src/View/HexEditOptionsPanel.cs | 368 ------------------ .../Project/Src/View/HexEditOptionsPanel.xaml | 65 ++++ .../Src/View/HexEditOptionsPanel.xaml.cs | 93 +++++ 8 files changed, 213 insertions(+), 611 deletions(-) delete mode 100644 src/AddIns/DisplayBindings/HexEditor/Project/Resources/HexEditOptions.xfrm delete mode 100644 src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.cs create mode 100644 src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.xaml create mode 100644 src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.xaml.cs diff --git a/src/AddIns/DisplayBindings/HexEditor/Project/HexEditor.csproj b/src/AddIns/DisplayBindings/HexEditor/Project/HexEditor.csproj index fe3890f6b1..18009962a9 100644 --- a/src/AddIns/DisplayBindings/HexEditor/Project/HexEditor.csproj +++ b/src/AddIns/DisplayBindings/HexEditor/Project/HexEditor.csproj @@ -46,11 +46,26 @@ </PropertyGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> <ItemGroup> + <Reference Include="PresentationCore"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> + <Reference Include="PresentationFramework"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> <Reference Include="System" /> + <Reference Include="System.Core"> + <RequiredTargetFramework>3.5</RequiredTargetFramework> + </Reference> <Reference Include="System.Data" /> <Reference Include="System.Drawing" /> <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Xaml"> + <RequiredTargetFramework>4.0</RequiredTargetFramework> + </Reference> <Reference Include="System.Xml" /> + <Reference Include="WindowsBase"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> </ItemGroup> <ItemGroup> <Compile Include="..\..\..\..\Main\GlobalAssemblyInfo.cs"> @@ -82,7 +97,9 @@ <DependentUpon>HexEditContainer.cs</DependentUpon> </Compile> <Compile Include="Src\View\HexEditDisplayBinding.cs" /> - <Compile Include="Src\View\HexEditOptionsPanel.cs"> + <Compile Include="Src\View\HexEditOptionsPanel.xaml.cs"> + <DependentUpon>HexEditOptionsPanel.xaml</DependentUpon> + <SubType>Code</SubType> </Compile> <Compile Include="Src\View\HexEditView.cs" /> <None Include="changes.txt" /> @@ -97,9 +114,6 @@ <ItemGroup> <EmbeddedResource Include="Resources\sizefittowindow.bmp" /> </ItemGroup> - <ItemGroup> - <EmbeddedResource Include="Resources\HexEditOptions.xfrm" /> - </ItemGroup> <ItemGroup> <ProjectReference Include="..\..\..\..\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj"> <Project>{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}</Project> @@ -116,13 +130,26 @@ <Name>ICSharpCode.Core</Name> <Private>False</Private> </ProjectReference> + <ProjectReference Include="..\..\..\..\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj"> + <Project>{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}</Project> + <Name>ICSharpCode.Core.Presentation</Name> + <Private>False</Private> + </ProjectReference> <ProjectReference Include="..\..\..\..\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj"> <Project>{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}</Project> <Name>ICSharpCode.Core.WinForms</Name> <Private>False</Private> </ProjectReference> + <ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj"> + <Project>{8035765F-D51F-4A0C-A746-2FD100E19419}</Project> + <Name>ICSharpCode.SharpDevelop.Widgets</Name> + <Private>False</Private> + </ProjectReference> </ItemGroup> <ItemGroup> <Folder Include="Src\Commands" /> </ItemGroup> + <ItemGroup> + <Page Include="Src\View\HexEditOptionsPanel.xaml" /> + </ItemGroup> </Project> \ No newline at end of file diff --git a/src/AddIns/DisplayBindings/HexEditor/Project/Resources/HexEditOptions.xfrm b/src/AddIns/DisplayBindings/HexEditor/Project/Resources/HexEditOptions.xfrm deleted file mode 100644 index 6c14ea80de..0000000000 --- a/src/AddIns/DisplayBindings/HexEditor/Project/Resources/HexEditOptions.xfrm +++ /dev/null @@ -1,217 +0,0 @@ -<Components version="1.0"> - <System.Windows.Forms.UserControl> - <Name value="HexEditOptions" /> - <ClientSize value="{Width=334, Height=339}" /> - <Controls> - <System.Windows.Forms.GroupBox> - <Name value="groupBox4" /> - <Location value="3, 192" /> - <Text value="${res:Dialog.Options.IDEOptions.General}" /> - <Size value="325, 140" /> - <TabIndex value="22" /> - <Controls> - <System.Windows.Forms.TextBox> - <Name value="txtExtensions" /> - <TabIndex value="7" /> - <Location value="9, 115" /> - <Text value=".exe;.dll" /> - <Size value="298, 20" /> - <Lines> - <System.String value=".exe;.dll" /> - </Lines> - </System.Windows.Forms.TextBox> - <System.Windows.Forms.Label> - <Name value="label5" /> - <Location value="9, 96" /> - <Text value="Extensions to open with hex editor: (separated with ';')" /> - <Size value="305, 23" /> - <TabIndex value="6" /> - </System.Windows.Forms.Label> - <System.Windows.Forms.NumericUpDown> - <Name value="nUDBytesPerLine" /> - <TabIndex value="5" /> - <Location value="184, 69" /> - <Size value="120, 20" /> - <Controls> - <System.Windows.Forms.UpDownBase_x002B_UpDownButtons> - <Name value="" /> - <TabStop value="False" /> - <TabIndex value="0" /> - <Size value="16, 16" /> - <Location value="100, 0" /> - </System.Windows.Forms.UpDownBase_x002B_UpDownButtons> - <System.Windows.Forms.UpDownBase_x002B_UpDownEdit> - <Name value="" /> - <TabIndex value="1" /> - <Size value="96, 12" /> - <Location value="2, 2" /> - <BorderStyle value="None" /> - <Text value="0" /> - <Lines> - <System.String value="0" /> - </Lines> - </System.Windows.Forms.UpDownBase_x002B_UpDownEdit> - </Controls> - </System.Windows.Forms.NumericUpDown> - <System.Windows.Forms.DomainUpDown> - <Name value="dUDViewModes" /> - <TabIndex value="4" /> - <Location value="184, 47" /> - <Size value="120, 20" /> - <Controls> - <System.Windows.Forms.UpDownBase_x002B_UpDownButtons> - <Name value="" /> - <TabStop value="False" /> - <TabIndex value="0" /> - <Size value="16, 16" /> - <Location value="100, 0" /> - </System.Windows.Forms.UpDownBase_x002B_UpDownButtons> - <System.Windows.Forms.UpDownBase_x002B_UpDownEdit> - <Name value="" /> - <TabIndex value="1" /> - <Size value="96, 12" /> - <Location value="2, 2" /> - <BorderStyle value="None" /> - </System.Windows.Forms.UpDownBase_x002B_UpDownEdit> - </Controls> - </System.Windows.Forms.DomainUpDown> - <System.Windows.Forms.Label> - <Name value="label4" /> - <Location value="9, 71" /> - <Text value="${res:AddIns.HexEditor.DefaultBytesPerLine}:" /> - <Size value="190, 22" /> - <TabIndex value="3" /> - </System.Windows.Forms.Label> - <System.Windows.Forms.Label> - <Name value="label3" /> - <Location value="9, 49" /> - <Text value="${res:AddIns.HexEditor.NumeralSystem}:" /> - <Size value="187, 21" /> - <TabIndex value="2" /> - </System.Windows.Forms.Label> - <System.Windows.Forms.CheckBox> - <Name value="cbFitToWidth" /> - <Location value="9, 19" /> - <Text value="${res:AddIns.HexEditor.SizeToFit}" /> - <TabIndex value="0" /> - <Size value="295, 24" /> - <UseVisualStyleBackColor value="True" /> - </System.Windows.Forms.CheckBox> - </Controls> - </System.Windows.Forms.GroupBox> - <System.Windows.Forms.GroupBox> - <Name value="groupBox3" /> - <Location value="3, 3" /> - <Text value="${res:AddIns.HexEditor.Display}" /> - <Size value="325, 183" /> - <TabIndex value="21" /> - <Controls> - <System.Windows.Forms.GroupBox> - <Name value="groupBox2" /> - <Location value="6, 107" /> - <Text value="${res:Global.Preview}" /> - <Size value="310, 45" /> - <TabIndex value="26" /> - <Controls> - <System.Windows.Forms.Label> - <Name value="lblOffsetPreview" /> - <Location value="3, 15" /> - <ForeColor value="Color [ControlText]" /> - <Text value="Offset" /> - <Size value="305, 15" /> - <TextAlign value="MiddleCenter" /> - <Dock value="Top" /> - <TabIndex value="2" /> - </System.Windows.Forms.Label> - <System.Windows.Forms.Label> - <Name value="lblDataPreview" /> - <Location value="3, 15" /> - <Text value="Data" /> - <Size value="305, 15" /> - <TextAlign value="MiddleCenter" /> - <Dock value="Bottom" /> - <TabIndex value="3" /> - </System.Windows.Forms.Label> - </Controls> - </System.Windows.Forms.GroupBox> - <System.Windows.Forms.GroupBox> - <Name value="groupBox1" /> - <Location value="230, 16" /> - <Text value="${res:Global.FontStyle}" /> - <Size value="87, 81" /> - <TabIndex value="25" /> - <Controls> - <System.Windows.Forms.CheckBox> - <Name value="cbItalic" /> - <AutoSize value="True" /> - <Location value="6, 40" /> - <Text value="${res:Dialog.HighlightingEditor.ColorDlg.Italic}" /> - <TabIndex value="5" /> - <Size value="48, 17" /> - <UseVisualStyleBackColor value="True" /> - </System.Windows.Forms.CheckBox> - <System.Windows.Forms.CheckBox> - <Name value="cbBold" /> - <AutoSize value="True" /> - <Location value="6, 19" /> - <Text value="${res:Dialog.HighlightingEditor.ColorDlg.Bold}" /> - <TabIndex value="4" /> - <Size value="47, 17" /> - <UseVisualStyleBackColor value="True" /> - </System.Windows.Forms.CheckBox> - <System.Windows.Forms.CheckBox> - <Name value="cbUnderline" /> - <AutoSize value="True" /> - <Location value="6, 60" /> - <Text value="${res:Global.FontStyle.Underline}" /> - <TabIndex value="6" /> - <Size value="71, 17" /> - <UseVisualStyleBackColor value="True" /> - </System.Windows.Forms.CheckBox> - </Controls> - </System.Windows.Forms.GroupBox> - <System.Windows.Forms.Button> - <Name value="btnSelectFont" /> - <Location value="115, 59" /> - <Text value="${res:Global.FontStyle.SelectFont}..." /> - <UseVisualStyleBackColor value="True" /> - <Size value="93, 26" /> - <TabIndex value="27" /> - </System.Windows.Forms.Button> - <System.Windows.Forms.Label> - <Name value="label2" /> - <Location value="114, 16" /> - <Text value="${res:Dialog.HighlightingEditor.ColorDlg.Foreground}:" /> - <Size value="90, 13" /> - <AutoSize value="True" /> - <TabIndex value="24" /> - </System.Windows.Forms.Label> - <System.Windows.Forms.Label> - <Name value="label1" /> - <Location value="3, 16" /> - <Text value="${res:AddIns.HexEditor.Display.Elements}:" /> - <Size value="53, 13" /> - <AutoSize value="True" /> - <TabIndex value="23" /> - </System.Windows.Forms.Label> - <System.Windows.Forms.ListBox> - <Name value="lstElements" /> - <TabIndex value="22" /> - <Location value="6, 32" /> - <Size value="102, 69" /> - <FormattingEnabled value="True" /> - </System.Windows.Forms.ListBox> - <System.Windows.Forms.ComboBox> - <Name value="cmbForeColor" /> - <TabIndex value="21" /> - <DrawMode value="OwnerDrawFixed" /> - <Location value="115, 32" /> - <Size value="109, 21" /> - <FormattingEnabled value="True" /> - <DropDownStyle value="DropDownList" /> - </System.Windows.Forms.ComboBox> - </Controls> - </System.Windows.Forms.GroupBox> - </Controls> - </System.Windows.Forms.UserControl> -</Components> \ No newline at end of file diff --git a/src/AddIns/DisplayBindings/HexEditor/Project/Src/Editor.cs b/src/AddIns/DisplayBindings/HexEditor/Project/Src/Editor.cs index 83a46de6e7..7d810256a2 100644 --- a/src/AddIns/DisplayBindings/HexEditor/Project/Src/Editor.cs +++ b/src/AddIns/DisplayBindings/HexEditor/Project/Src/Editor.cs @@ -505,7 +505,7 @@ namespace HexEditor { g.Clear(Color.White); TextRenderer.DrawText(g, headertext, Settings.OffsetFont, new Rectangle(1, 1, this.hexView.Width + 5, fontheight), - Settings.OffsetForeColor, this.BackColor, TextFormatFlags.Left & TextFormatFlags.Top); + Settings.OffsetForeColor.ToSystemDrawing(), this.BackColor, TextFormatFlags.Left & TextFormatFlags.Top); } /// <summary> @@ -555,7 +555,7 @@ namespace HexEditor builder = null; TextRenderer.DrawText(g, text, Settings.OffsetFont,this.side.ClientRectangle, - Settings.OffsetForeColor, Color.White, TextFormatFlags.Right); + Settings.OffsetForeColor.ToSystemDrawing(), Color.White, TextFormatFlags.Right); } /// <summary> @@ -575,7 +575,7 @@ namespace HexEditor offset = GetOffsetForLine(top + i + 1); } - TextRenderer.DrawText(g, builder.ToString(), Settings.DataFont, new Rectangle(0, 0, this.hexView.Width, this.hexView.Height), Settings.DataForeColor, Color.White, TextFormatFlags.Left & TextFormatFlags.Top); + TextRenderer.DrawText(g, builder.ToString(), Settings.DataFont, new Rectangle(0, 0, this.hexView.Width, this.hexView.Height), Settings.DataForeColor.ToSystemDrawing(), Color.White, TextFormatFlags.Left & TextFormatFlags.Top); } /// <summary> @@ -595,7 +595,7 @@ namespace HexEditor builder.AppendLine(GetText(buffer.GetBytes(offset, this.BytesPerLine))); offset = GetOffsetForLine(top + i + 1); } - TextRenderer.DrawText(g, builder.ToString(), Settings.DataFont, new Point(0, 0), Settings.DataForeColor, Color.White); + TextRenderer.DrawText(g, builder.ToString(), Settings.DataFont, new Point(0, 0), Settings.DataForeColor.ToSystemDrawing(), Color.White); } /// <summary> diff --git a/src/AddIns/DisplayBindings/HexEditor/Project/Src/Util/Settings.cs b/src/AddIns/DisplayBindings/HexEditor/Project/Src/Util/Settings.cs index 8f59487ce2..6c02cb7c81 100644 --- a/src/AddIns/DisplayBindings/HexEditor/Project/Src/Util/Settings.cs +++ b/src/AddIns/DisplayBindings/HexEditor/Project/Src/Util/Settings.cs @@ -1,11 +1,13 @@ // 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 ICSharpCode.Core; using System; using System.Drawing; +using WPF = System.Windows.Media; using System.Xml; +using ICSharpCode.Core; + namespace HexEditor.Util { /// <summary> @@ -27,24 +29,23 @@ namespace HexEditor.Util Settings.BytesPerLine = 16; Settings.FitToWidth = false; - Settings.FileTypes = new string[] {".exe", ".dll"}; Settings.ViewMode = ViewMode.Hexadecimal; - Settings.DataForeColor = Color.Black; - Settings.OffsetForeColor = Color.Blue; + Settings.DataForeColor = WPF.Colors.Black; + Settings.OffsetForeColor = WPF.Colors.Blue; Settings.OffsetFont = Settings.DataFont = new Font("Courier New", 9.5f, FontStyle.Regular); return settings; } - public static Color OffsetForeColor { - get { return properties.Get("OffsetForeColor", Color.Blue); } + public static WPF.Color OffsetForeColor { + get { return properties.Get("OffsetForeColor", WPF.Colors.Blue); } set { properties.Set("OffsetForeColor", value); } } - public static Color DataForeColor { - get { return properties.Get("DataForeColor", Color.Black); } + public static WPF.Color DataForeColor { + get { return properties.Get("DataForeColor", WPF.Colors.Black); } set { properties.Set("DataForeColor", value); } } @@ -72,13 +73,5 @@ namespace HexEditor.Util get { return properties.Get("ViewMode", ViewMode.Hexadecimal); } set { properties.Set("ViewMode", value); } } - - public static string[] FileTypes { - get { return properties.Get("FileTypes", new string[] {".exe", ".dll"}); } - set { - properties.Set("FileTypes", value); - properties.Set("FileTypesAsRegexString", "(" + string.Join("|", value) + ")$"); - } - } } } diff --git a/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditContainer.cs b/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditContainer.cs index 6d8cb45715..2ef1787c63 100644 --- a/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditContainer.cs +++ b/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditContainer.cs @@ -33,6 +33,15 @@ namespace HexEditor.View public HexEditContainer() { InitializeComponent(); + } + + bool loaded = false; + + void Init(object sender, EventArgs e) + { + if (loaded) + return; + loaded = true; tbSizeToFit.Text = StringParser.Parse(tbSizeToFit.Text); @@ -42,14 +51,13 @@ namespace HexEditor.View ToolStripControlHost viewMode = new ToolStripControlHost(tCBViewMode); this.toolStrip1.Items.Insert(3, viewMode); + hexEditControl.BytesPerLine = Settings.BytesPerLine; tSTBCharsPerLine.Text = hexEditControl.BytesPerLine.ToString(); this.hexEditControl.ContextMenuStrip = MenuService.CreateContextMenu(this.hexEditControl, "/AddIns/HexEditor/Editor/ContextMenu"); tCBViewMode.SelectedIndex = 0; - tSTBCharsPerLine.Value = Settings.BytesPerLine; tCBViewMode.SelectedItem = Settings.ViewMode.ToString(); hexEditControl.ViewMode = Settings.ViewMode; - hexEditControl.BytesPerLine = Settings.BytesPerLine; tbSizeToFit.Checked = hexEditControl.FitToWindowWidth = Settings.FitToWidth; tSTBCharsPerLine.Enabled = !Settings.FitToWidth; @@ -144,6 +152,7 @@ namespace HexEditor.View void HexEditContainer_Resize(object sender, EventArgs e) { + Init(sender, e); if (this.tbSizeToFit.Checked) tSTBCharsPerLine.Text = hexEditControl.BytesPerLine.ToString(); } } diff --git a/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.cs b/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.cs deleted file mode 100644 index b07ef9dabd..0000000000 --- a/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.cs +++ /dev/null @@ -1,368 +0,0 @@ -// 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 ICSharpCode.SharpDevelop.Gui.OptionPanels; -using HexEditor.Util; -using System; -using System.Collections.Generic; -using System.Drawing; -using System.IO; -using System.Windows.Forms; -using System.Xml; -using ICSharpCode.Core; -using ICSharpCode.SharpDevelop.Gui; - -namespace HexEditor.View -{ - public class HexEditOptionsPanel : XmlFormsOptionPanel - { - ComboBox cmbForeColor; - ListBox lstElements; - CheckBox cbBold; - CheckBox cbItalic; - CheckBox cbUnderline; - CheckBox cbFitToWidth; - Label lblOffsetPreview; - Label lblDataPreview; - Button btnSelectFont; - FontDialog fdSelectFont; - TextBox txtExtensions; - - NumericUpDown nUDBytesPerLine; - DomainUpDown dUDViewModes; - - List<Color> Colors; - Color customFore = Color.Transparent; - Color customBack = Color.Transparent; - - bool fcmanualchange = false; - - public HexEditOptionsPanel() - { - Colors = new List<Color>(); - - ListColors(); - } - - public override void LoadPanelContents() - { - SetupFromXmlStream(this.GetType().Assembly.GetManifestResourceStream("HexEditor.Resources.HexEditOptions.xfrm")); - this.InitializeComponents(); - - lblOffsetPreview.Font = Settings.OffsetFont; - lblDataPreview.Font = Settings.DataFont; - - fdSelectFont.Font = new Font(Settings.OffsetFont, FontStyle.Regular); - - if (IsNamedColor(Settings.OffsetForeColor)) { - Settings.OffsetForeColor = Color.FromName(GetColorName(Settings.OffsetForeColor)); - } else { - customFore = Settings.OffsetForeColor; - } - - if (IsNamedColor(Settings.DataForeColor)) { - Settings.DataForeColor = Color.FromName(GetColorName(Settings.DataForeColor)); - } else { - customFore = Settings.DataForeColor; - } - - if (!Settings.OffsetForeColor.IsNamedColor) { - cmbForeColor.SelectedIndex = 0; - } else { - cmbForeColor.SelectedIndex = cmbForeColor.Items.IndexOf(Settings.OffsetForeColor.Name); - } - - this.cbBold.Checked = Settings.OffsetFont.Bold; - this.cbItalic.Checked = Settings.OffsetFont.Italic; - this.cbUnderline.Checked = Settings.OffsetFont.Underline; - - this.cbFitToWidth.Checked = Settings.FitToWidth; - - this.nUDBytesPerLine.Value = Settings.BytesPerLine; - this.dUDViewModes.SelectedIndex = this.dUDViewModes.Items.IndexOf(Settings.ViewMode.ToString()); - } - - public override bool StorePanelContents() - { - Settings.BytesPerLine = (int)this.nUDBytesPerLine.Value; - - Settings.DataFont = this.lblDataPreview.Font; - Settings.OffsetFont = this.lblOffsetPreview.Font; - - Settings.FileTypes = this.txtExtensions.Text.Split(new char[] {';', ' '}, StringSplitOptions.RemoveEmptyEntries); - - Settings.FitToWidth = this.cbFitToWidth.Checked; - - Settings.OffsetForeColor = this.lblOffsetPreview.ForeColor; - Settings.DataForeColor = this.lblDataPreview.ForeColor; - Settings.ViewMode = (ViewMode)Enum.Parse(typeof(ViewMode), ((this.dUDViewModes.SelectedItem == null) ? ViewMode.Hexadecimal.ToString() : this.dUDViewModes.SelectedItem.ToString())); - - return true; - } - - void InitializeComponents() - { - cmbForeColor = (ComboBox)ControlDictionary["cmbForeColor"]; - lstElements = (ListBox)ControlDictionary["lstElements"]; - cbBold = (CheckBox)ControlDictionary["cbBold"]; - cbItalic = (CheckBox)ControlDictionary["cbItalic"]; - cbUnderline = (CheckBox)ControlDictionary["cbUnderline"]; - lblOffsetPreview = (Label)ControlDictionary["lblOffsetPreview"]; - lblDataPreview = (Label)ControlDictionary["lblDataPreview"]; - btnSelectFont = (Button)ControlDictionary["btnSelectFont"]; - - nUDBytesPerLine = (NumericUpDown)ControlDictionary["nUDBytesPerLine"]; - dUDViewModes = (DomainUpDown)ControlDictionary["dUDViewModes"]; - cbFitToWidth = (CheckBox)ControlDictionary["cbFitToWidth"]; - - txtExtensions = (TextBox)ControlDictionary["txtExtensions"]; - - fdSelectFont = new FontDialog(); - - // Initialize FontDialog - fdSelectFont.FontMustExist = true; - fdSelectFont.FixedPitchOnly = true; - fdSelectFont.ShowEffects = false; - fdSelectFont.ShowColor = false; - - cmbForeColor.Items.Add(StringParser.Parse("${res:Global.FontStyle.CustomColor}")); - - foreach (Color c in Colors) { - cmbForeColor.Items.Add(c.Name); - } - - lstElements.Items.Add(StringParser.Parse("${res:AddIns.HexEditor.Display.Elements.Offset}")); - lstElements.Items.Add(StringParser.Parse("${res:AddIns.HexEditor.Display.Elements.Data}")); - - lstElements.SetSelected(0, true); - - foreach (string s in HexEditor.Util.ViewMode.GetNames(typeof(HexEditor.Util.ViewMode))) - { - dUDViewModes.Items.Add(s); - } - - btnSelectFont.Click += new EventHandler(this.btnSelectFontClick); - cmbForeColor.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.cmbForeColorDrawItem); - cmbForeColor.SelectedValueChanged += new EventHandler(this.cmbForeColorSelectedValueChanged); - - cmbForeColor.DropDown += cmbForeColorDropDown; - - cbBold.CheckedChanged += new EventHandler(this.cbBoldCheckedChanged); - cbItalic.CheckedChanged += new EventHandler(this.cbItalicCheckedChanged); - cbUnderline.CheckedChanged += new EventHandler(this.cbUnderlineCheckedChanged); - - lstElements.SelectedValueChanged += new EventHandler(this.lstElementsSelectedValueChanged); - } - - void ListColors() - { - foreach (Color c in System.ComponentModel.TypeDescriptor.GetConverter(typeof (Color)).GetStandardValues()) { - Colors.Add(c); - } - } - - void btnSelectFontClick(object sender, EventArgs e) - { - if (fdSelectFont.ShowDialog() == DialogResult.OK) { - lblOffsetPreview.Font = new Font(fdSelectFont.Font, lblOffsetPreview.Font.Style); - lblDataPreview.Font = new Font(fdSelectFont.Font, lblDataPreview.Font.Style); - } - } - - void cmbForeColorSelectedValueChanged(object sender, EventArgs e) - { - if (lstElements.SelectedIndex != -1) { - if (cmbForeColor.SelectedIndex == 0) { - if (fcmanualchange) { - ColorDialog cdColor = new ColorDialog(); - if (cdColor.ShowDialog() == DialogResult.OK) { - customFore = cdColor.Color; - switch (lstElements.SelectedIndex) { - case 0 : - Settings.OffsetForeColor = customFore; - break; - case 1 : - Settings.DataForeColor = customFore; - break; - } - } - } - } else { - if (cmbForeColor.SelectedIndex == -1) cmbForeColor.SelectedIndex = 0; - switch (lstElements.SelectedIndex) { - case 0 : - Settings.OffsetForeColor = Color.FromName(cmbForeColor.Items[cmbForeColor.SelectedIndex].ToString()); - break; - case 1 : - Settings.DataForeColor = Color.FromName(cmbForeColor.Items[cmbForeColor.SelectedIndex].ToString()); - break; - } - } - - lblOffsetPreview.ForeColor = Settings.OffsetForeColor; - - lblDataPreview.ForeColor = Settings.DataForeColor; - } else { - MessageService.ShowError("Please select an element first!"); - } - fcmanualchange = false; - } - - void cmbForeColorDrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e) - { - Rectangle rc = new Rectangle(e.Bounds.X, e.Bounds.Y, - e.Bounds.Width, e.Bounds.Height); - Rectangle rc2 = new Rectangle(e.Bounds.X + 20, e.Bounds.Y, - e.Bounds.Width, e.Bounds.Height); - Rectangle rc3 = new Rectangle(e.Bounds.X + 5, e.Bounds.Y + 2, 10, 10); - - string str; - Color color; - if (e.Index != -1) { - str = (string)cmbForeColor.Items[e.Index]; - } else { - str = (string)cmbForeColor.Items[0]; - } - - if (str == "Custom") { - color = customFore; - } else { - color = Color.FromName(str); - } - - if ( e.State == (DrawItemState.Selected | DrawItemState.Focus | DrawItemState.NoAccelerator | DrawItemState.NoFocusRect)) { - e.Graphics.FillRectangle(new SolidBrush(SystemColors.Highlight) , rc); - e.Graphics.DrawString( str , cmbForeColor.Font, new SolidBrush(Color.White), rc2); - e.Graphics.FillRectangle(new SolidBrush(color), rc3); - e.Graphics.DrawRectangle(Pens.White, rc3); - } else { - e.Graphics.FillRectangle(new SolidBrush(Color.White) , rc); - e.Graphics.DrawString( str , cmbForeColor.Font, new SolidBrush(Color.Black), rc2); - e.Graphics.FillRectangle(new SolidBrush(color), rc3); - e.Graphics.DrawRectangle(Pens.Black, rc3); - } - } - - void cbBoldCheckedChanged(object sender, EventArgs e) - { - if (lstElements.SelectedIndex != -1) { - switch (lstElements.SelectedIndex) { - case 0 : - if ((cbBold.Checked & !lblOffsetPreview.Font.Bold) ^ (!cbBold.Checked & lblOffsetPreview.Font.Bold)) - lblOffsetPreview.Font = new Font(lblOffsetPreview.Font, lblOffsetPreview.Font.Style ^ FontStyle.Bold); - break; - case 1 : - if ((cbBold.Checked & !lblDataPreview.Font.Bold) ^ (!cbBold.Checked & lblDataPreview.Font.Bold)) - lblDataPreview.Font = new Font(lblDataPreview.Font, lblDataPreview.Font.Style ^ FontStyle.Bold); - break; - } - } else { - MessageService.ShowError("Please select an element first!"); - } - } - - void cbItalicCheckedChanged(object sender, EventArgs e) - { - if (lstElements.SelectedIndex != -1) { - switch (lstElements.SelectedIndex) { - case 0 : - if ((cbItalic.Checked & !lblOffsetPreview.Font.Italic) || (!cbItalic.Checked & lblOffsetPreview.Font.Italic)) - lblOffsetPreview.Font = new Font(lblOffsetPreview.Font, lblOffsetPreview.Font.Style ^ FontStyle.Italic); - break; - case 1 : - if ((cbItalic.Checked & !lblDataPreview.Font.Italic) || (!cbItalic.Checked & lblDataPreview.Font.Italic)) - lblDataPreview.Font = new Font(lblDataPreview.Font, lblDataPreview.Font.Style ^ FontStyle.Italic); - break; - } - } else { - MessageService.ShowError("Please select an element first!"); - } - } - - void cbUnderlineCheckedChanged(object sender, EventArgs e) - { - if (lstElements.SelectedIndex != -1) { - switch (lstElements.SelectedIndex) { - case 0 : - if ((cbUnderline.Checked & !lblOffsetPreview.Font.Underline) || (!cbUnderline.Checked & lblOffsetPreview.Font.Underline)) - lblOffsetPreview.Font = new Font(lblOffsetPreview.Font, lblOffsetPreview.Font.Style ^ FontStyle.Underline); - break; - case 1 : - if ((cbUnderline.Checked & !lblDataPreview.Font.Underline) || (!cbUnderline.Checked & lblDataPreview.Font.Underline)) - lblDataPreview.Font = new Font(lblDataPreview.Font, lblDataPreview.Font.Style ^ FontStyle.Underline); - break; - } - } else { - MessageService.ShowError("Please select an element first!"); - } - } - - void lstElementsSelectedValueChanged(object sender, EventArgs e) - { - switch (lstElements.SelectedIndex) { - case 0 : - this.cbBold.Checked = Settings.OffsetFont.Bold; - this.cbItalic.Checked = Settings.OffsetFont.Italic; - this.cbUnderline.Checked = Settings.OffsetFont.Underline; - - if (Settings.OffsetForeColor == customFore) { - cmbForeColor.SelectedIndex = 0; - } else { - cmbForeColor.SelectedIndex = cmbForeColor.Items.IndexOf(Settings.OffsetForeColor.Name); - } - break; - case 1 : - this.cbBold.Checked = Settings.DataFont.Bold; - this.cbItalic.Checked = Settings.DataFont.Italic; - this.cbUnderline.Checked = Settings.DataFont.Underline; - - if (Settings.DataForeColor == customFore) { - cmbForeColor.SelectedIndex = 0; - } else { - cmbForeColor.SelectedIndex = cmbForeColor.Items.IndexOf(Settings.DataForeColor.Name); - } - break; - } - } - - void cmbForeColorDropDown(object sender, EventArgs e) - { - fcmanualchange = true; - } - - bool IsNamedColor(Color color) - { - foreach (Color c in Colors) { - if (c.A == color.A) { - if (c.R == color.R) { - if (c.G == color.G) { - if (c.B == color.B) { - return true; - } - } - } - } - } - - return false; - } - - string GetColorName(Color color) - { - if (IsNamedColor(color)) { - foreach (Color c in Colors) { - if (c.A == color.A) { - if (c.R == color.R) { - if (c.G == color.G) { - if (c.B == color.B) { - return c.Name; - } - } - } - } - } - } - return String.Empty; - } - } -} diff --git a/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.xaml b/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.xaml new file mode 100644 index 0000000000..9361e4de75 --- /dev/null +++ b/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.xaml @@ -0,0 +1,65 @@ +<ui:OptionPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:ui="clr-namespace:ICSharpCode.SharpDevelop.Gui;assembly=ICSharpCode.SharpDevelop" + xmlns:widgets="http://icsharpcode.net/sharpdevelop/widgets" + xmlns:sd="http://icsharpcode.net/sharpdevelop/core" + xmlns:local="clr-namespace:HexEditor.Util" + x:Class="HexEditor.View.HexEditOptionsPanel"> + <StackPanel Orientation="Vertical"> + <GroupBox Header="{sd:Localize AddIns.HexEditor.Display}"> + <Grid> + <Grid.RowDefinitions> + <RowDefinition Height="*" /> + <RowDefinition Height="*" /> + <RowDefinition Height="*" /> + <RowDefinition Height="*" /> + <RowDefinition Height="*" /> + <RowDefinition Height="*" /> + </Grid.RowDefinitions> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="2*" /> + <ColumnDefinition Width="2*" /> + <ColumnDefinition Width="3*" /> + </Grid.ColumnDefinitions> + <CheckBox Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2" Margin="0,5,0,0" + Content="{sd:Localize AddIns.HexEditor.SizeToFit}" + IsChecked="{sd:OptionBinding local:Settings.FitToWidth}" /> + <Label Grid.Column="0" Grid.Row="2" Margin="0,5,0,0" + Content="{sd:StringParse ${res:AddIns.HexEditor.DefaultBytesPerLine}:}" /> + <Label Grid.Column="0" Grid.Row="1" Margin="0,5,0,0" + Content="{sd:StringParse ${res:AddIns.HexEditor.NumeralSystem}:}" /> + <widgets:NumericUpDown x:Name="bytesPerLine" Grid.Column="1" Grid.Row="1" + Margin="0,5,0,0" Minimum="1" /> + <ComboBox x:Name="viewModes" Grid.Column="1" Grid.Row="2" Margin="0,5,0,0" + SelectedValue="{sd:OptionBinding local:Settings.ViewMode}" + SelectedValuePath="Value" DisplayMemberPath="Text" /> + <Label Grid.Column="0" Grid.Row="3" Margin="0,5,0,0" + Content="{sd:StringParse ${res:AddIns.HexEditor.Display.Elements.Offset}:}" /> + <ui:ColorPicker x:Name="offsetColorPicker" Grid.Column="1" Grid.Row="3" Margin="0,5,0,0" + Value="{sd:OptionBinding local:Settings.OffsetForeColor}" /> + <Button Grid.Column="2" Grid.Row="3" Margin="5,5,0,0" + x:Name="offsetFontButton" Click="FontChooserClick" /> + <Label Grid.Column="0" Grid.Row="4" Margin="0,5,0,0" + Content="{sd:StringParse ${res:AddIns.HexEditor.Display.Elements.Data}:}" /> + <ui:ColorPicker x:Name="dataColorPicker" Grid.Column="1" Grid.Row="4" Margin="0,5,0,0" + Value="{sd:OptionBinding local:Settings.DataForeColor}" /> + <Button Grid.Column="2" Grid.Row="4" Margin="5,5,0,0" + x:Name="dataFontButton" Click="FontChooserClick" /> + <GroupBox Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="3" Header="{sd:Localize Global.Preview}"> + <StackPanel HorizontalAlignment="Center"> + <TextBlock x:Name="offsetPreview" Text="{sd:Localize AddIns.HexEditor.Display.Elements.Offset}"> + <TextBlock.Foreground> + <SolidColorBrush Color="{Binding Value, ElementName=offsetColorPicker}" /> + </TextBlock.Foreground> + </TextBlock> + <TextBlock x:Name="dataPreview" Text="{sd:Localize AddIns.HexEditor.Display.Elements.Data}"> + <TextBlock.Foreground> + <SolidColorBrush Color="{Binding Value, ElementName=dataColorPicker}" /> + </TextBlock.Foreground> + </TextBlock> + </StackPanel> + </GroupBox> + </Grid> + </GroupBox> + </StackPanel> +</ui:OptionPanel> \ No newline at end of file diff --git a/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.xaml.cs b/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.xaml.cs new file mode 100644 index 0000000000..9577f40f28 --- /dev/null +++ b/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.xaml.cs @@ -0,0 +1,93 @@ +// 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.Collections.Generic; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using HexEditor.Util; +using ICSharpCode.Core; +using ICSharpCode.SharpDevelop.Gui; + +namespace HexEditor.View +{ + /// <summary> + /// Interaction logic for HexEditOptionsPanel.xaml + /// </summary> + public partial class HexEditOptionsPanel : OptionPanel + { + public HexEditOptionsPanel() + { + InitializeComponent(); + viewModes.ItemsSource = new[] { + new { Value = ViewMode.Hexadecimal, + Text = StringParser.Parse("${res:AddIns.HexEditor.NumeralSystem.Hexadecimal}") }, + new { Value = ViewMode.Octal, + Text = StringParser.Parse("${res:AddIns.HexEditor.NumeralSystem.Octal}") }, + new { Value = ViewMode.Decimal, + Text = StringParser.Parse("${res:AddIns.HexEditor.NumeralSystem.Decimal}") } + }; + } + + public override void LoadOptions() + { + base.LoadOptions(); + bytesPerLine.Value = Settings.BytesPerLine; + offsetFontButton.Content = offsetFont = Settings.OffsetFont; + dataFontButton.Content = dataFont = Settings.DataFont; + SetPreview(offsetPreview, offsetFont); + SetPreview(dataPreview, dataFont); + } + + public override bool SaveOptions() + { + Settings.BytesPerLine = (int)bytesPerLine.Value; + Settings.OffsetFont = offsetFont; + Settings.DataFont = dataFont; + return base.SaveOptions(); + } + + System.Drawing.Font offsetFont, dataFont; + + void FontChooserClick(object sender, RoutedEventArgs e) + { + var chooser = new System.Windows.Forms.FontDialog(); + if (sender == offsetFontButton) { + chooser.Font = offsetFont; + } + if (sender == dataFontButton) { + chooser.Font = dataFont; + } + if (chooser.ShowDialog() != System.Windows.Forms.DialogResult.OK) + return; + if (sender == offsetFontButton) { + offsetFont = chooser.Font; + SetPreview(offsetPreview, offsetFont); + offsetFontButton.Content = offsetFont; + } + if (sender == dataFontButton) { + dataFont = chooser.Font; + SetPreview(dataPreview, dataFont); + dataFontButton.Content = dataFont; + } + } + + void SetPreview(TextBlock preview, System.Drawing.Font font) + { + preview.FontFamily = new FontFamily(font.Name); + preview.FontSize = font.Size / 72.0 * 96.0; + if (font.Italic) + preview.FontStyle = FontStyles.Italic; + else + preview.FontStyle = FontStyles.Normal; + if (font.Bold) + preview.FontWeight = FontWeights.Bold; + else + preview.FontWeight = FontWeights.Normal; + } + } +} \ No newline at end of file From 640effe9ec81aa056ee0e6842ce505109fb1c622 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Sat, 13 Aug 2011 23:12:01 +0200 Subject: [PATCH 151/168] rename Gui.ColorPicker to ColorPickerButton --- .../XamlBinding/Options/CodeCompletion.xaml | 87 ++++++++++--------- .../Src/Options/HighlightingOptions.xaml | 16 ++-- .../Project/Src/View/HexEditOptionsPanel.xaml | 6 +- .../Project/ICSharpCode.SharpDevelop.csproj | 6 +- ...olorPicker.xaml => ColorPickerButton.xaml} | 2 +- ...cker.xaml.cs => ColorPickerButton.xaml.cs} | 10 +-- 6 files changed, 64 insertions(+), 63 deletions(-) rename src/Main/Base/Project/Src/Gui/Components/{ColorPicker.xaml => ColorPickerButton.xaml} (88%) rename src/Main/Base/Project/Src/Gui/Components/{ColorPicker.xaml.cs => ColorPickerButton.xaml.cs} (88%) diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/Options/CodeCompletion.xaml b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/Options/CodeCompletion.xaml index 670276cfd7..bdc62784ee 100644 --- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/Options/CodeCompletion.xaml +++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/Options/CodeCompletion.xaml @@ -1,45 +1,46 @@ <gui:OptionPanel x:Class="ICSharpCode.XamlBinding.Options.CodeCompletion" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:gui="clr-namespace:ICSharpCode.SharpDevelop.Gui;assembly=ICSharpCode.SharpDevelop" - xmlns:addin="clr-namespace:ICSharpCode.XamlBinding" - xmlns:sd="http://icsharpcode.net/sharpdevelop/core" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> - <StackPanel> - <GroupBox Header="{sd:Localize AddIns.XamlBinding.Options.CodeCompletionGroupLabel}"> - <StackPanel> - <CheckBox Content="{sd:Localize AddIns.XamlBinding.Options.UseExtensionCompletion}" IsChecked="{sd:OptionBinding addin:XamlBindingOptions.UseExtensionCompletion}" /> - <CheckBox Content="{sd:Localize AddIns.XamlBinding.Options.SwitchToCodeViewAfterInsertion}" IsChecked="{sd:OptionBinding addin:XamlBindingOptions.SwitchToCodeViewAfterInsertion}" /> - <DockPanel> - <Label Content="{sd:Localize AddIns.XamlBinding.Options.EventHandlerNamePattern}" /> - <TextBox Text="{sd:OptionBinding addin:XamlBindingOptions.EventHandlerNamePattern}" /> - </DockPanel> - </StackPanel> - </GroupBox> - <GroupBox Header="{sd:Localize AddIns.XamlBinding.Options.HighlightingGroupLabel}"> - <Grid> - <Grid.RowDefinitions> - <RowDefinition Height="*" /> - <RowDefinition Height="*" /> - <RowDefinition Height="*" /> - <RowDefinition Height="*" /> - <RowDefinition Height="*" /> - <RowDefinition Height="*" /> - </Grid.RowDefinitions> - <Grid.ColumnDefinitions> - <ColumnDefinition Width="*" /> - <ColumnDefinition Width="Auto" /> - </Grid.ColumnDefinitions> - <CheckBox Grid.ColumnSpan="2" Margin="3" Content="{sd:Localize AddIns.XamlBinding.Options.UseHighlighting}" IsChecked="{sd:OptionBinding addin:XamlBindingOptions.UseAdvancedHighlighting}" /> - <TextBlock Grid.ColumnSpan="2" Grid.Row="1" Margin="3" Text="{sd:Localize AddIns.XamlBinding.Options.HighlightingDescription}" TextWrapping="WrapWithOverflow" /> - <Label Grid.Row="2" Content="{sd:Localize AddIns.XamlBinding.Options.PropertyColor}" /> - <Label Grid.Row="3" Content="{sd:Localize AddIns.XamlBinding.Options.EventColor}" /> - <Label Grid.Row="4" Content="{sd:Localize AddIns.XamlBinding.Options.NamespaceDeclarationColor}" /> - <Label Grid.Row="5" Content="{sd:Localize AddIns.XamlBinding.Options.IgnoredElementColor}" /> - <gui:ColorPicker Grid.Row="2" Grid.Column="1" Value="{sd:OptionBinding addin:XamlBindingOptions.PropertyForegroundColor}" /> - <gui:ColorPicker Grid.Row="3" Grid.Column="1" Value="{sd:OptionBinding addin:XamlBindingOptions.EventForegroundColor}" /> - <gui:ColorPicker Grid.Row="4" Grid.Column="1" Value="{sd:OptionBinding addin:XamlBindingOptions.NamespaceDeclarationForegroundColor}" /> - <gui:ColorPicker Grid.Row="5" Grid.Column="1" Value="{sd:OptionBinding addin:XamlBindingOptions.IgnoredForegroundColor}" /> - </Grid> - </GroupBox> - </StackPanel> + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:gui="clr-namespace:ICSharpCode.SharpDevelop.Gui;assembly=ICSharpCode.SharpDevelop" + xmlns:addin="clr-namespace:ICSharpCode.XamlBinding" + xmlns:wd="http://icsharpcode.net/sharpdevelop/widgets" + xmlns:sd="http://icsharpcode.net/sharpdevelop/core" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <StackPanel> + <GroupBox Header="{sd:Localize AddIns.XamlBinding.Options.CodeCompletionGroupLabel}"> + <wd:StackPanelWithSpacing SpaceBetweenItems="5"> + <CheckBox Content="{sd:Localize AddIns.XamlBinding.Options.UseExtensionCompletion}" IsChecked="{sd:OptionBinding addin:XamlBindingOptions.UseExtensionCompletion}" /> + <CheckBox Content="{sd:Localize AddIns.XamlBinding.Options.SwitchToCodeViewAfterInsertion}" IsChecked="{sd:OptionBinding addin:XamlBindingOptions.SwitchToCodeViewAfterInsertion}" /> + <DockPanel> + <Label Content="{sd:Localize AddIns.XamlBinding.Options.EventHandlerNamePattern}" /> + <TextBox Text="{sd:OptionBinding addin:XamlBindingOptions.EventHandlerNamePattern}" /> + </DockPanel> + </wd:StackPanelWithSpacing> + </GroupBox> + <GroupBox Header="{sd:Localize AddIns.XamlBinding.Options.HighlightingGroupLabel}"> + <Grid> + <Grid.RowDefinitions> + <RowDefinition Height="*" /> + <RowDefinition Height="*" /> + <RowDefinition Height="*" /> + <RowDefinition Height="*" /> + <RowDefinition Height="*" /> + <RowDefinition Height="*" /> + </Grid.RowDefinitions> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="Auto" /> + </Grid.ColumnDefinitions> + <CheckBox Grid.ColumnSpan="2" Margin="3" Content="{sd:Localize AddIns.XamlBinding.Options.UseHighlighting}" IsChecked="{sd:OptionBinding addin:XamlBindingOptions.UseAdvancedHighlighting}" /> + <TextBlock Grid.ColumnSpan="2" Grid.Row="1" Margin="3" Text="{sd:Localize AddIns.XamlBinding.Options.HighlightingDescription}" TextWrapping="WrapWithOverflow" /> + <Label Grid.Row="2" Content="{sd:Localize AddIns.XamlBinding.Options.PropertyColor}" /> + <Label Grid.Row="3" Content="{sd:Localize AddIns.XamlBinding.Options.EventColor}" /> + <Label Grid.Row="4" Content="{sd:Localize AddIns.XamlBinding.Options.NamespaceDeclarationColor}" /> + <Label Grid.Row="5" Content="{sd:Localize AddIns.XamlBinding.Options.IgnoredElementColor}" /> + <gui:ColorPickerButton Grid.Row="2" Grid.Column="1" Value="{sd:OptionBinding addin:XamlBindingOptions.PropertyForegroundColor}" /> + <gui:ColorPickerButton Grid.Row="3" Grid.Column="1" Value="{sd:OptionBinding addin:XamlBindingOptions.EventForegroundColor}" /> + <gui:ColorPickerButton Grid.Row="4" Grid.Column="1" Value="{sd:OptionBinding addin:XamlBindingOptions.NamespaceDeclarationForegroundColor}" /> + <gui:ColorPickerButton Grid.Row="5" Grid.Column="1" Value="{sd:OptionBinding addin:XamlBindingOptions.IgnoredForegroundColor}" /> + </Grid> + </GroupBox> + </StackPanel> </gui:OptionPanel> \ No newline at end of file diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Options/HighlightingOptions.xaml b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Options/HighlightingOptions.xaml index e7844a4d98..f8ab41dd0c 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Options/HighlightingOptions.xaml +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Options/HighlightingOptions.xaml @@ -16,17 +16,17 @@ <Label Grid.Column="0" Grid.Row="0" Content="{core:StringParse ${res:Dialog.HighlightingEditor.ColorDlg.Foreground}:}" Visibility="{Binding CanSetBackground, Converter={StaticResource boolToVisibility}}" /> - <gui:ColorPicker Value="{Binding Foreground}" - Text="{Binding UseDefaultForeground, Converter={x:Static local:BooleanToDefaultStringConverter.Instance}}" - Grid.Column="1" Grid.Row="0" - Visibility="{Binding CanSetForeground, Converter={StaticResource boolToVisibility}}" /> + <gui:ColorPickerButton Value="{Binding Foreground}" + Text="{Binding UseDefaultForeground, Converter={x:Static local:BooleanToDefaultStringConverter.Instance}}" + Grid.Column="1" Grid.Row="0" + Visibility="{Binding CanSetForeground, Converter={StaticResource boolToVisibility}}" /> <Label Grid.Column="0" Grid.Row="1" Content="{core:StringParse ${res:Dialog.HighlightingEditor.ColorDlg.Background}:}" Visibility="{Binding CanSetBackground, Converter={StaticResource boolToVisibility}}" /> - <gui:ColorPicker Value="{Binding Background}" - Text="{Binding UseDefaultBackground, Converter={x:Static local:BooleanToDefaultStringConverter.Instance}}" - Grid.Column="1" Grid.Row="1" - Visibility="{Binding CanSetBackground, Converter={StaticResource boolToVisibility}}" /> + <gui:ColorPickerButton Value="{Binding Background}" + Text="{Binding UseDefaultBackground, Converter={x:Static local:BooleanToDefaultStringConverter.Instance}}" + Grid.Column="1" Grid.Row="1" + Visibility="{Binding CanSetBackground, Converter={StaticResource boolToVisibility}}" /> </Grid> <CheckBox IsEnabled="{Binding CanSetFont}" IsChecked="{Binding Bold}" Content="{core:Localize Dialog.HighlightingEditor.ColorDlg.Bold}"/> diff --git a/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.xaml b/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.xaml index 9361e4de75..19cf5e808a 100644 --- a/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.xaml +++ b/src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditOptionsPanel.xaml @@ -1,4 +1,4 @@ -<ui:OptionPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" +<ui:OptionPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ui="clr-namespace:ICSharpCode.SharpDevelop.Gui;assembly=ICSharpCode.SharpDevelop" xmlns:widgets="http://icsharpcode.net/sharpdevelop/widgets" @@ -35,13 +35,13 @@ SelectedValuePath="Value" DisplayMemberPath="Text" /> <Label Grid.Column="0" Grid.Row="3" Margin="0,5,0,0" Content="{sd:StringParse ${res:AddIns.HexEditor.Display.Elements.Offset}:}" /> - <ui:ColorPicker x:Name="offsetColorPicker" Grid.Column="1" Grid.Row="3" Margin="0,5,0,0" + <ui:ColorPickerButton x:Name="offsetColorPicker" Grid.Column="1" Grid.Row="3" Margin="0,5,0,0" Value="{sd:OptionBinding local:Settings.OffsetForeColor}" /> <Button Grid.Column="2" Grid.Row="3" Margin="5,5,0,0" x:Name="offsetFontButton" Click="FontChooserClick" /> <Label Grid.Column="0" Grid.Row="4" Margin="0,5,0,0" Content="{sd:StringParse ${res:AddIns.HexEditor.Display.Elements.Data}:}" /> - <ui:ColorPicker x:Name="dataColorPicker" Grid.Column="1" Grid.Row="4" Margin="0,5,0,0" + <ui:ColorPickerButton x:Name="dataColorPicker" Grid.Column="1" Grid.Row="4" Margin="0,5,0,0" Value="{sd:OptionBinding local:Settings.DataForeColor}" /> <Button Grid.Column="2" Grid.Row="4" Margin="5,5,0,0" x:Name="dataFontButton" Click="FontChooserClick" /> diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index b6224e4230..4f11f0e7dc 100644 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -189,8 +189,8 @@ <SubType>Code</SubType> </Compile> <Compile Include="Src\Gui\BrowserDisplayBinding\BrowserDisplayBinding.cs" /> - <Compile Include="Src\Gui\Components\ColorPicker.xaml.cs"> - <DependentUpon>ColorPicker.xaml</DependentUpon> + <Compile Include="Src\Gui\Components\ColorPickerButton.xaml.cs"> + <DependentUpon>ColorPickerButton.xaml</DependentUpon> <SubType>Code</SubType> </Compile> <Compile Include="Src\Gui\Components\LocalizedPropertyGrid\StringParserPropertyContainer.cs" /> @@ -881,7 +881,7 @@ <Private>False</Private> </ProjectReference> <Page Include="Src\Gui\App.xaml" /> - <Page Include="Src\Gui\Components\ColorPicker.xaml" /> + <Page Include="Src\Gui\Components\ColorPickerButton.xaml" /> <Page Include="Src\Gui\Dialogs\GotoDialog.xaml"> <DependentUpon>GotoDialog.cs</DependentUpon> </Page> diff --git a/src/Main/Base/Project/Src/Gui/Components/ColorPicker.xaml b/src/Main/Base/Project/Src/Gui/Components/ColorPickerButton.xaml similarity index 88% rename from src/Main/Base/Project/Src/Gui/Components/ColorPicker.xaml rename to src/Main/Base/Project/Src/Gui/Components/ColorPickerButton.xaml index f213f648d2..3f3244cb42 100644 --- a/src/Main/Base/Project/Src/Gui/Components/ColorPicker.xaml +++ b/src/Main/Base/Project/Src/Gui/Components/ColorPickerButton.xaml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <UserControl - x:Class="ICSharpCode.SharpDevelop.Gui.ColorPicker" + x:Class="ICSharpCode.SharpDevelop.Gui.ColorPickerButton" x:Name="colorPicker" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:ICSharpCode.SharpDevelop.Gui"> <Button Name="button" diff --git a/src/Main/Base/Project/Src/Gui/Components/ColorPicker.xaml.cs b/src/Main/Base/Project/Src/Gui/Components/ColorPickerButton.xaml.cs similarity index 88% rename from src/Main/Base/Project/Src/Gui/Components/ColorPicker.xaml.cs rename to src/Main/Base/Project/Src/Gui/Components/ColorPickerButton.xaml.cs index 313c7c1690..9c04bd38ff 100644 --- a/src/Main/Base/Project/Src/Gui/Components/ColorPicker.xaml.cs +++ b/src/Main/Base/Project/Src/Gui/Components/ColorPickerButton.xaml.cs @@ -15,10 +15,10 @@ namespace ICSharpCode.SharpDevelop.Gui /// <summary> /// A user control for choosing a color. /// </summary> - public partial class ColorPicker : UserControl + public partial class ColorPickerButton : UserControl { public static readonly DependencyProperty ValueProperty = - DependencyProperty.Register("Value", typeof(Color), typeof(ColorPicker), new FrameworkPropertyMetadata(new Color(), FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, OnValueChanged)); + DependencyProperty.Register("Value", typeof(Color), typeof(ColorPickerButton), new FrameworkPropertyMetadata(new Color(), FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, OnValueChanged)); public Color Value { get { return (Color)GetValue(ValueProperty); } @@ -26,7 +26,7 @@ namespace ICSharpCode.SharpDevelop.Gui } public static readonly DependencyProperty TextProperty = - DependencyProperty.Register("Text", typeof(string), typeof(ColorPicker), + DependencyProperty.Register("Text", typeof(string), typeof(ColorPickerButton), new FrameworkPropertyMetadata(OnValueChanged)); public string Text { @@ -36,7 +36,7 @@ namespace ICSharpCode.SharpDevelop.Gui static void OnValueChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e) { - ColorPicker picker = obj as ColorPicker; + ColorPickerButton picker = obj as ColorPickerButton; if (picker != null) { Color color = picker.Value; picker.border.Background = new SolidColorBrush(color); @@ -52,7 +52,7 @@ namespace ICSharpCode.SharpDevelop.Gui } } - public ColorPicker() + public ColorPickerButton() { InitializeComponent(); } From d6ee391dba827d55dbbca459f7ac0452c5edb208 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Sat, 13 Aug 2011 23:12:21 +0200 Subject: [PATCH 152/168] update resources --- data/resources/StringResources.de.resx | 9 +++++++++ data/resources/StringResources.nl.resx | 5 ++++- data/resources/StringResources.pt.resx | 12 ++++++++++++ data/resources/StringResources.resx | 14 ++++++++++---- 4 files changed, 35 insertions(+), 5 deletions(-) diff --git a/data/resources/StringResources.de.resx b/data/resources/StringResources.de.resx index fe78bc0ace..fdca0823fa 100644 --- a/data/resources/StringResources.de.resx +++ b/data/resources/StringResources.de.resx @@ -298,6 +298,15 @@ Laden Sie ein AddIn aus dem Internet herunter, klicken Sie auf "AddIn installier <data name="AddIns.HexEditor.NumeralSystem" xml:space="preserve"> <value>Zahlensystem</value> </data> + <data name="AddIns.HexEditor.NumeralSystem.Decimal" xml:space="preserve"> + <value>Dezimal</value> + </data> + <data name="AddIns.HexEditor.NumeralSystem.Hexadecimal" xml:space="preserve"> + <value>Hexadezimal</value> + </data> + <data name="AddIns.HexEditor.NumeralSystem.Octal" xml:space="preserve"> + <value>Oktal</value> + </data> <data name="AddIns.HexEditor.SizeToFit" xml:space="preserve"> <value>Größe an aktuelle Breite anpassen</value> </data> diff --git a/data/resources/StringResources.nl.resx b/data/resources/StringResources.nl.resx index 5e26b31fbc..5a9107c64e 100644 --- a/data/resources/StringResources.nl.resx +++ b/data/resources/StringResources.nl.resx @@ -4286,7 +4286,7 @@ Noot: Dit beïnvloed eigen aangepaste opmaak niet.</value> <value>${CurrentMethodNumber} van ${NumberOfTotalMethods}</value> </data> <data name="ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.TextEditorDisplayBinding.FileAlteredMessage" xml:space="preserve"> - <value>Bestand ${File} is extern gewijzigd. Wilt u deze opnieuw laden?</value> + <value>Bestand ${File} is extern gewijzigd. Wilt u het herladen?</value> </data> <data name="ICSharpCode.SharpDevelop.DefaultEditor.IncrementalSearch.ForwardsSearchStatusBarMessage" xml:space="preserve"> <value>Aanvullend zoeken:</value> @@ -4810,6 +4810,9 @@ Alleen letters, getallen, spatie, '.' of '_' zijn toegestaan.</value> <data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve"> <value>Oplossing opnieuw laden</value> </data> + <data name="ICSharpCode.SharpDevelop.Project.SolutionAlteredExternallyMessage" xml:space="preserve"> + <value>De oplossing is extern gewijzigd.</value> + </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeCompilerVersionLabel" xml:space="preserve"> <value>Converteer geselecteerde &projecten naar</value> </data> diff --git a/data/resources/StringResources.pt.resx b/data/resources/StringResources.pt.resx index c941440833..e84ce7f4d7 100644 --- a/data/resources/StringResources.pt.resx +++ b/data/resources/StringResources.pt.resx @@ -479,12 +479,24 @@ Precisa de instalar o .NET Framework SDK para utilizar o sistema de ajuda.</valu <data name="AddIns.Profiler.DatabaseTooNewError" xml:space="preserve"> <value>O perfil de sessão SharpDevelop seleccionado foi criado por uma versão mais recente de SharpDevelop e assim não pode ser aberto.</value> </data> + <data name="AddIns.Profiler.FileExtensionDescription" xml:space="preserve"> + <value>Sessão de Profiling SharpDevelop</value> + </data> <data name="AddIns.Profiler.Messages.FileNotFound" xml:space="preserve"> <value>Este projecto não pode ser iniciado porque o ficheiro executável não foi encontrado, assegure-se, por favor,de que o projecto e todas as suas dependências são construídas correctamente!</value> </data> <data name="AddIns.Profiler.Messages.NoStartableProjectFound" xml:space="preserve"> <value>Nenhum projecto iniciável foi encontrado. Abortar...</value> </data> + <data name="AddIns.Profiler.Messages.NoStartableProjectWantToProfileStartupProject" xml:space="preserve"> + <value>Este projecto não pode ser iniciado. Deseja obter perfil da solução do projecto StartUp em seu lugar?</value> + </data> + <data name="AddIns.Profiler.Messages.PreparingForAnalysis" xml:space="preserve"> + <value>A preparar a análise ...</value> + </data> + <data name="AddIns.Profiler.Messages.RegisterFailed" xml:space="preserve"> + <value>Não foi registado o perfilador no COM Registry. Não é possível começar a obter perfil!</value> + </data> <data name="AddIns.Profiler.ProfilingView.CpuCyclesText" xml:space="preserve"> <value>Ciclos CPU:</value> </data> diff --git a/data/resources/StringResources.resx b/data/resources/StringResources.resx index ca42b8644b..c74f7076e5 100644 --- a/data/resources/StringResources.resx +++ b/data/resources/StringResources.resx @@ -298,6 +298,15 @@ Download an AddIn from the Internet, then click 'Install AddIn' and choose the d <data name="AddIns.HexEditor.NumeralSystem" xml:space="preserve"> <value>Numeral system</value> </data> + <data name="AddIns.HexEditor.NumeralSystem.Decimal" xml:space="preserve"> + <value>Decimal</value> + </data> + <data name="AddIns.HexEditor.NumeralSystem.Hexadecimal" xml:space="preserve"> + <value>Hexadecimal</value> + </data> + <data name="AddIns.HexEditor.NumeralSystem.Octal" xml:space="preserve"> + <value>Octal</value> + </data> <data name="AddIns.HexEditor.SizeToFit" xml:space="preserve"> <value>Resize to fit current width</value> </data> @@ -4932,7 +4941,7 @@ Goto 'Options->Visual Style' and change the current language ambience.</value <value>ASP.NET/IIS (Express) worker process ({0}) was not found.</value> </data> <data name="ICSharpCode.WepProjectOptionsPanel.NoProjectUrlOrProgramAction" xml:space="preserve"> - <value>There's no Project Url specified or external program. Check the web server at Project Properties -> Debug tab.</value> + <value>There's no Project Url specified or external program. Check the web server at Project Properties -&gt; Debug tab.</value> </data> <data name="ICSharpCode.WepProjectOptionsPanel.Port" xml:space="preserve"> <value>Server port:</value> @@ -7600,9 +7609,6 @@ The resources files have been renamed/moved accordingly.</value> <data name="XML.MainMenu.DebugMenu.RunWithoutDebug.Description" xml:space="preserve"> <value>Runs the program without attached debugger.</value> </data> - <data name="XML.MainMenu.DebugMenu.RunLastBuild" xml:space="preserve"> - <value>Run last build</value> - </data> <data name="XML.MainMenu.DebugMenu.StepInto" xml:space="preserve"> <value>Step into</value> </data> From b6c6535da2719541acd45138ffca7aa7c4558314 Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Sun, 14 Aug 2011 21:47:52 +0200 Subject: [PATCH 153/168] fix SD-1269 - Ask to close debugger (or not) while it's running - http://bugtracker.sharpdevelop.net/issue/ViewIssue.aspx?id=1269&PROJID=4 --- data/resources/StringResources.resx | 3 ++ .../Project/Src/Commands/FileMenuCommands.cs | 8 ++-- .../Project/Src/Gui/Workbench/WpfWorkbench.cs | 41 +++++++++-------- .../Project/Src/Gui/WorkbenchSingleton.cs | 18 ++++---- .../Src/Services/Debugger/DebuggerService.cs | 25 +++++++++++ .../Services/ProjectService/ProjectService.cs | 45 ++++++++++++++++++- 6 files changed, 109 insertions(+), 31 deletions(-) diff --git a/data/resources/StringResources.resx b/data/resources/StringResources.resx index c74f7076e5..eacd6cda13 100644 --- a/data/resources/StringResources.resx +++ b/data/resources/StringResources.resx @@ -5862,6 +5862,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <data name="MainWindow.Windows.Debug.Watch.RemoveWatch" xml:space="preserve"> <value>Remove watch</value> </data> + <data name="MainWindow.Windows.Debug.StopDebugging.Message" xml:space="preserve"> + <value>Do you want to stop debugging?</value> + </data> <data name="MainWindow.Windows.DefinitionViewLabel" xml:space="preserve"> <value>Definition View</value> </data> diff --git a/src/Main/Base/Project/Src/Commands/FileMenuCommands.cs b/src/Main/Base/Project/Src/Commands/FileMenuCommands.cs index f5e0bb27d3..17737ec7da 100644 --- a/src/Main/Base/Project/Src/Commands/FileMenuCommands.cs +++ b/src/Main/Base/Project/Src/Commands/FileMenuCommands.cs @@ -39,9 +39,11 @@ namespace ICSharpCode.SharpDevelop.Project.Commands { public override void Run() { - ProjectService.SaveSolutionPreferences(); - if (WorkbenchSingleton.Workbench.CloseAllSolutionViews()) { - ProjectService.CloseSolution(); + if (!ProjectService.IsClosingCanceled()) { + ProjectService.SaveSolutionPreferences(); + if (WorkbenchSingleton.Workbench.CloseAllSolutionViews()) { + ProjectService.CloseSolution(); + } } } } diff --git a/src/Main/Base/Project/Src/Gui/Workbench/WpfWorkbench.cs b/src/Main/Base/Project/Src/Gui/Workbench/WpfWorkbench.cs index 6207ba9ce0..fec29a1026 100644 --- a/src/Main/Base/Project/Src/Gui/Workbench/WpfWorkbench.cs +++ b/src/Main/Base/Project/Src/Gui/Workbench/WpfWorkbench.cs @@ -573,25 +573,30 @@ namespace ICSharpCode.SharpDevelop.Gui return; } - Project.ProjectService.SaveSolutionPreferences(); - - while (WorkbenchSingleton.Workbench.WorkbenchWindowCollection.Count > 0) { - IWorkbenchWindow window = WorkbenchSingleton.Workbench.WorkbenchWindowCollection[0]; - if (!window.CloseWindow(false)) { - e.Cancel = true; - return; + if (!Project.ProjectService.IsClosingCanceled()) { + // save preferences + Project.ProjectService.SaveSolutionPreferences(); + + while (WorkbenchSingleton.Workbench.WorkbenchWindowCollection.Count > 0) { + IWorkbenchWindow window = WorkbenchSingleton.Workbench.WorkbenchWindowCollection[0]; + if (!window.CloseWindow(false)) { + e.Cancel = true; + return; + } } - } - - Project.ProjectService.CloseSolution(); - ParserService.StopParserThread(); - - restoreBoundsBeforeClosing = this.RestoreBounds; - - this.WorkbenchLayout = null; - - foreach (PadDescriptor padDescriptor in this.PadContentCollection) { - padDescriptor.Dispose(); + + Project.ProjectService.CloseSolution(); + ParserService.StopParserThread(); + + restoreBoundsBeforeClosing = this.RestoreBounds; + + this.WorkbenchLayout = null; + + foreach (PadDescriptor padDescriptor in this.PadContentCollection) { + padDescriptor.Dispose(); + } + } else { + e.Cancel = true; } } } diff --git a/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs b/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs index 8c6c9d95aa..98bad4e52f 100644 --- a/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs +++ b/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs @@ -114,14 +114,16 @@ namespace ICSharpCode.SharpDevelop.Gui /// </summary> public static void OnWorkbenchUnloaded() { - Project.ProjectService.CloseSolution(); - NavigationService.Unload(); - - ApplicationStateInfoService.UnregisterStateGetter(activeContentState); - - WorkbenchUnloaded(null, EventArgs.Empty); - - FileService.Unload(); + if (!Project.ProjectService.IsClosingCanceled()) { + Project.ProjectService.CloseSolution(); + NavigationService.Unload(); + + ApplicationStateInfoService.UnregisterStateGetter(activeContentState); + + WorkbenchUnloaded(null, EventArgs.Empty); + + FileService.Unload(); + } } #region Safe Thread Caller diff --git a/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs b/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs index 55c60abe1d..e621d60987 100644 --- a/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs +++ b/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs @@ -28,6 +28,8 @@ namespace ICSharpCode.SharpDevelop.Debugging ClearDebugMessages(); }; + ProjectService.BeforeSolutionClosing += OnBeforeSolutionClosing; + BookmarkManager.Added += BookmarkAdded; BookmarkManager.Removed += BookmarkRemoved; } @@ -222,6 +224,29 @@ namespace ICSharpCode.SharpDevelop.Debugging } } + static void OnBeforeSolutionClosing(object sender, SolutionCancelEventArgs e) + { + if (currentDebugger == null) + return; + + if (currentDebugger.IsDebugging) { + string caption = StringParser.Parse("${res:XML.MainMenu.DebugMenu.Stop}"); + string message = StringParser.Parse("${res:MainWindow.Windows.Debug.StopDebugging.Message}"); + string[] buttonLabels = new string[] { StringParser.Parse("${res:Global.Yes}"), StringParser.Parse("${res:Global.No}") }; + int result = MessageService.ShowCustomDialog(caption, + message, + 0, // yes + 1, // no + buttonLabels); + + if (result == 0) { + currentDebugger.Stop(); + } else { + e.Cancel = true; + } + } + } + public static void ToggleBreakpointAt(ITextEditor editor, int lineNumber) { BookmarkManager.ToggleBookmark( diff --git a/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs b/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs index b0c378655b..b506a6eb1d 100644 --- a/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs +++ b/src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs @@ -242,7 +242,7 @@ namespace ICSharpCode.SharpDevelop.Project static void BeforeLoadSolution() { - if (openSolution != null) { + if (openSolution != null && !IsClosingCanceled()) { SaveSolutionPreferences(); WorkbenchSingleton.Workbench.CloseAllViews(); CloseSolution(); @@ -258,6 +258,10 @@ namespace ICSharpCode.SharpDevelop.Project { if (!Path.IsPathRooted(fileName)) throw new ArgumentException("Path must be rooted!"); + + if (IsClosingCanceled()) + return; + BeforeLoadSolution(); OnSolutionLoading(fileName); try { @@ -500,7 +504,28 @@ namespace ICSharpCode.SharpDevelop.Project } } - public static void CloseSolution() + /// <summary> + /// Executes the OnBeforeSolutionClosing event. + /// </summary> + /// <remarks>This method must be used after CloseSolution is called.</remarks> + /// <returns><c>true</c>, if closing solution was canceled; <c>false</c>, otherwise.</returns> + internal static bool IsClosingCanceled() + { + // run onbefore closing + var beforeClosingArgs = new SolutionCancelEventArgs(openSolution); + OnBeforeSolutionClosing(beforeClosingArgs); + + return beforeClosingArgs.Cancel; + } + + /// <summary> + /// Closes the solution: cancels build, clears solution data, fires the SolutionClosing and SolutionClosed events. + /// <remarks> + /// Before invoking this method, one should check if the closing was canceled (<see cref="IsClosingCanceled"/>), + /// save solution and project data (e.g. files, bookmarks), then invoke CloseSolution(). + /// </remarks> + /// </summary> + internal static void CloseSolution() { // If a build is running, cancel it. // If we would let a build run but unload the MSBuild projects, the next project.StartBuild call @@ -541,6 +566,13 @@ namespace ICSharpCode.SharpDevelop.Project } } + static void OnBeforeSolutionClosing(SolutionCancelEventArgs e) + { + if (BeforeSolutionClosing != null) { + BeforeSolutionClosing(null, e); + } + } + static void OnSolutionLoading(string fileName) { if (SolutionLoading != null) { @@ -714,6 +746,15 @@ namespace ICSharpCode.SharpDevelop.Project public static event EventHandler<SolutionEventArgs> SolutionClosing; public static event EventHandler SolutionClosed; + /// <summary> + /// Raised before SolutionClosing. + /// <remarks> + /// When one modifies the e.Cancel property, should have in mind that other consumers might want to cancel the closing.<br/> + /// Setting e.Cancel = false might override other consumers (if they exist) e.Cancel = true, and might break other functionalities. + /// </remarks> + /// </summary> + public static event EventHandler<SolutionCancelEventArgs> BeforeSolutionClosing; + /// <summary> /// Raised before the solution preferences are being saved. Allows you to save /// your additional properties in the solution preferences. From 7b04a31e22a4b6d4365afac45f4ad7fcb539c057 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Sun, 14 Aug 2011 11:06:49 +0200 Subject: [PATCH 154/168] update resources; introduce Global.TextLine --- data/resources/StringResources.cz.resx | 9 ++---- data/resources/StringResources.de.resx | 9 ++---- data/resources/StringResources.es-mx.resx | 31 ++++++++++++------- data/resources/StringResources.es.resx | 31 ++++++++++++------- data/resources/StringResources.fr.resx | 12 ++----- data/resources/StringResources.it.resx | 12 ++----- data/resources/StringResources.kr.resx | 9 ++---- data/resources/StringResources.nl.resx | 21 +++++++------ data/resources/StringResources.no.resx | 9 ++---- data/resources/StringResources.pl.resx | 9 ++---- data/resources/StringResources.pt-br.resx | 9 ++---- data/resources/StringResources.pt.resx | 9 ++---- data/resources/StringResources.resx | 12 ++----- data/resources/StringResources.ru.resx | 9 ++---- data/resources/StringResources.tr.resx | 9 ++---- .../Project/Src/CodeCoverageControl.cs | 2 +- .../Debugger.AddIn/Pads/CallStackPad.xaml | 2 +- .../Project/Src/XPathQueryControl.cs | 2 +- .../Project/Src/Gui/Pads/TaskList/TaskView.cs | 2 +- 19 files changed, 92 insertions(+), 116 deletions(-) diff --git a/data/resources/StringResources.cz.resx b/data/resources/StringResources.cz.resx index beb30ead66..1face74cb4 100644 --- a/data/resources/StringResources.cz.resx +++ b/data/resources/StringResources.cz.resx @@ -574,9 +574,6 @@ SharpDevelop může sledovat využívání jednotlivých funkcí a informace aut <data name="CompilerResultView.FileText" xml:space="preserve"> <value>Soubor</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>Řádek</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>O Inspektoru</value> </data> @@ -2983,6 +2980,9 @@ Můžete se také rozhodnout, že všechny volby budou uloženy ve vlastním .us <data name="Global.StartButtonText" xml:space="preserve"> <value>Start</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>Řádek</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>Akt&ualizovat</value> </data> @@ -3250,9 +3250,6 @@ Můžete se také rozhodnout, že všechny volby budou uloženy ve vlastním .us <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>Koncový řádek</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>Řádek</value> - </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>Nemohu najít konzolovou aplikaci NCover. diff --git a/data/resources/StringResources.de.resx b/data/resources/StringResources.de.resx index fdca0823fa..53ccae4c4c 100644 --- a/data/resources/StringResources.de.resx +++ b/data/resources/StringResources.de.resx @@ -977,9 +977,6 @@ Ein Ausführungskommando kann in den Projektoptionen eingestellt werden.</value> <data name="CompilerResultView.FileText" xml:space="preserve"> <value>Datei</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>Zeile</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>Info</value> </data> @@ -3481,6 +3478,9 @@ Sie können die Einstellungen auch in einer .user-Datei anstelle der Projektdate <data name="Global.StartButtonText" xml:space="preserve"> <value>Start</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>Zeile</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>Akt&ualisieren</value> </data> @@ -3758,9 +3758,6 @@ Bitte einen anderen Dateinamen wählen.</value> <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>Endzeile</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>Zeile</value> - </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>Kann die NCover Konsolenanwendung nicht finden. diff --git a/data/resources/StringResources.es-mx.resx b/data/resources/StringResources.es-mx.resx index 3c09be7212..fd41512f3c 100644 --- a/data/resources/StringResources.es-mx.resx +++ b/data/resources/StringResources.es-mx.resx @@ -298,6 +298,15 @@ Descargue un complemento de Internet, luego haga clic en "Instalar AddIn" y sele <data name="AddIns.HexEditor.NumeralSystem" xml:space="preserve"> <value>Sistema numérico</value> </data> + <data name="AddIns.HexEditor.NumeralSystem.Decimal" xml:space="preserve"> + <value>Decimal</value> + </data> + <data name="AddIns.HexEditor.NumeralSystem.Hexadecimal" xml:space="preserve"> + <value>Hexadecimal</value> + </data> + <data name="AddIns.HexEditor.NumeralSystem.Octal" xml:space="preserve"> + <value>Octal</value> + </data> <data name="AddIns.HexEditor.SizeToFit" xml:space="preserve"> <value>Ajustar al ancho actual</value> </data> @@ -969,9 +978,6 @@ SharpDevelop puede obtener esta información y enviarla automáticamente. <data name="CompilerResultView.FileText" xml:space="preserve"> <value>Archivo</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>Línea</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>Acerca de</value> </data> @@ -2978,7 +2984,7 @@ Adicionalmente, se le puede asignar a una extensión un conjunto de reglas defin <value>Procesador Intel Itanium de 64-bits</value> </data> <data name="Dialog.ProjectOptions.Build.TargetCPU.x64" xml:space="preserve"> - <value>Procesador AMD de 64-bits</value> + <value>Procesador x86-64</value> </data> <data name="Dialog.ProjectOptions.Build.TargetCPU.x86" xml:space="preserve"> <value>Procesador Intel-compatible de 32-bits</value> @@ -3492,6 +3498,9 @@ También puede elegir guardar la opción en el archivo .user en lugar de en el a <data name="Global.StartButtonText" xml:space="preserve"> <value>Iniciar</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>Línea</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>&Actualizar</value> </data> @@ -3768,9 +3777,6 @@ También puede elegir guardar la opción en el archivo .user en lugar de en el a <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>Línea Final</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>Línea</value> - </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>Si NCover está instalado, por favor especifique la ubicación de la aplicación en las opciones de Cobertura de Código.</value> </data> @@ -4287,7 +4293,7 @@ Por favor configure la ubicación del archivo ejecutable de NAnt en las opciones <data name="ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.TextEditorDisplayBinding.FileAlteredMessage" xml:space="preserve"> <value>El archivo ${File} -ha sido cambiado de manera externa, ¿desea recargarlo?</value> +ha sido cambiado de manera externa. ¿Desea recargarlo?</value> </data> <data name="ICSharpCode.SharpDevelop.DefaultEditor.IncrementalSearch.ForwardsSearchStatusBarMessage" xml:space="preserve"> <value>Búsqueda Incremental:</value> @@ -4812,6 +4818,9 @@ Utilice solamente letras, dígitos, espacio, '.' ó '_'.</value> <data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve"> <value>Recargar solución</value> </data> + <data name="ICSharpCode.SharpDevelop.Project.SolutionAlteredExternallyMessage" xml:space="preserve"> + <value>La solución ha sido cambiada externamente.</value> + </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeCompilerVersionLabel" xml:space="preserve"> <value>Convertir &proyectos seleccionados a:</value> </data> @@ -5532,9 +5541,6 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <data name="MainWindow.Windows.Debug.CallStack.Language" xml:space="preserve"> <value>Lenguaje</value> </data> - <data name="MainWindow.Windows.Debug.CallStack.LineString" xml:space="preserve"> - <value>Línea</value> - </data> <data name="MainWindow.Windows.Debug.CallStack.Module" xml:space="preserve"> <value>Módulo</value> </data> @@ -7576,6 +7582,9 @@ Los archivos de recursos han sido renombrados/movidos convenientemente.</value> <data name="XML.MainMenu.DebugMenu.RemoveAllBreakpoints" xml:space="preserve"> <value>Eliminar todos los puntos de interrupción</value> </data> + <data name="XML.MainMenu.DebugMenu.RunLastBuild" xml:space="preserve"> + <value>Ejecutar último build</value> + </data> <data name="XML.MainMenu.DebugMenu.RunWithoutDebug" xml:space="preserve"> <value>Ejecutar &sin depurador</value> </data> diff --git a/data/resources/StringResources.es.resx b/data/resources/StringResources.es.resx index af43ffb47c..94be487eac 100644 --- a/data/resources/StringResources.es.resx +++ b/data/resources/StringResources.es.resx @@ -298,6 +298,15 @@ Descargue un complemento de Internet, luego haga clic en 'Instalar Complemento' <data name="AddIns.HexEditor.NumeralSystem" xml:space="preserve"> <value>Sistema numérico</value> </data> + <data name="AddIns.HexEditor.NumeralSystem.Decimal" xml:space="preserve"> + <value>Decimal</value> + </data> + <data name="AddIns.HexEditor.NumeralSystem.Hexadecimal" xml:space="preserve"> + <value>Hexadecimal</value> + </data> + <data name="AddIns.HexEditor.NumeralSystem.Octal" xml:space="preserve"> + <value>Octal</value> + </data> <data name="AddIns.HexEditor.SizeToFit" xml:space="preserve"> <value>Ajustar al ancho actual</value> </data> @@ -967,9 +976,6 @@ SharpDevelop puede obtener esta información y enviarla automáticamente.</value <data name="CompilerResultView.FileText" xml:space="preserve"> <value>Archivo</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>Línea</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>Acerca de</value> </data> @@ -2975,7 +2981,7 @@ Adicionalmente, se le puede asignar a una extensión un conjunto de reglas defin <value>Procesador Intel Itanium de 64 bits</value> </data> <data name="Dialog.ProjectOptions.Build.TargetCPU.x64" xml:space="preserve"> - <value>Procesador AMD de 64 bits</value> + <value>Procesador x86-64</value> </data> <data name="Dialog.ProjectOptions.Build.TargetCPU.x86" xml:space="preserve"> <value>procesador compatible con un Intel de 32 bits</value> @@ -3493,6 +3499,9 @@ También puede escoger almacenar el parámetro de configuración en el archivo . <data name="Global.StartButtonText" xml:space="preserve"> <value>Empezar</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>Línea</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>&Actualizar</value> </data> @@ -3769,9 +3778,6 @@ También puede escoger almacenar el parámetro de configuración en el archivo . <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>Línea Final</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>Línea</value> - </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>Si NCover está instalado, por favor especifique la ubicación de la aplicación en las opciones de Cobertura de Código.</value> </data> @@ -4289,7 +4295,7 @@ Se perderán todos los cambios.</value> <data name="ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.TextEditorDisplayBinding.FileAlteredMessage" xml:space="preserve"> <value>El archivo ${File} -ha sido modificado externamente, ¿desea volver a cargarlo?</value> +ha sido modificado externamente. ¿Desea volver a cargarlo?</value> </data> <data name="ICSharpCode.SharpDevelop.DefaultEditor.IncrementalSearch.ForwardsSearchStatusBarMessage" xml:space="preserve"> <value>Búsqueda Incremental:</value> @@ -4815,6 +4821,9 @@ Solamente letras, dígitos, espacio, '.' o '_' son permitidos.</value> <data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve"> <value>Recargar solución</value> </data> + <data name="ICSharpCode.SharpDevelop.Project.SolutionAlteredExternallyMessage" xml:space="preserve"> + <value>La solución ha sido cambiada externamente.</value> + </data> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeCompilerVersionLabel" xml:space="preserve"> <value>Convertir &proyectos seleccionados a:</value> </data> @@ -5536,9 +5545,6 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <data name="MainWindow.Windows.Debug.CallStack.Language" xml:space="preserve"> <value>Lenguaje</value> </data> - <data name="MainWindow.Windows.Debug.CallStack.LineString" xml:space="preserve"> - <value>Línea</value> - </data> <data name="MainWindow.Windows.Debug.CallStack.Module" xml:space="preserve"> <value>Módulo</value> </data> @@ -7581,6 +7587,9 @@ Los archivos de recursos han sido renombrados o cambiados de ubicación de acuer <data name="XML.MainMenu.DebugMenu.RemoveAllBreakpoints" xml:space="preserve"> <value>Eliminar todos los puntos de interrupción</value> </data> + <data name="XML.MainMenu.DebugMenu.RunLastBuild" xml:space="preserve"> + <value>Ejecutar último build</value> + </data> <data name="XML.MainMenu.DebugMenu.RunWithoutDebug" xml:space="preserve"> <value>Ejecutar &sin depurador</value> </data> diff --git a/data/resources/StringResources.fr.resx b/data/resources/StringResources.fr.resx index 44730e6f67..6a1a0f7203 100644 --- a/data/resources/StringResources.fr.resx +++ b/data/resources/StringResources.fr.resx @@ -966,9 +966,6 @@ Sauvegardez ces fichiers avant de déclencher l'opération.</value> <data name="CompilerResultView.FileText" xml:space="preserve"> <value>Fichier</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>Ligne</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>A propos</value> </data> @@ -3488,6 +3485,9 @@ Vous pouvez aussi choisir de stocker la configuration dans le fichier .user-file <data name="Global.StartButtonText" xml:space="preserve"> <value>Démarrer</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>Ligne</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>Mettre à jo&ur</value> </data> @@ -3764,9 +3764,6 @@ Vous pouvez aussi choisir de stocker la configuration dans le fichier .user-file <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>Fin de ligne</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>Ligne</value> - </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>Impossible de localiser l'application console NCover. @@ -5528,9 +5525,6 @@ Soit ils n'existent pas, soit le document Wix n'est pas pour WiX 3.0 et l'espace <data name="MainWindow.Windows.Debug.CallStack.Language" xml:space="preserve"> <value>Langage</value> </data> - <data name="MainWindow.Windows.Debug.CallStack.LineString" xml:space="preserve"> - <value>Ligne</value> - </data> <data name="MainWindow.Windows.Debug.CallStack.Module" xml:space="preserve"> <value>Module</value> </data> diff --git a/data/resources/StringResources.it.resx b/data/resources/StringResources.it.resx index edd2019d6a..f42c8f0fa6 100644 --- a/data/resources/StringResources.it.resx +++ b/data/resources/StringResources.it.resx @@ -966,9 +966,6 @@ Salva questi file prima di eseguire l'operazione.</value> <data name="CompilerResultView.FileText" xml:space="preserve"> <value>File</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>Linea</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>Informazioni su</value> </data> @@ -3492,6 +3489,9 @@ Puoi anche scegliere di memorizzare le impostazioni in un file .user invece che <data name="Global.StartButtonText" xml:space="preserve"> <value>Esegui</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>Linea</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>&Aggiorna</value> </data> @@ -3768,9 +3768,6 @@ Puoi anche scegliere di memorizzare le impostazioni in un file .user invece che <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>Fine riga</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>Riga</value> - </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>Impossibile trovare l'applicazione console NCover @@ -5537,9 +5534,6 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <data name="MainWindow.Windows.Debug.CallStack.Language" xml:space="preserve"> <value>Linguaggio</value> </data> - <data name="MainWindow.Windows.Debug.CallStack.LineString" xml:space="preserve"> - <value>Riga</value> - </data> <data name="MainWindow.Windows.Debug.CallStack.Module" xml:space="preserve"> <value>Modulo</value> </data> diff --git a/data/resources/StringResources.kr.resx b/data/resources/StringResources.kr.resx index 60675487fd..fce49b4fa7 100644 --- a/data/resources/StringResources.kr.resx +++ b/data/resources/StringResources.kr.resx @@ -508,9 +508,6 @@ <data name="CompilerResultView.FileText" xml:space="preserve"> <value>파일</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>줄</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>정보</value> </data> @@ -2945,6 +2942,9 @@ ${CurrentProjectName} 프로젝트에 이 새 파일을 더하겠습니까?</val <data name="Global.StartButtonText" xml:space="preserve"> <value>시작</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>줄</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>새로 고침(&U)</value> </data> @@ -3212,9 +3212,6 @@ ${CurrentProjectName} 프로젝트에 이 새 파일을 더하겠습니까?</val <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>마지막 줄</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>줄</value> - </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>NCover 콘솔 응용 프로그램을 찾을 수 없습니다. diff --git a/data/resources/StringResources.nl.resx b/data/resources/StringResources.nl.resx index 5a9107c64e..731b43068c 100644 --- a/data/resources/StringResources.nl.resx +++ b/data/resources/StringResources.nl.resx @@ -297,6 +297,15 @@ <data name="AddIns.HexEditor.NumeralSystem" xml:space="preserve"> <value>Nummering systeem</value> </data> + <data name="AddIns.HexEditor.NumeralSystem.Decimal" xml:space="preserve"> + <value>Decimaal</value> + </data> + <data name="AddIns.HexEditor.NumeralSystem.Hexadecimal" xml:space="preserve"> + <value>Hexadecimaal</value> + </data> + <data name="AddIns.HexEditor.NumeralSystem.Octal" xml:space="preserve"> + <value>Octaal</value> + </data> <data name="AddIns.HexEditor.SizeToFit" xml:space="preserve"> <value>De breedte aanpassen aan de aktueel benodigde</value> </data> @@ -966,9 +975,6 @@ De geselecteerde code bevat een break commando zonder de insluitende lus. Wijzig <data name="CompilerResultView.FileText" xml:space="preserve"> <value>Bestand</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>Regel</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>Info</value> </data> @@ -3491,6 +3497,9 @@ Er kan worden gekozen voor opslag van de instellingen in het .user bestand inpla <data name="Global.StartButtonText" xml:space="preserve"> <value>Starten</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>Regel</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>Bijwerken</value> </data> @@ -3767,9 +3776,6 @@ Er kan worden gekozen voor opslag van de instellingen in het .user bestand inpla <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>Eindregel</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>Regel</value> - </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>Kan de NCover console toepassing niet vinden. @@ -5532,9 +5538,6 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie</v <data name="MainWindow.Windows.Debug.CallStack.Language" xml:space="preserve"> <value>Taal</value> </data> - <data name="MainWindow.Windows.Debug.CallStack.LineString" xml:space="preserve"> - <value>Regel</value> - </data> <data name="MainWindow.Windows.Debug.CallStack.Module" xml:space="preserve"> <value>Module</value> </data> diff --git a/data/resources/StringResources.no.resx b/data/resources/StringResources.no.resx index 5b57b95218..f949f6d2d1 100644 --- a/data/resources/StringResources.no.resx +++ b/data/resources/StringResources.no.resx @@ -967,9 +967,6 @@ SharpDevelop kan samle inn denne informasjonen og laste den opp automatisk.</val <data name="CompilerResultView.FileText" xml:space="preserve"> <value>Fil</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>Linje</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>Om</value> </data> @@ -3468,6 +3465,9 @@ Du kan også velge å lagre innstillingen i .user-filen istedet for i prosjektfi <data name="Global.StartButtonText" xml:space="preserve"> <value>Start</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>Linje</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>Oppdater</value> </data> @@ -3744,9 +3744,6 @@ Du kan også velge å lagre innstillingen i .user-filen istedet for i prosjektfi <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>Linjeslutt</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>Linje</value> - </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>Finner ikke NCover konsollapplikasjonen. diff --git a/data/resources/StringResources.pl.resx b/data/resources/StringResources.pl.resx index 1463b17f9e..8e5f55f0c5 100644 --- a/data/resources/StringResources.pl.resx +++ b/data/resources/StringResources.pl.resx @@ -527,9 +527,6 @@ Musisz zainstalować .NET Framework SDK aby otrzymać system pomocy.</value> <data name="CompilerResultView.FileText" xml:space="preserve"> <value>Plik</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>Wiersz</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>O...</value> </data> @@ -2753,6 +2750,9 @@ Możesz również wybrać przechowywanie ustawienia w pliku użytkownika zamiast <data name="Global.StartButtonText" xml:space="preserve"> <value>Start</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>Wiersz</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>Akt&ualizuj</value> </data> @@ -2969,9 +2969,6 @@ Możesz również wybrać przechowywanie ustawienia w pliku użytkownika zamiast <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>Końcowy Wiersz</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>Wiersz</value> - </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>Jeżeli NCover jest zainstalowane, proszę wskazać lokalizację aplikacji w opcjach Pokrywania Kodu.</value> </data> diff --git a/data/resources/StringResources.pt-br.resx b/data/resources/StringResources.pt-br.resx index 422e1d45d8..0c7011bf1f 100644 --- a/data/resources/StringResources.pt-br.resx +++ b/data/resources/StringResources.pt-br.resx @@ -961,9 +961,6 @@ Voce precisa instalar o .Net Framework SDK para acessar o sistema de ajuda.</val <data name="CompilerResultView.FileText" xml:space="preserve"> <value>Arquivo</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>Linha</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>Sobre</value> </data> @@ -3457,6 +3454,9 @@ Além disso, um span pode definir um rule set nomedo que permite uma formataçã <data name="Global.StartButtonText" xml:space="preserve"> <value>Iniciar</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>Linha</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>&Atualizar</value> </data> @@ -3733,9 +3733,6 @@ Além disso, um span pode definir um rule set nomedo que permite uma formataçã <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>Linha Final</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>Linha</value> - </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>Se NCover estiver instalado, favor especificar a localização da aplicação nas opções do Code Coverage.</value> </data> diff --git a/data/resources/StringResources.pt.resx b/data/resources/StringResources.pt.resx index e84ce7f4d7..7976b9b2b2 100644 --- a/data/resources/StringResources.pt.resx +++ b/data/resources/StringResources.pt.resx @@ -611,9 +611,6 @@ Precisa de instalar o .NET Framework SDK para utilizar o sistema de ajuda.</valu <data name="CompilerResultView.FileText" xml:space="preserve"> <value>Ficheiro</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>Linha</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>Acerca</value> </data> @@ -2892,6 +2889,9 @@ Pode também escolher guardar o parâmetro num ficheiro .user-file em vez de no <data name="Global.StartButtonText" xml:space="preserve"> <value>Iniciar</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>Linha</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>&Actualizar</value> </data> @@ -3117,9 +3117,6 @@ Pode também escolher guardar o parâmetro num ficheiro .user-file em vez de no <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>Fim de Linha</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>Linha</value> - </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>Impossível localizar o executável de consola NCover. diff --git a/data/resources/StringResources.resx b/data/resources/StringResources.resx index eacd6cda13..f3caa90735 100644 --- a/data/resources/StringResources.resx +++ b/data/resources/StringResources.resx @@ -980,9 +980,6 @@ You can specifiy an execution command in the project options.</value> <data name="CompilerResultView.FileText" xml:space="preserve"> <value>File</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>Line</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>About</value> </data> @@ -3505,6 +3502,9 @@ You can also choose to store the setting in the .user-file instead of the projec <data name="Global.StartButtonText" xml:space="preserve"> <value>Start</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>Line</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>&Update</value> </data> @@ -3781,9 +3781,6 @@ You can also choose to store the setting in the .user-file instead of the projec <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>End Line</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>Line</value> - </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>Unable to locate the NCover console application. @@ -5556,9 +5553,6 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< <data name="MainWindow.Windows.Debug.CallStack.Language" xml:space="preserve"> <value>Language</value> </data> - <data name="MainWindow.Windows.Debug.CallStack.LineString" xml:space="preserve"> - <value>Line</value> - </data> <data name="MainWindow.Windows.Debug.CallStack.Module" xml:space="preserve"> <value>Module</value> </data> diff --git a/data/resources/StringResources.ru.resx b/data/resources/StringResources.ru.resx index bcdc099e8d..a05abc0c12 100644 --- a/data/resources/StringResources.ru.resx +++ b/data/resources/StringResources.ru.resx @@ -905,9 +905,6 @@ <data name="CompilerResultView.FileText" xml:space="preserve"> <value>Файл</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>Строка</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>О программе</value> </data> @@ -3259,6 +3256,9 @@ <data name="Global.StartButtonText" xml:space="preserve"> <value>Старт</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>Строка</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>Перерисовать</value> </data> @@ -3517,9 +3517,6 @@ <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>Конец строки</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>Строка</value> - </data> <data name="ICSharpCode.CodeCoverage.OptionsPanel.CodeCoverageColoursGroupBoxText" xml:space="preserve"> <value>Цвета сокрытия кода</value> </data> diff --git a/data/resources/StringResources.tr.resx b/data/resources/StringResources.tr.resx index 6f94cacc55..d245482d29 100644 --- a/data/resources/StringResources.tr.resx +++ b/data/resources/StringResources.tr.resx @@ -693,9 +693,6 @@ SharpDevelop bu bilgileri otomatik olarak toplayıp gönderebilir.</value> <data name="CompilerResultView.FileText" xml:space="preserve"> <value>Dosya</value> </data> - <data name="CompilerResultView.LineText" xml:space="preserve"> - <value>Satır</value> - </data> <data name="ComponentInspector.AboutDialog.Title" xml:space="preserve"> <value>Hakkında</value> </data> @@ -2920,6 +2917,9 @@ Ayrıca bir ayarı proje dosyası yerine .kullanıcı-dosyası(.user-file) için <data name="Global.StartButtonText" xml:space="preserve"> <value>Başla</value> </data> + <data name="Global.TextLine" xml:space="preserve"> + <value>Satır</value> + </data> <data name="Global.UpdateButtonText" xml:space="preserve"> <value>Güncelle</value> </data> @@ -3133,9 +3133,6 @@ Ayrıca bir ayarı proje dosyası yerine .kullanıcı-dosyası(.user-file) için <data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve"> <value>Satır Sonu</value> </data> - <data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve"> - <value>Satır</value> - </data> <data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve"> <value>NCover konsol uygulaması bulunamadı. diff --git a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageControl.cs b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageControl.cs index 9c8a992284..63dbcc65e1 100644 --- a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageControl.cs +++ b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageControl.cs @@ -368,7 +368,7 @@ namespace ICSharpCode.CodeCoverage visitCountColumnHeader.Width = 80; startLineColumnHeader = new ColumnHeader(); - startLineColumnHeader.Text = StringParser.Parse("${res:ICSharpCode.CodeCoverage.Line}"); + startLineColumnHeader.Text = StringParser.Parse("${res:Global.TextLine}"); startLineColumnHeader.Width = 80; startColumnColumnHeader = new ColumnHeader(); diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/CallStackPad.xaml b/src/AddIns/Debugger/Debugger.AddIn/Pads/CallStackPad.xaml index d9accbd7b3..ce438db750 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/CallStackPad.xaml +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/CallStackPad.xaml @@ -20,7 +20,7 @@ </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> - <GridViewColumn Header="{sd:Localize MainWindow.Windows.Debug.CallStack.LineString}"> + <GridViewColumn Header="{sd:Localize Global.LineText}"> <GridViewColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Line}" Foreground="{Binding FontColor}" /> diff --git a/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XPathQueryControl.cs b/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XPathQueryControl.cs index 52d1037bfa..3347fc3245 100644 --- a/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XPathQueryControl.cs +++ b/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XPathQueryControl.cs @@ -502,7 +502,7 @@ namespace ICSharpCode.XmlEditor void InitStrings() { - lineColumnHeader.Text = StringParser.Parse("${res:CompilerResultView.LineText}"); + lineColumnHeader.Text = StringParser.Parse("${res:Global.TextLine}"); matchColumnHeader.Text = StringParser.Parse("${res:ICSharpCode.XmlEditor.XPathQueryPad.XPathMatchColumnHeaderTitle}"); prefixColumn.HeaderText = StringParser.Parse("${res:ICSharpCode.XmlEditor.XPathQueryPad.PrefixColumnHeaderTitle}"); namespaceColumn.HeaderText = StringParser.Parse("${res:ICSharpCode.XmlEditor.XPathQueryPad.NamespaceColumnHeaderTitle}"); diff --git a/src/Main/Base/Project/Src/Gui/Pads/TaskList/TaskView.cs b/src/Main/Base/Project/Src/Gui/Pads/TaskList/TaskView.cs index f0e8d07846..03587536e9 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/TaskList/TaskView.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/TaskList/TaskView.cs @@ -147,7 +147,7 @@ namespace ICSharpCode.SharpDevelop.Gui public void RefreshColumnNames() { type.Text = "!"; - line.Text = ResourceService.GetString("CompilerResultView.LineText"); + line.Text = ResourceService.GetString("Global.TextLine"); description.Text = ResourceService.GetString("CompilerResultView.DescriptionText"); file.Text = ResourceService.GetString("CompilerResultView.FileText"); path.Text = ResourceService.GetString("Global.Path"); From 6a704fd93af734fb33ba8a2431433b8041f24165 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Sun, 14 Aug 2011 11:32:06 +0200 Subject: [PATCH 155/168] fix displayed text in XamlCodeCompletionItem --- .../XamlBinding/XamlBinding/XamlCompletionItem.cs | 5 +++++ .../Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlCompletionItem.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlCompletionItem.cs index e498f928ba..fa2370a7bb 100644 --- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlCompletionItem.cs +++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlCompletionItem.cs @@ -23,18 +23,21 @@ namespace ICSharpCode.XamlBinding this.Text = entity.Name; else this.Text = prefix + ":" + entity.Name; + this.Content = this.Text; } public XamlCodeCompletionItem(IEntity entity) : base(entity) { this.Text = entity.Name; + this.Content = this.Text; } public XamlCodeCompletionItem(string text, IEntity entity) : base(entity) { this.Text = text; + this.Content = this.Text; } public XamlCodeCompletionItem(IEntity entity, string prefix, string className) @@ -44,6 +47,7 @@ namespace ICSharpCode.XamlBinding this.Text = className + "." + entity.Name; else this.Text = prefix + ":" + className + "." + entity.Name; + this.Content = this.Text; } public override string ToString() @@ -61,6 +65,7 @@ namespace ICSharpCode.XamlBinding { this.addType = addType; this.Text = text; + this.Content = this.Text; } public override void Complete(CompletionContext context) diff --git a/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs b/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs index 8a1886db30..4483c301b2 100644 --- a/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs +++ b/src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs @@ -242,6 +242,9 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion get { return entity; } } + /// <summary> + /// The text inserted into the code editor. + /// </summary> public string Text { get; set; } public int Overloads { get; set; } @@ -471,6 +474,9 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion } #endregion + /// <summary> + /// The content displayed in the list. + /// </summary> public object Content { get; set; } object IFancyCompletionItem.Description { From 429f0229b59eacdfa8b482536568c59f9a5f7875 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Sun, 14 Aug 2011 16:49:43 +0200 Subject: [PATCH 156/168] fix some bugs in ChangeMarkerMargin --- .../Src/ChangeMarkerMargin.cs | 34 ++++++---------- .../Src/DefaultChangeWatcher.cs | 40 ++++++++++++------- .../AvalonEdit.AddIn/Src/LineChangeInfo.cs | 34 +++------------- .../Utils/CompressingTreeList.cs | 29 ++++++++++++++ 4 files changed, 74 insertions(+), 63 deletions(-) diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs index 7f2730df6a..55053aebd8 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs @@ -158,6 +158,17 @@ namespace ICSharpCode.AvalonEdit.AddIn } if (oldText != null) { + // TODO : deletions on line 0 cannot be displayed. + + LineChangeInfo currLineInfo = changeWatcher.GetChange(startLine); + + if (currLineInfo.Change == ChangeType.Deleted) { + var docLine = editor.Document.GetLineByNumber(startLine); + if (docLine.DelimiterLength == 0) + oldText = DocumentUtilitites.GetLineTerminator(changeWatcher.CurrentDocument, startLine); + oldText = editor.Document.GetText(docLine.Offset, docLine.TotalLength) + oldText; + } + DiffControl differ = new DiffControl(); differ.editor.SyntaxHighlighting = editor.SyntaxHighlighting; differ.editor.HorizontalScrollBarVisibility = ScrollBarVisibility.Hidden; @@ -165,16 +176,6 @@ namespace ICSharpCode.AvalonEdit.AddIn differ.editor.Document.Text = oldText; differ.Background = Brushes.White; - // TODO : deletions on line 0 cannot be displayed. - - LineChangeInfo prevLineInfo = changeWatcher.GetChange(startLine - 1); - LineChangeInfo lineInfo = changeWatcher.GetChange(startLine); - - if (prevLineInfo.Change == ChangeType.Deleted) { - var docLine = editor.Document.GetLineByNumber(startLine - 1); - differ.editor.Document.Insert(0, editor.Document.GetText(docLine.Offset, docLine.TotalLength)); - } - if (oldText == string.Empty) { differ.editor.Visibility = Visibility.Collapsed; differ.copyButton.Visibility = Visibility.Collapsed; @@ -184,22 +185,13 @@ namespace ICSharpCode.AvalonEdit.AddIn var mainHighlighter = new DocumentHighlighter(baseDocument, differ.editor.SyntaxHighlighting.MainRuleSet); var popupHighlighter = differ.editor.TextArea.GetService(typeof(IHighlighter)) as DocumentHighlighter; - if (prevLineInfo.Change == ChangeType.Deleted) - popupHighlighter.InitialSpanStack = mainHighlighter.GetSpanStack(prevLineInfo.OldStartLineNumber); - else - popupHighlighter.InitialSpanStack = mainHighlighter.GetSpanStack(lineInfo.OldStartLineNumber); + popupHighlighter.InitialSpanStack = mainHighlighter.GetSpanStack(currLineInfo.OldStartLineNumber); } } differ.revertButton.Click += delegate { if (hasNewVersion) { - int delimiter = 0; - DocumentLine l = Document.GetLineByOffset(offset + length); - if (added) - delimiter = l.DelimiterLength; - if (length == 0) - oldText += DocumentUtilitites.GetLineTerminator(new AvalonEditDocumentAdapter(Document, null), l.LineNumber); - Document.Replace(offset, length + delimiter, oldText); + Document.Replace(offset, length, oldText); tooltip.IsOpen = false; } }; diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs index b46890e08d..1fcc51c072 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs @@ -81,7 +81,7 @@ namespace ICSharpCode.AvalonEdit.AddIn if (update) changeList.Transform(TransformLineChangeInfo); else - changeList.InsertRange(0, document.TotalNumberOfLines + 1, LineChangeInfo.Empty); + changeList.InsertRange(0, document.TotalNumberOfLines + 1, LineChangeInfo.EMPTY); } else { changeList.Clear(); @@ -92,25 +92,23 @@ namespace ICSharpCode.AvalonEdit.AddIn new DocumentSequence(document, hashes) ); - changeList.Add(LineChangeInfo.Empty); + changeList.Add(LineChangeInfo.EMPTY); int lastEndLine = 0; foreach (Edit edit in diff.GetEdits()) { int beginLine = edit.BeginB; int endLine = edit.EndB; - changeList.InsertRange(changeList.Count, beginLine - lastEndLine, LineChangeInfo.Empty); + changeList.InsertRange(changeList.Count, beginLine - lastEndLine, LineChangeInfo.EMPTY); - LineChangeInfo change = new LineChangeInfo(edit.EditType, edit.BeginA, edit.BeginB, edit.EndA, edit.EndB); if (endLine == beginLine) - changeList[changeList.Count - 1] = change; + changeList[changeList.Count - 1] = new LineChangeInfo(edit.EditType, edit.BeginA, edit.EndA); else - changeList.InsertRange(changeList.Count, endLine - beginLine, change); - + changeList.InsertRange(changeList.Count, endLine - beginLine, new LineChangeInfo(edit.EditType, edit.BeginA, edit.EndA)); lastEndLine = endLine; } - changeList.InsertRange(changeList.Count, textDocument.LineCount - lastEndLine, LineChangeInfo.Empty); + changeList.InsertRange(changeList.Count, textDocument.LineCount - lastEndLine, LineChangeInfo.EMPTY); } OnChangeOccurred(EventArgs.Empty); @@ -158,7 +156,7 @@ namespace ICSharpCode.AvalonEdit.AddIn void ILineTracker.LineInserted(DocumentLine insertionPos, DocumentLine newLine) { int index = insertionPos.LineNumber; - var newLineInfo = new LineChangeInfo(ChangeType.Unsaved, index, index, newLine.LineNumber, newLine.LineNumber); + var newLineInfo = new LineChangeInfo(ChangeType.Unsaved, index, index); changeList[index] = newLineInfo; changeList.Insert(index + 1, newLineInfo); @@ -167,7 +165,7 @@ namespace ICSharpCode.AvalonEdit.AddIn void ILineTracker.RebuildDocument() { changeList.Clear(); - changeList.InsertRange(0, document.TotalNumberOfLines + 1, new LineChangeInfo(ChangeType.Unsaved, 1, 1, baseDocument.TotalNumberOfLines, document.TotalNumberOfLines)); + changeList.InsertRange(0, document.TotalNumberOfLines + 1, new LineChangeInfo(ChangeType.Unsaved, 1, baseDocument.TotalNumberOfLines)); } bool disposed = false; @@ -188,7 +186,7 @@ namespace ICSharpCode.AvalonEdit.AddIn added = info.Change == ChangeType.Added; if (info.Change != ChangeType.None && info.Change != ChangeType.Unsaved) { - newStartLine = info.NewStartLineNumber + 1; + newStartLine = CalculateNewStartLineNumber(lineNumber); if (info.Change == ChangeType.Added) return ""; @@ -196,23 +194,37 @@ namespace ICSharpCode.AvalonEdit.AddIn var startDocumentLine = baseDocument.GetLine(info.OldStartLineNumber + 1); var endLine = baseDocument.GetLine(info.OldEndLineNumber); - return baseDocument.GetText(startDocumentLine.Offset, endLine.EndOffset - startDocumentLine.Offset); + return TextUtilities.NormalizeNewLines(baseDocument.GetText(startDocumentLine.Offset, endLine.EndOffset - startDocumentLine.Offset), DocumentUtilitites.GetLineTerminator(document, newStartLine)); } newStartLine = 0; return null; } + int CalculateNewStartLineNumber(int lineNumber) + { + return changeList.GetStartOfRun(lineNumber); + } + + int CalculateNewEndLineNumber(int lineNumber) + { + return changeList.GetEndOfRun(lineNumber) - 1; + } + public bool GetNewVersionFromLine(int lineNumber, out int offset, out int length) { LineChangeInfo info = changeList[lineNumber]; if (info.Change != ChangeType.None && info.Change != ChangeType.Unsaved) { - var startLine = document.GetLine(info.NewStartLineNumber + 1); - var endLine = document.GetLine(info.NewEndLineNumber); + var startLine = document.GetLine(CalculateNewStartLineNumber(lineNumber)); + var endLine = document.GetLine(CalculateNewEndLineNumber(lineNumber)); offset = startLine.Offset; length = endLine.EndOffset - startLine.Offset; + + if (info.Change == ChangeType.Added) + length += endLine.DelimiterLength; + return true; } diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/LineChangeInfo.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/LineChangeInfo.cs index 99551b6755..42e7d21ea0 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/LineChangeInfo.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/LineChangeInfo.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using ICSharpCode.AvalonEdit.Utils; using ICSharpCode.SharpDevelop.Editor; namespace ICSharpCode.AvalonEdit.AddIn @@ -34,7 +35,7 @@ namespace ICSharpCode.AvalonEdit.AddIn public struct LineChangeInfo : IEquatable<LineChangeInfo> { - public static readonly LineChangeInfo Empty = new LineChangeInfo(ChangeType.None, -1, -1, -1, -1); + public static readonly LineChangeInfo EMPTY = new LineChangeInfo(ChangeType.None, -1, -1); ChangeType change; @@ -47,37 +48,19 @@ namespace ICSharpCode.AvalonEdit.AddIn public int OldStartLineNumber { get { return oldStartLineNumber; } - set { oldStartLineNumber = value; } - } - - int newStartLineNumber; - - public int NewStartLineNumber { - get { return newStartLineNumber; } - set { newStartLineNumber = value; } } int oldEndLineNumber; public int OldEndLineNumber { get { return oldEndLineNumber; } - set { oldEndLineNumber = value; } } - int newEndLineNumber; - - public int NewEndLineNumber { - get { return newEndLineNumber; } - set { newEndLineNumber = value; } - } - - public LineChangeInfo(ChangeType change, int oldStartLineNumber, int newStartLineNumber, int oldEndLineNumber, int newEndLineNumber) + public LineChangeInfo(ChangeType change, int oldStartLineNumber, int oldEndLineNumber) { this.change = change; this.oldStartLineNumber = oldStartLineNumber; - this.newStartLineNumber = newStartLineNumber; this.oldEndLineNumber = oldEndLineNumber; - this.newEndLineNumber = newEndLineNumber; } #region Equals and GetHashCode implementation @@ -88,11 +71,7 @@ namespace ICSharpCode.AvalonEdit.AddIn public bool Equals(LineChangeInfo other) { - return this.change == other.change && - this.oldEndLineNumber == other.oldEndLineNumber && - this.newStartLineNumber == other.newStartLineNumber && - this.oldStartLineNumber == other.oldStartLineNumber && - this.newEndLineNumber == other.newEndLineNumber; + return this.change == other.change && this.oldStartLineNumber == other.oldStartLineNumber && this.oldEndLineNumber == other.oldEndLineNumber; } public override int GetHashCode() @@ -101,9 +80,7 @@ namespace ICSharpCode.AvalonEdit.AddIn unchecked { hashCode += 1000000007 * change.GetHashCode(); hashCode += 1000000009 * oldStartLineNumber.GetHashCode(); - hashCode += 1000000021 * newStartLineNumber.GetHashCode(); - hashCode += 1000000033 * oldEndLineNumber.GetHashCode(); - hashCode += 1000000087 * newEndLineNumber.GetHashCode(); + hashCode += 1000000021 * oldEndLineNumber.GetHashCode(); } return hashCode; } @@ -118,5 +95,6 @@ namespace ICSharpCode.AvalonEdit.AddIn return !(lhs == rhs); } #endregion + } } diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Utils/CompressingTreeList.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Utils/CompressingTreeList.cs index db23c5bb2c..fb984c13ad 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Utils/CompressingTreeList.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Utils/CompressingTreeList.cs @@ -343,9 +343,38 @@ namespace ICSharpCode.AvalonEdit.Utils return -1; } + /// <summary> + /// Gets the the first index so that all values from the result index to <paramref name="index"/> + /// are equal. + /// </summary> + public int GetStartOfRun(int index) + { + if (index < 0 || index >= this.Count) + throw new ArgumentOutOfRangeException("index", index, "Value must be between 0 and " + (this.Count - 1)); + int indexInRun = index; + GetNode(ref indexInRun); + return index - indexInRun; + } + + /// <summary> + /// Gets the first index after <paramref name="index"/> so that the value at the result index is not + /// equal to the value at <paramref name="index"/>. + /// That is, this method returns the exclusive end index of the run of equal values. + /// </summary> + public int GetEndOfRun(int index) + { + if (index < 0 || index >= this.Count) + throw new ArgumentOutOfRangeException("index", index, "Value must be between 0 and " + (this.Count - 1)); + int indexInRun = index; + int runLength = GetNode(ref indexInRun).count; + return index - indexInRun + runLength; + } + /// <summary> /// Gets the number of elements after <paramref name="index"/> that have the same value as each other. /// </summary> + [Obsolete("This method may be confusing as it returns only the remaining run length after index. " + + "Use GetStartOfRun/GetEndOfRun instead.")] public int GetRunLength(int index) { if (index < 0 || index >= this.Count) From 94dea92156ff5039f50f7495c9dcfe46813ba55d Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Sun, 14 Aug 2011 18:33:53 +0200 Subject: [PATCH 157/168] implement display of deletions on line 0 in ChangeMarkerMargin --- .../Src/ChangeMarkerMargin.cs | 36 ++++++++++++++++--- .../Src/DefaultChangeWatcher.cs | 5 ++- .../AvalonEdit.AddIn/Src/LineChangeInfo.cs | 2 +- 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs index 55053aebd8..83626a33b3 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs @@ -54,11 +54,19 @@ namespace ICSharpCode.AvalonEdit.AddIn TextView textView = this.TextView; if (textView != null && textView.VisualLinesValid) { + var zeroLineInfo = changeWatcher.GetChange(0); + + Debug.Assert(zeroLineInfo.Change == ChangeType.None || zeroLineInfo.Change == ChangeType.Deleted); + foreach (VisualLine line in textView.VisualLines) { Rect rect = new Rect(0, line.VisualTop - textView.ScrollOffset.Y, 5, line.Height); LineChangeInfo info = changeWatcher.GetChange(line.FirstDocumentLine.LineNumber); + if (zeroLineInfo.Change == ChangeType.Deleted && line.FirstDocumentLine.LineNumber == 1 && info.Change != ChangeType.Unsaved) { + info.Change = ChangeType.Modified; + } + switch (info.Change) { case ChangeType.None: break; @@ -142,9 +150,31 @@ namespace ICSharpCode.AvalonEdit.AddIn TextEditor editor = this.TextView.Services.GetService(typeof(TextEditor)) as TextEditor; markerService = this.TextView.Services.GetService(typeof(ITextMarkerService)) as ITextMarkerService; + LineChangeInfo zeroLineInfo = changeWatcher.GetChange(0); + int offset, length; bool hasNewVersion = changeWatcher.GetNewVersionFromLine(line, out offset, out length); + if (line == 1 && zeroLineInfo.Change == ChangeType.Deleted) { + int zeroStartLine; bool zeroAdded; + startLine = 1; + string deletedText = changeWatcher.GetOldVersionFromLine(0, out zeroStartLine, out zeroAdded); + var docLine = editor.Document.GetLineByNumber(line); + string newLine = DocumentUtilitites.GetLineTerminator(changeWatcher.CurrentDocument, 1); + deletedText += newLine; + deletedText += editor.Document.GetText(docLine.Offset, docLine.Length); + if (oldText != null) + oldText = deletedText + newLine + oldText; + else + oldText = deletedText; + + if (!hasNewVersion) { + offset = 0; + length = docLine.Length; + hasNewVersion = true; + } + } + if (hasNewVersion) { if (marker != null) markerService.Remove(marker); @@ -158,14 +188,12 @@ namespace ICSharpCode.AvalonEdit.AddIn } if (oldText != null) { - // TODO : deletions on line 0 cannot be displayed. - LineChangeInfo currLineInfo = changeWatcher.GetChange(startLine); - if (currLineInfo.Change == ChangeType.Deleted) { + if (currLineInfo.Change == ChangeType.Deleted && !(line == 1 && zeroLineInfo.Change == ChangeType.Deleted)) { var docLine = editor.Document.GetLineByNumber(startLine); if (docLine.DelimiterLength == 0) - oldText = DocumentUtilitites.GetLineTerminator(changeWatcher.CurrentDocument, startLine); + oldText = DocumentUtilitites.GetLineTerminator(changeWatcher.CurrentDocument, startLine) + oldText; oldText = editor.Document.GetText(docLine.Offset, docLine.TotalLength) + oldText; } diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs index 1fcc51c072..34b258b58f 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs @@ -56,8 +56,7 @@ namespace ICSharpCode.AvalonEdit.AddIn } else { if (baseDocument == null) { // if the file is not under subversion, the document is the opened document - var doc = new TextDocument(textDocument.Text); - baseDocument = new AvalonEditDocumentAdapter(doc, null); + baseDocument = DocumentUtilitites.LoadReadOnlyDocumentFromBuffer(document.CreateSnapshot()); } } @@ -194,7 +193,7 @@ namespace ICSharpCode.AvalonEdit.AddIn var startDocumentLine = baseDocument.GetLine(info.OldStartLineNumber + 1); var endLine = baseDocument.GetLine(info.OldEndLineNumber); - return TextUtilities.NormalizeNewLines(baseDocument.GetText(startDocumentLine.Offset, endLine.EndOffset - startDocumentLine.Offset), DocumentUtilitites.GetLineTerminator(document, newStartLine)); + return TextUtilities.NormalizeNewLines(baseDocument.GetText(startDocumentLine.Offset, endLine.EndOffset - startDocumentLine.Offset), DocumentUtilitites.GetLineTerminator(document, newStartLine == 0 ? 1 : newStartLine)); } newStartLine = 0; diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/LineChangeInfo.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/LineChangeInfo.cs index 42e7d21ea0..ad8c7e7014 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/LineChangeInfo.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/LineChangeInfo.cs @@ -35,7 +35,7 @@ namespace ICSharpCode.AvalonEdit.AddIn public struct LineChangeInfo : IEquatable<LineChangeInfo> { - public static readonly LineChangeInfo EMPTY = new LineChangeInfo(ChangeType.None, -1, -1); + public static readonly LineChangeInfo EMPTY = new LineChangeInfo(ChangeType.None, 1, 1); ChangeType change; From 86f51556ff687ff62fcb135437ba0be81fc2f535 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Mon, 15 Aug 2011 01:18:36 +0200 Subject: [PATCH 158/168] update ChangeMarkerMargin when files are committed into the git repository --- .../Src/ChangeMarkerMargin.cs | 8 +- .../Src/DefaultChangeWatcher.cs | 53 +++++++++---- .../AvalonEdit.AddIn/Src/LineChangeInfo.cs | 2 - .../GitAddIn/Src/GitVersionProvider.cs | 52 ++++++++++++- .../SubversionAddIn/Src/SvnVersionProvider.cs | 5 ++ .../Editor/IDocumentBaseVersionProvider.cs | 76 +++++++++++++++++++ 6 files changed, 170 insertions(+), 26 deletions(-) diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs index 83626a33b3..8379c1ca13 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs @@ -2,24 +2,18 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Collections.Generic; using System.Diagnostics; -using System.Linq; using System.Windows; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Input; using System.Windows.Media; -using System.Windows.Threading; -using ICSharpCode.AvalonEdit.AddIn.Options; + using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Editing; using ICSharpCode.AvalonEdit.Highlighting; using ICSharpCode.AvalonEdit.Rendering; -using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Editor; -using ICSharpCode.SharpDevelop.Editor.AvalonEdit; -using ICSharpCode.SharpDevelop.Widgets; namespace ICSharpCode.AvalonEdit.AddIn { diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs index 34b258b58f..1898aa4f35 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs @@ -6,14 +6,12 @@ using System.Collections.Generic; using System.ComponentModel; using System.IO; using System.Linq; -using System.Runtime.InteropServices; -using System.Text; + using ICSharpCode.AvalonEdit.AddIn.MyersDiff; using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Utils; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Editor; -using ICSharpCode.SharpDevelop.Editor.AvalonEdit; namespace ICSharpCode.AvalonEdit.AddIn { @@ -23,6 +21,8 @@ namespace ICSharpCode.AvalonEdit.AddIn IDocument document; TextDocument textDocument; IDocument baseDocument; + IDocumentVersionProvider usedProvider; + IDisposable watcher; public event EventHandler ChangeOccurred; @@ -47,23 +47,38 @@ namespace ICSharpCode.AvalonEdit.AddIn this.textDocument = (TextDocument)document.GetService(typeof(TextDocument)); this.changeList = new CompressingTreeList<LineChangeInfo>((x, y) => x.Equals(y)); - Stream baseFileStream = GetBaseVersion(); + InitializeBaseDocument(); + + if (usedProvider != null) { + string fileName = ((ITextEditor)document.GetService(typeof(ITextEditor))).FileName; + watcher = usedProvider.WatchBaseVersionChanges(fileName, HandleBaseVersionChanges); + } + + SetupInitialFileState(false); - // TODO : update baseDocument on VCS actions + this.textDocument.LineTrackers.Add(this); + this.textDocument.UndoStack.PropertyChanged += UndoStackPropertyChanged; + } + + void HandleBaseVersionChanges(object sender, EventArgs e) + { + ICSharpCode.Core.LoggingService.Info("HandleBaseVersionChanges"); + InitializeBaseDocument(); + SetupInitialFileState(true); + } + + void InitializeBaseDocument() + { + Stream baseFileStream = GetBaseVersion(); if (baseFileStream != null) { // ReadAll() is taking care of closing the stream baseDocument = DocumentUtilitites.LoadReadOnlyDocumentFromBuffer(new StringTextBuffer(ReadAll(baseFileStream))); } else { + // if the file is not under subversion, the document is the opened document if (baseDocument == null) { - // if the file is not under subversion, the document is the opened document baseDocument = DocumentUtilitites.LoadReadOnlyDocumentFromBuffer(document.CreateSnapshot()); } } - - SetupInitialFileState(false); - - this.textDocument.LineTrackers.Add(this); - this.textDocument.UndoStack.PropertyChanged += UndoStackPropertyChanged; } LineChangeInfo TransformLineChangeInfo(LineChangeInfo info) @@ -115,9 +130,11 @@ namespace ICSharpCode.AvalonEdit.AddIn string ReadAll(Stream stream) { - using (StreamReader reader = new StreamReader(stream)) { - return reader.ReadToEnd(); - } + var memory = new MemoryStream(); + stream.CopyTo(memory); + stream.Close(); + memory.Position = 0; + return FileReader.ReadFileContent(memory, ParserService.DefaultFileEncoding); } Stream GetBaseVersion() @@ -126,10 +143,12 @@ namespace ICSharpCode.AvalonEdit.AddIn foreach (IDocumentVersionProvider provider in VersioningServices.Instance.DocumentVersionProviders) { var result = provider.OpenBaseVersion(fileName); - if (result != null) + if (result != null) { + usedProvider = provider; return result; + } } - + return null; } @@ -172,6 +191,8 @@ namespace ICSharpCode.AvalonEdit.AddIn public void Dispose() { if (!disposed) { + if (watcher != null) + watcher.Dispose(); this.textDocument.LineTrackers.Remove(this); this.textDocument.UndoStack.PropertyChanged -= UndoStackPropertyChanged; disposed = true; diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/LineChangeInfo.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/LineChangeInfo.cs index ad8c7e7014..cba099d4b6 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/LineChangeInfo.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/LineChangeInfo.cs @@ -2,8 +2,6 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Collections.Generic; -using ICSharpCode.AvalonEdit.Utils; using ICSharpCode.SharpDevelop.Editor; namespace ICSharpCode.AvalonEdit.AddIn diff --git a/src/AddIns/VersionControl/GitAddIn/Src/GitVersionProvider.cs b/src/AddIns/VersionControl/GitAddIn/Src/GitVersionProvider.cs index 39ce3bbea4..f10b4cf959 100644 --- a/src/AddIns/VersionControl/GitAddIn/Src/GitVersionProvider.cs +++ b/src/AddIns/VersionControl/GitAddIn/Src/GitVersionProvider.cs @@ -7,6 +7,7 @@ using System.IO; using System.IO.Pipes; using System.Runtime.InteropServices; +using ICSharpCode.Core; using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Util; using Microsoft.Win32.SafeHandles; @@ -85,7 +86,7 @@ namespace ICSharpCode.GitAddIn return OpenOutput(git, fileName, GetBlobHash(git, fileName)); } - string GetBlobHash(string gitExe, string fileName) + internal static string GetBlobHash(string gitExe, string fileName) { ProcessRunner runner = new ProcessRunner(); runner.WorkingDirectory = Path.GetDirectoryName(fileName); @@ -136,5 +137,54 @@ namespace ICSharpCode.GitAddIn return pipe; } + + public IDisposable WatchBaseVersionChanges(string fileName, EventHandler callback) + { + if (!Git.IsInWorkingCopy(fileName)) + return null; + + string git = Git.FindGit(); + if (git == null) + return null; + + return new BaseVersionChangeWatcher(fileName, GetBlobHash(git, fileName), callback); + } } + + class BaseVersionChangeWatcher : IDisposable + { + EventHandler callback; + string fileName, hash; + RepoChangeWatcher watcher; + + public BaseVersionChangeWatcher(string fileName, string hash, EventHandler callback) + { + string root = Git.FindWorkingCopyRoot(fileName); + if (root == null) + throw new InvalidOperationException(fileName + " must be under version control!"); + + this.callback = callback; + this.fileName = fileName; + this.hash = hash; + + watcher = RepoChangeWatcher.AddWatch(Path.Combine(root, ".git"), HandleChanges); + } + + void HandleChanges() + { + string newHash = GitVersionProvider.GetBlobHash(Git.FindGit(), fileName); + if (newHash != hash) { + LoggingService.Info(fileName + " was changed!"); + callback(this, EventArgs.Empty); + } + this.hash = newHash; + } + + public void Dispose() + { + watcher.ReleaseWatch(HandleChanges); + } + } + + } diff --git a/src/AddIns/VersionControl/SubversionAddIn/Src/SvnVersionProvider.cs b/src/AddIns/VersionControl/SubversionAddIn/Src/SvnVersionProvider.cs index 45c91d2329..7d103b0b9b 100644 --- a/src/AddIns/VersionControl/SubversionAddIn/Src/SvnVersionProvider.cs +++ b/src/AddIns/VersionControl/SubversionAddIn/Src/SvnVersionProvider.cs @@ -19,5 +19,10 @@ namespace ICSharpCode.Svn using (SvnClientWrapper client = new SvnClientWrapper()) return client.OpenBaseVersion(fileName); } + + public IDisposable WatchBaseVersionChanges(string fileName, EventHandler callback) + { + return null; + } } } diff --git a/src/Main/Base/Project/Src/Editor/IDocumentBaseVersionProvider.cs b/src/Main/Base/Project/Src/Editor/IDocumentBaseVersionProvider.cs index 0a118f3a26..e72865cb1c 100644 --- a/src/Main/Base/Project/Src/Editor/IDocumentBaseVersionProvider.cs +++ b/src/Main/Base/Project/Src/Editor/IDocumentBaseVersionProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.IO; using ICSharpCode.Core; +using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.SharpDevelop.Editor { @@ -16,6 +17,8 @@ namespace ICSharpCode.SharpDevelop.Editor /// to disk or a base version provided by any VCS. /// </summary> Stream OpenBaseVersion(string fileName); + + IDisposable WatchBaseVersionChanges(string fileName, EventHandler callback); } public class VersioningServices @@ -34,4 +37,77 @@ namespace ICSharpCode.SharpDevelop.Editor } } + public class RepoChangeWatcher + { + static readonly Dictionary<string, RepoChangeWatcher> watchers + = new Dictionary<string, RepoChangeWatcher>(StringComparer.OrdinalIgnoreCase); + + Action actions; + FileSystemWatcher watcher; + + RepoChangeWatcher(string repositoryRoot) + { + this.watcher = new FileSystemWatcher(repositoryRoot); + + if (WorkbenchSingleton.Workbench != null) + watcher.SynchronizingObject = WorkbenchSingleton.Workbench.SynchronizingObject; + + WorkbenchSingleton.MainWindow.Activated += MainWindowActivated; + + watcher.Created += FileChanged; + watcher.Deleted += FileChanged; + watcher.Changed += FileChanged; + watcher.Renamed += FileChanged; + +// watcher.IncludeSubdirectories = true; + watcher.EnableRaisingEvents = true; + } + + void MainWindowActivated(object sender, EventArgs e) + { + alreadyCalled = false; + actions(); + } + + bool alreadyCalled; + + void FileChanged(object sender, FileSystemEventArgs e) + { + if (!alreadyCalled) { + alreadyCalled = true; + LoggingService.Info(e.Name + " changed!" + e.ChangeType); + if (WorkbenchSingleton.Workbench.IsActiveWindow) { + WorkbenchSingleton.CallLater( + TimeSpan.FromSeconds(2), + () => { MainWindowActivated(this, EventArgs.Empty); } + ); + } + } + } + + public static RepoChangeWatcher AddWatch(string repositoryRoot, Action action) + { + RepoChangeWatcher watcher; + if (!watchers.TryGetValue(repositoryRoot, out watcher)) { + watcher = new RepoChangeWatcher(repositoryRoot); + watchers.Add(repositoryRoot, watcher); + } + + watcher.actions += action; + return watcher; + } + + bool disposed; + + public void ReleaseWatch(Action action) + { + actions -= action; + if (actions == null && !disposed) { + WorkbenchSingleton.MainWindow.Activated -= MainWindowActivated; + watchers.Remove(watcher.Path); + this.watcher.Dispose(); + disposed = true; + } + } + } } From aaf34ce6c984f28e63258c32ea9f21ca2514538d Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Mon, 15 Aug 2011 13:43:24 +0200 Subject: [PATCH 159/168] fix performance issue when activating MainWindow --- .../Base/Project/Src/Editor/IDocumentBaseVersionProvider.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Main/Base/Project/Src/Editor/IDocumentBaseVersionProvider.cs b/src/Main/Base/Project/Src/Editor/IDocumentBaseVersionProvider.cs index e72865cb1c..ba37cab336 100644 --- a/src/Main/Base/Project/Src/Editor/IDocumentBaseVersionProvider.cs +++ b/src/Main/Base/Project/Src/Editor/IDocumentBaseVersionProvider.cs @@ -65,8 +65,10 @@ namespace ICSharpCode.SharpDevelop.Editor void MainWindowActivated(object sender, EventArgs e) { - alreadyCalled = false; - actions(); + if (alreadyCalled) { + alreadyCalled = false; + actions(); + } } bool alreadyCalled; From c180a154f23cc4116144c285a547cb2c0899399c Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Mon, 15 Aug 2011 21:31:30 +0200 Subject: [PATCH 160/168] fix deleting rows from settings designer --- .../Project/SettingsView.Designer.cs | 3 ++- .../SettingsEditor/Project/SettingsView.cs | 22 +++++++++++++------ .../Project/SettingsViewContent.cs | 3 ++- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsView.Designer.cs b/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsView.Designer.cs index a316c1af5e..e1ad3b4d7c 100644 --- a/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsView.Designer.cs +++ b/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsView.Designer.cs @@ -53,13 +53,14 @@ namespace ICSharpCode.SettingsEditor this.ValueColumn}); this.grid.DataSource = this.bindingSource; this.grid.Dock = System.Windows.Forms.DockStyle.Fill; - this.grid.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter; + this.grid.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnKeystroke; this.grid.Location = new System.Drawing.Point(0, 0); this.grid.Name = "grid"; this.grid.Size = new System.Drawing.Size(486, 362); this.grid.TabIndex = 0; this.grid.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.GridDataError); this.grid.SelectionChanged += new System.EventHandler(this.GridSelectionChanged); + this.grid.UserDeletingRow += new System.Windows.Forms.DataGridViewRowCancelEventHandler(this.GridUserDeletingRow); // // NameColumn // diff --git a/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsView.cs b/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsView.cs index cbf76cffe6..c8bf483cca 100644 --- a/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsView.cs +++ b/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsView.cs @@ -49,12 +49,8 @@ namespace ICSharpCode.SettingsEditor public SettingsView() { - // - // The InitializeComponent() call is required for Windows Forms designer support. - // InitializeComponent(); - ambience = AmbienceService.GetCurrentAmbience(); foreach (Type type in defaultAvailableTypes) { types.Add(type); @@ -77,9 +73,7 @@ namespace ICSharpCode.SettingsEditor bindingSource.ListChanged += delegate(object sender, ListChangedEventArgs e) { if (e.NewIndex >= 0 && e.NewIndex < bindingSource.Count) { if (((SettingsEntry)bindingSource[e.NewIndex]).Name != null) { - if (SettingsChanged != null) { - SettingsChanged(this, e); - } + OnSettingsChanged(e); } } }; @@ -163,5 +157,19 @@ namespace ICSharpCode.SettingsEditor } return null; } + + void GridUserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) + { + if (e.Row != null && !e.Cancel) { + OnSettingsChanged(EventArgs.Empty); + } + } + + protected virtual void OnSettingsChanged(EventArgs e) + { + if (SettingsChanged != null) { + SettingsChanged(this, e); + } + } } } diff --git a/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsViewContent.cs b/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsViewContent.cs index 1504f6ef2e..1b46d34833 100644 --- a/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsViewContent.cs +++ b/src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsViewContent.cs @@ -31,7 +31,8 @@ namespace ICSharpCode.SettingsEditor propertyContainer.SelectedObjects = view.GetSelectedEntriesForPropertyGrid().ToArray(); }; view.SettingsChanged += delegate { - this.PrimaryFile.MakeDirty(); + if (this.PrimaryFile != null) + this.PrimaryFile.MakeDirty(); if (appConfigFile != null) appConfigFile.MakeDirty(); }; From c82b185296f15aaddef48ee00409e8d6e6d0a230 Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Tue, 16 Aug 2011 12:35:18 +0200 Subject: [PATCH 161/168] fix error when the file is deleted. --- .../Src/AvalonEditViewContent.cs | 10 ++++++---- .../Src/Services/File/FileChangeWatcher.cs | 17 ++++++++++++----- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs index fff266648c..6b1a2cafc2 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs @@ -60,10 +60,12 @@ namespace ICSharpCode.AvalonEdit.AddIn void OnFileExternallyChanged(object sender, EventArgs e) { // handle readonly - bool isExternalReadOnly = (File.GetAttributes(this.PrimaryFileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; - if (isExternalReadOnly != IsReadOnly) { - codeEditor.PrimaryTextEditor.IsReadOnly = isExternalReadOnly; - OnIsReadOnlyChanged(EventArgs.Empty); + if (this.PrimaryFileName != null && File.Exists(this.PrimaryFileName)) { + bool isExternalReadOnly = (File.GetAttributes(this.PrimaryFileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; + if (isExternalReadOnly != IsReadOnly) { + codeEditor.PrimaryTextEditor.IsReadOnly = isExternalReadOnly; + OnIsReadOnlyChanged(EventArgs.Empty); + } } } diff --git a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs index 47b476c502..e9d57f3ff9 100644 --- a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs @@ -9,6 +9,7 @@ using System.Windows.Forms; using ICSharpCode.Core; using ICSharpCode.SharpDevelop.Gui; +using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.SharpDevelop { @@ -162,6 +163,7 @@ namespace ICSharpCode.SharpDevelop watcher.Changed += OnFileChangedEvent; watcher.Created += OnFileChangedEvent; watcher.Renamed += OnFileChangedEvent; + watcher.Deleted += OnFileChangedEvent; } watcher.Path = Path.GetDirectoryName(fileName); watcher.Filter = Path.GetFileName(fileName); @@ -196,11 +198,16 @@ namespace ICSharpCode.SharpDevelop wasChangedExternally = true; OnFileChanged(EventArgs.Empty); - // if the file was only made readonly, don't prevent reloading it from disk - bool readOnly = (System.IO.File.GetAttributes(this.file.FileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; - if (readOnly != isFileReadOnly) - wasChangedExternally = false; - isFileReadOnly = readOnly; + if (System.IO.File.Exists(this.file.FileName)) { + // if the file was only made readonly, prevent reloading it from disk + bool readOnly = (System.IO.File.GetAttributes(this.file.FileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; + if (readOnly != isFileReadOnly) + wasChangedExternally = false; + isFileReadOnly = readOnly; + } else { + // use to raise the events + FileService.RemoveFile(this.file.FileName, false); + } if (WorkbenchSingleton.Workbench.IsActiveWindow) { // delay reloading message a bit, prevents showing two messages From abe834ffe222b2937c6e79aab34f55819596c443 Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu <marcueusebiu@gmail.com> Date: Tue, 16 Aug 2011 13:08:10 +0200 Subject: [PATCH 162/168] move checking the file read only in later call --- .../Src/Services/File/FileChangeWatcher.cs | 29 +++++++------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs index e9d57f3ff9..490f5ec286 100644 --- a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs @@ -3,13 +3,10 @@ using System; using System.Collections.Generic; -using System.Diagnostics; using System.IO; -using System.Windows.Forms; using ICSharpCode.Core; using ICSharpCode.SharpDevelop.Gui; -using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.SharpDevelop { @@ -163,7 +160,6 @@ namespace ICSharpCode.SharpDevelop watcher.Changed += OnFileChangedEvent; watcher.Created += OnFileChangedEvent; watcher.Renamed += OnFileChangedEvent; - watcher.Deleted += OnFileChangedEvent; } watcher.Path = Path.GetDirectoryName(fileName); watcher.Filter = Path.GetFileName(fileName); @@ -198,17 +194,6 @@ namespace ICSharpCode.SharpDevelop wasChangedExternally = true; OnFileChanged(EventArgs.Empty); - if (System.IO.File.Exists(this.file.FileName)) { - // if the file was only made readonly, prevent reloading it from disk - bool readOnly = (System.IO.File.GetAttributes(this.file.FileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; - if (readOnly != isFileReadOnly) - wasChangedExternally = false; - isFileReadOnly = readOnly; - } else { - // use to raise the events - FileService.RemoveFile(this.file.FileName, false); - } - if (WorkbenchSingleton.Workbench.IsActiveWindow) { // delay reloading message a bit, prevents showing two messages // when the file changes twice in quick succession; and prevents @@ -222,12 +207,20 @@ namespace ICSharpCode.SharpDevelop void MainForm_Activated(object sender, EventArgs e) { + if (file == null) + return; + + if (System.IO.File.Exists(file.FileName)) { + // if the file was only made readonly, prevent reloading it from disk + bool readOnly = (System.IO.File.GetAttributes(this.file.FileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; + if (readOnly != isFileReadOnly) + wasChangedExternally = false; + isFileReadOnly = readOnly; + } + if (wasChangedExternally) { wasChangedExternally = false; - if (file == null) - return; - string fileName = file.FileName; if (!System.IO.File.Exists(fileName)) return; From 72744d5e317421ed5c1eff12d2c9f1eaec7bdbda Mon Sep 17 00:00:00 2001 From: Daniel Grunwald <daniel@danielgrunwald.de> Date: Tue, 16 Aug 2011 14:05:29 +0200 Subject: [PATCH 163/168] Fix ILAsmBinding. --- samples/ILAsmBinding/Project/Src/ILAsmProjectBinding.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/samples/ILAsmBinding/Project/Src/ILAsmProjectBinding.cs b/samples/ILAsmBinding/Project/Src/ILAsmProjectBinding.cs index ce5c29d7f1..bb47bd4904 100644 --- a/samples/ILAsmBinding/Project/Src/ILAsmProjectBinding.cs +++ b/samples/ILAsmBinding/Project/Src/ILAsmProjectBinding.cs @@ -31,5 +31,9 @@ namespace ICSharpCode.ILAsmBinding { return new ILAsmProject(info); } + + public bool HandlingMissingProject { + get { return false; } + } } } From 793e35797a4e4e047ff2125b8d0bdd3bffbc21e3 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald <daniel@danielgrunwald.de> Date: Tue, 16 Aug 2011 14:08:55 +0200 Subject: [PATCH 164/168] Revert patches for SD-1783 (react to "read only" changes). --- .../Scripting/Test/Utils/MockViewContent.cs | 8 --- .../WixBinding/Test/Utils/MockViewContent.cs | 1 - .../Src/AvalonEditViewContent.cs | 22 ++------ .../XmlEditor/Test/Utils/MockViewContent.cs | 9 ---- .../Test/Designer/MockViewContend.cs | 8 --- .../Project/Src/Gui/AbstractViewContent.cs | 15 ++---- src/Main/Base/Project/Src/Gui/IViewContent.cs | 5 -- .../Layouts/AvalonWorkbenchWindow.cs | 4 +- .../Src/Services/File/FileChangeWatcher.cs | 50 ++++--------------- .../Project/Src/Util/FakeXmlViewContent.cs | 9 ---- 10 files changed, 17 insertions(+), 114 deletions(-) diff --git a/src/AddIns/BackendBindings/Scripting/Test/Utils/MockViewContent.cs b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockViewContent.cs index c571024080..63c062ea2c 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/Utils/MockViewContent.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockViewContent.cs @@ -26,7 +26,6 @@ namespace ICSharpCode.Scripting.Tests.Utils public event EventHandler TabPageTextChanged; public event EventHandler Disposed; public event EventHandler IsDirtyChanged; - public event EventHandler IsReadOnlyChanged; public string TitleName { get { @@ -235,13 +234,6 @@ namespace ICSharpCode.Scripting.Tests.Utils } } - protected virtual void OnIsReadOnlyChanged(EventArgs e) - { - if (IsReadOnlyChanged != null) { - IsReadOnlyChanged(this, e); - } - } - public object GetService(Type serviceType) { return null; diff --git a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockViewContent.cs b/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockViewContent.cs index 759927190b..f46e5dfc15 100644 --- a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockViewContent.cs +++ b/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockViewContent.cs @@ -41,7 +41,6 @@ namespace WixBinding.Tests.Utils public event EventHandler IsDirtyChanged; public event EventHandler TitleNameChanged; public event EventHandler InfoTipChanged; - public event EventHandler IsReadOnlyChanged; #pragma warning restore 67 public IList<OpenedFile> Files { diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs index 6b1a2cafc2..0f6e95a0aa 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs @@ -5,12 +5,15 @@ using System; using System.IO; using System.Linq; using System.Text; - +using System.Windows.Threading; using ICSharpCode.AvalonEdit.AddIn.Options; +using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Highlighting; +using ICSharpCode.AvalonEdit.Utils; using ICSharpCode.Core; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Bookmarks; +using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Project; @@ -50,23 +53,6 @@ namespace ICSharpCode.AvalonEdit.AddIn codeEditor.Document.UndoStack.PropertyChanged += codeEditor_Document_UndoStack_PropertyChanged; codeEditor.CaretPositionChanged += CaretChanged; codeEditor.TextCopied += codeEditor_TextCopied; - - // get the watcher for the file - var watcher = FileChangeWatcher.ActiveWatchers.FirstOrDefault(w => w.File == file); - if (watcher != null) - watcher.FileChanged += OnFileExternallyChanged; - } - - void OnFileExternallyChanged(object sender, EventArgs e) - { - // handle readonly - if (this.PrimaryFileName != null && File.Exists(this.PrimaryFileName)) { - bool isExternalReadOnly = (File.GetAttributes(this.PrimaryFileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; - if (isExternalReadOnly != IsReadOnly) { - codeEditor.PrimaryTextEditor.IsReadOnly = isExternalReadOnly; - OnIsReadOnlyChanged(EventArgs.Empty); - } - } } void codeEditor_Document_UndoStack_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) diff --git a/src/AddIns/DisplayBindings/XmlEditor/Test/Utils/MockViewContent.cs b/src/AddIns/DisplayBindings/XmlEditor/Test/Utils/MockViewContent.cs index 426b0fa041..dc81f5cc3c 100644 --- a/src/AddIns/DisplayBindings/XmlEditor/Test/Utils/MockViewContent.cs +++ b/src/AddIns/DisplayBindings/XmlEditor/Test/Utils/MockViewContent.cs @@ -53,15 +53,6 @@ namespace XmlEditor.Tests.Utils } } - public event EventHandler IsReadOnlyChanged; - - protected virtual void OnIsReadOnlyChanged(EventArgs e) - { - if (IsReadOnlyChanged != null) { - IsReadOnlyChanged(this, e); - } - } - public object Control { get { throw new NotImplementedException(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/MockViewContend.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/MockViewContend.cs index c4318d0603..468ed8876c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/MockViewContend.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/MockViewContend.cs @@ -28,7 +28,6 @@ namespace ICSharpCode.Reports.Addin.Test.Designer public event EventHandler TabPageTextChanged; public event EventHandler Disposed; public event EventHandler IsDirtyChanged; - public event EventHandler IsReadOnlyChanged; public object Control { @@ -231,13 +230,6 @@ namespace ICSharpCode.Reports.Addin.Test.Designer } } - protected virtual void OnIsReadOnlyChanged(EventArgs e) - { - if (IsReadOnlyChanged != null) { - IsReadOnlyChanged(this, e); - } - } - public object InitiallyFocusedControl { get { throw new NotImplementedException(); diff --git a/src/Main/Base/Project/Src/Gui/AbstractViewContent.cs b/src/Main/Base/Project/Src/Gui/AbstractViewContent.cs index 03bd333ac5..121abe3c91 100644 --- a/src/Main/Base/Project/Src/Gui/AbstractViewContent.cs +++ b/src/Main/Base/Project/Src/Gui/AbstractViewContent.cs @@ -2,10 +2,11 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using System.ComponentModel.Design; using System.Collections.Generic; using System.Collections.ObjectModel; -using System.ComponentModel.Design; using System.IO; +using System.Windows.Forms; using ICSharpCode.Core; using ICSharpCode.Core.Presentation; @@ -392,6 +393,7 @@ namespace ICSharpCode.SharpDevelop.Gui } #endregion + #region InfoTip public event EventHandler InfoTipChanged; @@ -606,7 +608,6 @@ namespace ICSharpCode.SharpDevelop.Gui return null; } - #region Read only /// <summary> /// Gets if the view content is read-only (can be saved only when choosing another file name). /// </summary> @@ -614,16 +615,6 @@ namespace ICSharpCode.SharpDevelop.Gui get { return false; } } - public event EventHandler IsReadOnlyChanged; - - protected virtual void OnIsReadOnlyChanged(EventArgs e) - { - if (IsReadOnlyChanged != null) { - IsReadOnlyChanged(this, e); - } - } - #endregion - /// <summary> /// Gets if the view content is view-only (cannot be saved at all). /// </summary> diff --git a/src/Main/Base/Project/Src/Gui/IViewContent.cs b/src/Main/Base/Project/Src/Gui/IViewContent.cs index 05f420334c..ec18b3f5c3 100644 --- a/src/Main/Base/Project/Src/Gui/IViewContent.cs +++ b/src/Main/Base/Project/Src/Gui/IViewContent.cs @@ -145,11 +145,6 @@ namespace ICSharpCode.SharpDevelop.Gui /// </summary> bool IsReadOnly { get; } - /// <summary> - /// Is called each time the IsReadonly for the content has changed. - /// </summary> - event EventHandler IsReadOnlyChanged; - /// <summary> /// Gets if the view content is view-only (cannot be saved at all). /// </summary> diff --git a/src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs b/src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs index a8e10c1d35..63deff3e5b 100644 --- a/src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs +++ b/src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs @@ -145,10 +145,8 @@ namespace ICSharpCode.SharpDevelop.Gui UpdateTitleAndInfoTip(); IViewContent newActiveViewContent = this.ActiveViewContent; - if (newActiveViewContent != null) { + if (newActiveViewContent != null) IsLocked = newActiveViewContent.IsReadOnly; - newActiveViewContent.IsReadOnlyChanged += delegate { IsLocked = newActiveViewContent.IsReadOnly; }; - } if (oldActiveViewContent != newActiveViewContent && ActiveViewContentChanged != null) { ActiveViewContentChanged(this, EventArgs.Empty); diff --git a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs index 490f5ec286..dcfe810a6e 100644 --- a/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs +++ b/src/Main/Base/Project/Src/Services/File/FileChangeWatcher.cs @@ -3,14 +3,15 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.IO; - -using ICSharpCode.Core; +using System.Windows.Forms; using ICSharpCode.SharpDevelop.Gui; +using ICSharpCode.Core; namespace ICSharpCode.SharpDevelop { - public sealed class FileChangeWatcher : IDisposable + internal sealed class FileChangeWatcher : IDisposable { public static bool DetectExternalChangesOption { get { @@ -36,10 +37,6 @@ namespace ICSharpCode.SharpDevelop static HashSet<FileChangeWatcher> activeWatchers = new HashSet<FileChangeWatcher>(); - public static HashSet<FileChangeWatcher> ActiveWatchers { - get { return activeWatchers; } - } - static int globalDisableCount; public static bool AllChangeWatchersDisabled { @@ -66,23 +63,9 @@ namespace ICSharpCode.SharpDevelop Project.ProjectChangeWatcher.OnAllChangeWatchersDisabledChanged(); } - public event EventHandler FileChanged; - - void OnFileChanged(EventArgs e) - { - if (FileChanged != null) { - FileChanged(this, e); - } - } - FileSystemWatcher watcher; bool wasChangedExternally = false; OpenedFile file; - bool isFileReadOnly; - - public OpenedFile File { - get { return file; } - } public FileChangeWatcher(OpenedFile file) { @@ -93,10 +76,6 @@ namespace ICSharpCode.SharpDevelop file.FileNameChanged += file_FileNameChanged; activeWatchers.Add(this); SetWatcher(); - - if (System.IO.File.Exists(this.file.FileName)) { - isFileReadOnly = (System.IO.File.GetAttributes(this.file.FileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; - } } void file_FileNameChanged(object sender, EventArgs e) @@ -164,7 +143,6 @@ namespace ICSharpCode.SharpDevelop watcher.Path = Path.GetDirectoryName(fileName); watcher.Filter = Path.GetFileName(fileName); watcher.EnableRaisingEvents = true; - watcher.NotifyFilter |= NotifyFilters.Attributes; } catch (PlatformNotSupportedException) { if (watcher != null) { watcher.Dispose(); @@ -192,8 +170,6 @@ namespace ICSharpCode.SharpDevelop LoggingService.Debug("File " + file.FileName + " was changed externally: " + e.ChangeType); if (!wasChangedExternally) { wasChangedExternally = true; - OnFileChanged(EventArgs.Empty); - if (WorkbenchSingleton.Workbench.IsActiveWindow) { // delay reloading message a bit, prevents showing two messages // when the file changes twice in quick succession; and prevents @@ -207,22 +183,14 @@ namespace ICSharpCode.SharpDevelop void MainForm_Activated(object sender, EventArgs e) { - if (file == null) - return; - - if (System.IO.File.Exists(file.FileName)) { - // if the file was only made readonly, prevent reloading it from disk - bool readOnly = (System.IO.File.GetAttributes(this.file.FileName) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; - if (readOnly != isFileReadOnly) - wasChangedExternally = false; - isFileReadOnly = readOnly; - } - if (wasChangedExternally) { wasChangedExternally = false; + if (file == null) + return; + string fileName = file.FileName; - if (!System.IO.File.Exists(fileName)) + if (!File.Exists(fileName)) return; string message = StringParser.Parse( @@ -232,7 +200,7 @@ namespace ICSharpCode.SharpDevelop if ((AutoLoadExternalChangesOption && file.IsDirty == false) || MessageService.AskQuestion(message, StringParser.Parse("${res:MainWindow.DialogName}"))) { - if (System.IO.File.Exists(fileName)) { + if (File.Exists(fileName)) { file.ReloadFromDisk(); } } else { diff --git a/src/Main/Base/Project/Src/Util/FakeXmlViewContent.cs b/src/Main/Base/Project/Src/Util/FakeXmlViewContent.cs index 46bfa4d3d3..fa3d7f3250 100644 --- a/src/Main/Base/Project/Src/Util/FakeXmlViewContent.cs +++ b/src/Main/Base/Project/Src/Util/FakeXmlViewContent.cs @@ -213,14 +213,5 @@ namespace ICSharpCode.SharpDevelop.Util return null; } #endregion - - public event EventHandler IsReadOnlyChanged; - - protected void OnIsReadOnlyChanged(EventArgs e) - { - if (IsReadOnlyChanged != null) { - IsReadOnlyChanged(this, e); - } - } } } From aa555cdee6a0d079a82af86ccd54f5c036b61a16 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald <daniel@danielgrunwald.de> Date: Wed, 17 Aug 2011 17:30:38 +0200 Subject: [PATCH 165/168] SD-1842: Replace WindowsFormsHost with a custom implementation. This hopefully fixes SD-1842 - ArgumentException in SetActiveControlInternal (WindowsFormsHost.RestoreFocusedChild) --- .../Project/Src/Util/SDWindowsFormsHost.cs | 4 +- .../Project/CustomWindowsFormsHost.cs | 293 ++++++++++++++++++ .../ICSharpCode.SharpDevelop.Widgets.csproj | 1 + 3 files changed, 296 insertions(+), 2 deletions(-) create mode 100644 src/Main/ICSharpCode.SharpDevelop.Widgets/Project/CustomWindowsFormsHost.cs diff --git a/src/Main/Base/Project/Src/Util/SDWindowsFormsHost.cs b/src/Main/Base/Project/Src/Util/SDWindowsFormsHost.cs index aeabfff577..9fda6d4888 100644 --- a/src/Main/Base/Project/Src/Util/SDWindowsFormsHost.cs +++ b/src/Main/Base/Project/Src/Util/SDWindowsFormsHost.cs @@ -5,16 +5,16 @@ using System; using System.Windows.Forms; using System.Windows.Forms.Integration; using System.Windows.Input; - using ICSharpCode.Core.WinForms; using ICSharpCode.SharpDevelop.Util; +using ICSharpCode.SharpDevelop.Widgets; namespace ICSharpCode.SharpDevelop.Gui { /// <summary> /// WindowsFormsHost used in SharpDevelop. /// </summary> - public class SDWindowsFormsHost : WindowsFormsHost + public class SDWindowsFormsHost : CustomWindowsFormsHost { /// <summary> /// Creates a new SDWindowsFormsHost instance. diff --git a/src/Main/ICSharpCode.SharpDevelop.Widgets/Project/CustomWindowsFormsHost.cs b/src/Main/ICSharpCode.SharpDevelop.Widgets/Project/CustomWindowsFormsHost.cs new file mode 100644 index 0000000000..c07a426992 --- /dev/null +++ b/src/Main/ICSharpCode.SharpDevelop.Widgets/Project/CustomWindowsFormsHost.cs @@ -0,0 +1,293 @@ +using System; +using System.Diagnostics; +using System.Runtime.InteropServices; +using System.Windows; +using System.Windows.Forms; +using System.Windows.Input; +using System.Windows.Interop; +using System.Windows.Media; +using System.Windows.Threading; + +namespace ICSharpCode.SharpDevelop.Widgets +{ + using TextBlock = System.Windows.Controls.TextBlock; + + /// <summary> + /// A custom Windows Forms Host implementation. + /// Hopefully fixes SD-1842 - ArgumentException in SetActiveControlInternal (WindowsFormsHost.RestoreFocusedChild) + /// </summary> + public class CustomWindowsFormsHost : HwndHost, IKeyboardInputSink + { + // Interactions of the MS WinFormsHost: + // IME + // Font sync + // Property sync + // Background sync (rendering bitmaps!) + // Access keys + // Tab Navigation + // Save/Restore focus for app switch + // Size feedback (WinForms control tells WPF desired size) + // Focus enter/leave - validation events + // ... + + // We don't need most of that. + + // Bugs in the our implementation: + // - Slight background color mismatch in project options + + static class Win32 + { + [DllImport("user32.dll")] + public static extern IntPtr GetFocus(); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool IsChild(IntPtr hWndParent, IntPtr hwnd); + + [DllImport("user32.dll")] + internal static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam); + + [DllImport("user32.dll")] + internal static extern IntPtr SetParent(IntPtr hWnd, IntPtr hWndParent); + } + + #region Remember/RestoreFocusedChild + sealed class HostNativeWindow : NativeWindow + { + readonly CustomWindowsFormsHost host; + + public HostNativeWindow(CustomWindowsFormsHost host) + { + this.host = host; + } + + protected override void WndProc(ref Message m) + { + const int WM_ACTIVATEAPP = 0x1C; + if (m.Msg == WM_ACTIVATEAPP) { + if (m.WParam == IntPtr.Zero) { + // The window is being deactivated: + // If a WinForms control within this host has focus, remember it. + IntPtr focus = Win32.GetFocus(); + if (focus == host.Handle || Win32.IsChild(host.Handle, focus)) { + host.RememberActiveControl(); + host.Log("Window deactivated; RememberActiveControl(): " + host.savedActiveControl); + } else { + host.Log("Window deactivated; but focus not within WinForms"); + } + } else { + // The window is being activated. + host.Log("Window activated"); + host.Dispatcher.BeginInvoke( + DispatcherPriority.Normal, + new Action(host.RestoreActiveControl)); + } + } + base.WndProc(ref m); + } + } + + HostNativeWindow hostNativeWindow; + Control savedActiveControl; + + void RememberActiveControl() + { + savedActiveControl = container.ActiveControl; + } + + void RestoreActiveControl() + { + if (savedActiveControl != null) { + Log("RestoreActiveControl(): " + savedActiveControl); + savedActiveControl.Focus(); + savedActiveControl = null; + } + } + #endregion + + #region Container + sealed class HostedControlContainer : ContainerControl + { + Control child; + + protected override void OnHandleCreated(EventArgs e) + { + base.OnHandleCreated(e); + const int WM_UPDATEUISTATE = 0x0128; + const int UISF_HIDEACCEL = 2; + const int UISF_HIDEFOCUS = 1; + const int UIS_SET = 1; + Win32.SendMessage(this.Handle, WM_UPDATEUISTATE, new IntPtr(UISF_HIDEACCEL | UISF_HIDEFOCUS | (UIS_SET << 16)), IntPtr.Zero); + } + + public Control Child { + get { return child; } + set { + if (child != null) { + this.Controls.Remove(child); + } + child = value; + if (value != null) { + value.Dock = DockStyle.Fill; + this.Controls.Add(value); + } + } + } + } + #endregion + + readonly HostedControlContainer container; + + #region Constructors + /// <summary> + /// Creates a new CustomWindowsFormsHost instance. + /// </summary> + public CustomWindowsFormsHost() + { + this.container = new HostedControlContainer(); + Init(); + } + + /// <summary> + /// Creates a new CustomWindowsFormsHost instance that allows hosting controls + /// from the specified AppDomain. + /// </summary> + public CustomWindowsFormsHost(AppDomain childDomain) + { + Type type = typeof(HostedControlContainer); + this.container = (HostedControlContainer)childDomain.CreateInstanceAndUnwrap(type.Assembly.FullName, type.FullName); + Init(); + } + + void Init() + { + this.EnableFontInheritance = true; + this.Loaded += OnLoaded; + this.Unloaded += OnUnloaded; + Log("Instance created"); + } + + void OnLoaded(object sender, RoutedEventArgs e) + { + Log("OnLoaded()"); + SetFont(); + if (hwndParent.Handle != IntPtr.Zero && hostNativeWindow != null) { + if (hostNativeWindow.Handle == IntPtr.Zero) + hostNativeWindow.AssignHandle(hwndParent.Handle); + } + } + + void OnUnloaded(object sender, RoutedEventArgs e) + { + Log("OnUnloaded()"); + if (hostNativeWindow != null) { + savedActiveControl = null; + hostNativeWindow.ReleaseHandle(); + } + } + #endregion + + #region Font Synchronization + protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) + { + base.OnPropertyChanged(e); + if (e.Property == TextBlock.FontFamilyProperty || e.Property == TextBlock.FontSizeProperty) { + SetFont(); + } + } + + public bool EnableFontInheritance { get; set; } + + void SetFont() + { + if (!EnableFontInheritance) + return; + string fontFamily = TextBlock.GetFontFamily(this).Source; + float fontSize = (float)(TextBlock.GetFontSize(this) * (72.0 / 96.0)); + container.Font = new System.Drawing.Font(fontFamily, fontSize, System.Drawing.FontStyle.Regular); + } + #endregion + + public Control Child { + get { return container.Child; } + set { container.Child = value; } + } + + protected override Size MeasureOverride(Size constraint) + { + return new Size(0, 0); + } + + protected override Size ArrangeOverride(Size finalSize) + { + container.Size = new System.Drawing.Size((int)finalSize.Width, (int)finalSize.Height); + return finalSize; + } + + HandleRef hwndParent; + + protected override HandleRef BuildWindowCore(HandleRef hwndParent) + { + Log("BuildWindowCore"); + if (hostNativeWindow != null) { + hostNativeWindow.ReleaseHandle(); + } else { + hostNativeWindow = new CustomWindowsFormsHost.HostNativeWindow(this); + } + this.hwndParent = hwndParent; + hostNativeWindow.AssignHandle(hwndParent.Handle); + + IntPtr childHandle = container.Handle; + Win32.SetParent(childHandle, hwndParent.Handle); + return new HandleRef(container, childHandle); + } + + protected override void DestroyWindowCore(HandleRef hwnd) + { + Log("DestroyWindowCore"); + hostNativeWindow.ReleaseHandle(); + savedActiveControl = null; + hwndParent = default(HandleRef); + } + + protected override void Dispose(bool disposing) + { + Log("Dispose (disposing="+disposing+")"); + base.Dispose(disposing); + if (disposing) { + container.Dispose(); + } + } + + protected override IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled) + { + switch (msg) { + case 0x0007: // WM_SETFOCUS + case 0x0021: // WM_MOUSEACTIVATE + // Give the WindowsFormsHost logical focus: + DependencyObject focusScope = this; + while (focusScope != null && !FocusManager.GetIsFocusScope(focusScope)) { + focusScope = VisualTreeHelper.GetParent(focusScope); + } + if (focusScope != null) { + FocusManager.SetFocusedElement(focusScope, this); + } + break; + } + return base.WndProc(hwnd, msg, wParam, lParam, ref handled); + } + + #if DEBUG + static int hostCount; + int instanceID = System.Threading.Interlocked.Increment(ref hostCount); + #endif + + [Conditional("DEBUG")] + void Log(string text) + { + #if DEBUG + Debug.WriteLine("CustomWindowsFormsHost #{0}: {1}", instanceID, text); + #endif + } + } +} diff --git a/src/Main/ICSharpCode.SharpDevelop.Widgets/Project/ICSharpCode.SharpDevelop.Widgets.csproj b/src/Main/ICSharpCode.SharpDevelop.Widgets/Project/ICSharpCode.SharpDevelop.Widgets.csproj index b8fb0e7900..900cad8533 100644 --- a/src/Main/ICSharpCode.SharpDevelop.Widgets/Project/ICSharpCode.SharpDevelop.Widgets.csproj +++ b/src/Main/ICSharpCode.SharpDevelop.Widgets/Project/ICSharpCode.SharpDevelop.Widgets.csproj @@ -68,6 +68,7 @@ <DependentUpon>ColorPicker.xaml</DependentUpon> </Compile> <Compile Include="Configuration\AssemblyInfo.cs" /> + <Compile Include="CustomWindowsFormsHost.cs" /> <Compile Include="DragListener.cs" /> <Compile Include="ListViewSorting\AbstractListViewParseableColumnComparer.cs" /> <Compile Include="ListViewSorting\AbstractListViewSubItemComparer.cs" /> From 392871bf6342d5410a8e77ab3a9f85f218aac7cd Mon Sep 17 00:00:00 2001 From: Daniel Grunwald <daniel@danielgrunwald.de> Date: Sat, 20 Aug 2011 17:14:17 +0200 Subject: [PATCH 166/168] Save width+height of floating pad using invariant culture. --- .../Analysis/SourceAnalysis/SourceAnalysis.addin | 4 ---- .../AvalonDock/AvalonDock/DockableContent.cs | 13 +++++++------ 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/AddIns/Analysis/SourceAnalysis/SourceAnalysis.addin b/src/AddIns/Analysis/SourceAnalysis/SourceAnalysis.addin index 7ef9c1efe6..03e057c421 100644 --- a/src/AddIns/Analysis/SourceAnalysis/SourceAnalysis.addin +++ b/src/AddIns/Analysis/SourceAnalysis/SourceAnalysis.addin @@ -17,10 +17,6 @@ <String id="SourceAnalysis" text = "${AddInPath:MattEverson.SourceAnalysis}/SharpDevelop.SourceAnalysis.targets"/> </Path> - <Path name = "/SharpDevelop/MSBuildEngine/AdditionalProperties"> - <String id="StyleCopDir" text = "${property:SourceAnalysis.StyleCopPath}"/> - </Path> - <Path name = "/SharpDevelop/BackendBindings/ProjectOptions/AllManaged"> <OptionPanel id = "SourceAnalysis" label = "${res:AddIns.SourceAnalysis.Title}" diff --git a/src/Libraries/AvalonDock/AvalonDock/DockableContent.cs b/src/Libraries/AvalonDock/AvalonDock/DockableContent.cs index 322917f0ea..9359671e51 100644 --- a/src/Libraries/AvalonDock/AvalonDock/DockableContent.cs +++ b/src/Libraries/AvalonDock/AvalonDock/DockableContent.cs @@ -25,6 +25,7 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.Text; using System.Windows; using System.Windows.Controls; @@ -879,9 +880,9 @@ namespace AvalonDock storeWriter.WriteAttributeString( "ChildIndex", SavedStateAndPosition.ChildIndex.ToString()); storeWriter.WriteAttributeString( - "Width", SavedStateAndPosition.Width.ToString()); + "Width", SavedStateAndPosition.Width.ToString(NumberFormatInfo.InvariantInfo)); storeWriter.WriteAttributeString( - "Height", SavedStateAndPosition.Height.ToString()); + "Height", SavedStateAndPosition.Height.ToString(NumberFormatInfo.InvariantInfo)); storeWriter.WriteAttributeString( "Anchor", SavedStateAndPosition.Anchor.ToString()); storeWriter.WriteAttributeString( @@ -938,8 +939,8 @@ namespace AvalonDock _savedStateAndPosition = new DockableContentStateAndPosition( paneRef, int.Parse(contentElement.GetAttribute("ChildIndex")), - double.Parse(contentElement.GetAttribute("Width")), - double.Parse(contentElement.GetAttribute("Height")), + double.Parse(contentElement.GetAttribute("Width"), NumberFormatInfo.InvariantInfo), + double.Parse(contentElement.GetAttribute("Height"), NumberFormatInfo.InvariantInfo), (AnchorStyle)Enum.Parse(typeof(AnchorStyle), contentElement.GetAttribute("Anchor")), (DockableContentState)Enum.Parse(typeof(DockableContentState), contentElement.GetAttribute("State"))); } @@ -948,8 +949,8 @@ namespace AvalonDock _savedStateAndPosition = new DockableContentStateAndPosition( containerPaneGuid, int.Parse(contentElement.GetAttribute("ChildIndex")), - double.Parse(contentElement.GetAttribute("Width")), - double.Parse(contentElement.GetAttribute("Height")), + double.Parse(contentElement.GetAttribute("Width"), NumberFormatInfo.InvariantInfo), + double.Parse(contentElement.GetAttribute("Height"), NumberFormatInfo.InvariantInfo), (AnchorStyle)Enum.Parse(typeof(AnchorStyle), contentElement.GetAttribute("Anchor")), (DockableContentState)Enum.Parse(typeof(DockableContentState), contentElement.GetAttribute("State"))); } From 4f5fc89e8f6401d9d43e330cb0816e9b35407a5c Mon Sep 17 00:00:00 2001 From: Daniel Grunwald <daniel@danielgrunwald.de> Date: Sat, 20 Aug 2011 17:48:57 +0200 Subject: [PATCH 167/168] Handle FileNotFoundException when file gets deleted/renamed while a background parse operation for that file is starting. --- .../Src/Services/ParserService/ParserService.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Main/Base/Project/Src/Services/ParserService/ParserService.cs b/src/Main/Base/Project/Src/Services/ParserService/ParserService.cs index 433a9ab7b8..dfa5a7ed72 100644 --- a/src/Main/Base/Project/Src/Services/ParserService/ParserService.cs +++ b/src/Main/Base/Project/Src/Services/ParserService/ParserService.cs @@ -406,7 +406,20 @@ namespace ICSharpCode.SharpDevelop if (fileContent == null) { // GetParseableFileContent must not be called inside any lock // (otherwise we'd risk deadlocks because GetParseableFileContent must invoke on the main thread) - fileContent = GetParseableFileContent(fileName); + try { + fileContent = GetParseableFileContent(fileName); + } catch (System.Reflection.TargetInvocationException ex) { + // It is possible that the file gets deleted/becomes inaccessible while a background parse + // operation is enqueued, so we have to handle IO exceptions. + if (ex.InnerException is IOException || ex.InnerException is UnauthorizedAccessException) + return null; + else + throw; + } catch (IOException) { + return null; + } catch (UnauthorizedAccessException) { + return null; + } } ITextBufferVersion fileContentVersion = fileContent.Version; From f9dfd7811c5fa1f819ed2959ae596b651ed79ab3 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald <daniel@danielgrunwald.de> Date: Sat, 20 Aug 2011 22:39:36 +0200 Subject: [PATCH 168/168] Fix RGB <-> HSV conversion. --- .../ICSharpCode.SharpDevelop.Widgets/Project/ColorHelper.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Main/ICSharpCode.SharpDevelop.Widgets/Project/ColorHelper.cs b/src/Main/ICSharpCode.SharpDevelop.Widgets/Project/ColorHelper.cs index 6df1e66c4d..a78e86adc7 100644 --- a/src/Main/ICSharpCode.SharpDevelop.Widgets/Project/ColorHelper.cs +++ b/src/Main/ICSharpCode.SharpDevelop.Widgets/Project/ColorHelper.cs @@ -61,6 +61,8 @@ namespace ICSharpCode.SharpDevelop.Widgets else { h = 60 * (r - g) / (max - min) + 240; } + + if (h < 0) h += 360; // C# '%' can return negative values, use real modulus instead if (max == 0) { s = 0; @@ -76,6 +78,7 @@ namespace ICSharpCode.SharpDevelop.Widgets public static void RgbFromHsv(double h, double s, double v, out double r, out double g, out double b) { h = h % 360; + if (h < 0) h += 360; // C# '%' can return negative values, use real modulus instead int hi = (int)(h / 60) % 6; var f = h / 60 - (int)(h / 60); var p = v * (1 - s);