Browse Source

Grouping

reports
Peter Forstmeier 12 years ago
parent
commit
6307d68d90
  1. 1171
      SharpDevelop.Tests.sln
  2. 3
      src/AddIns/Analysis/SourceAnalysis/SourceAnalysis.csproj
  3. 4
      src/AddIns/BackendBindings/FSharpBinding/FSharpBinding.csproj
  4. 14
      src/AddIns/BackendBindings/WixBinding/Project/WixBinding.csproj
  5. 9
      src/AddIns/DisplayBindings/ILSpyAddIn/ILSpyAddIn.csproj
  6. 8
      src/AddIns/DisplayBindings/IconEditor/IconEditor.csproj
  7. 12
      src/AddIns/Misc/AddInManager/Project/AddInManager.csproj
  8. 5
      src/AddIns/Misc/FiletypeRegisterer/Project/FiletypeRegisterer.csproj
  9. 8
      src/AddIns/Misc/PackageManagement/SharpDevelop.EnvDTE/SharpDevelop.EnvDTE.vbproj
  10. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj
  11. 7
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Arrange/ArrangeStrategy.cs
  12. 38
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/BaseClasses/GroupColumn.cs
  13. 21
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Collections.cs
  14. 141
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/DataManager/Listhandling/CollectionSource.cs
  15. 27
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/DataSource/Comparer/GroupComparer.cs
  16. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/WpfVisitor.cs
  17. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/Data/IDataViewHandling.cs
  18. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportSettings.cs
  19. 37
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/DataSource/CollectionHandlingFixture.cs
  20. 17
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/DataSource/ContributorsList.cs
  21. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.Reports.Addin.csproj
  22. 12
      src/AddIns/Misc/SearchAndReplace/Project/SearchAndReplace.csproj
  23. 4
      src/AddIns/VersionControl/SubversionAddIn/SubversionAddIn.csproj
  24. 2
      src/Libraries/AvalonDock/AvalonDock/AvalonDock.csproj
  25. 32
      src/Main/ICSharpCode.Core.WinForms/ICSharpCode.Core.WinForms.csproj

1171
SharpDevelop.Tests.sln

File diff suppressed because it is too large Load Diff

3
src/AddIns/Analysis/SourceAnalysis/SourceAnalysis.csproj

@ -6,7 +6,7 @@ @@ -6,7 +6,7 @@
<AssemblyName>SourceAnalysis</AssemblyName>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{3EAA45A9-735C-4AC7-A799-947B93EA449D}</ProjectGuid>
<ProjectGuid>{C16BEA37-FEE8-4792-B860-48F5BFBD39A9}</ProjectGuid>
<OutputPath>..\..\..\..\AddIns\Analysis\SourceAnalysis</OutputPath>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
@ -83,7 +83,6 @@ @@ -83,7 +83,6 @@
<Compile Include="Src\CheckCurrentProjectCommand.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="Resources" />
<ProjectReference Include="..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj">
<Project>{2748AD25-9C63-4E12-877B-4DCE96FBED54}</Project>
<Name>ICSharpCode.SharpDevelop</Name>

4
src/AddIns/BackendBindings/FSharpBinding/FSharpBinding.csproj

@ -62,7 +62,9 @@ @@ -62,7 +62,9 @@
<Compile Include="FSharpProject.cs" />
<Compile Include="FSharpProjectNode.cs" />
<Compile Include="FSharpProjectNodeBuilder.cs" />
<Compile Include="FsOptions.cs" />
<Compile Include="FsOptions.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="ProjectHelpers.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Resources\FS-Mode.xshd" />

14
src/AddIns/BackendBindings/WixBinding/Project/WixBinding.csproj

@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.40607</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{e1b288a2-08ee-4318-8bbb-8ab72c69e33e}</ProjectGuid>
<ProjectGuid>{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}</ProjectGuid>
<RootNamespace>ICSharpCode.WixBinding</RootNamespace>
<AssemblyName>WixBinding</AssemblyName>
<OutputTarget>Library</OutputTarget>
@ -107,7 +107,9 @@ @@ -107,7 +107,9 @@
<Compile Include="Src\Commands\AddWixLibraryToProject.cs" />
<Compile Include="Src\WixDocument.cs" />
<Compile Include="Src\WixNamespaceManager.cs" />
<Compile Include="Src\Gui\SetupDialogListView.cs" />
<Compile Include="Src\Gui\SetupDialogListView.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Src\Gui\SetupDialogListPad.cs" />
<Compile Include="Src\Commands\OpenDialogCommand.cs" />
<Compile Include="Src\Commands\ViewDialogXmlCommand.cs" />
@ -127,7 +129,9 @@ @@ -127,7 +129,9 @@
<Compile Include="Src\IWixDialogDesigner.cs" />
<Compile Include="Src\WixPropertyParser.cs" />
<Compile Include="Src\Gui\SetupDialogControlsSideTab.cs" />
<Compile Include="Src\Gui\RadioButtonGroupBox.cs" />
<Compile Include="Src\Gui\RadioButtonGroupBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Src\WixDialogException.cs" />
<Compile Include="Src\WixDocumentLineSegment.cs" />
<Compile Include="Src\IWixPackageFilesView.cs" />
@ -225,9 +229,6 @@ @@ -225,9 +229,6 @@
<Name>ICSharpCode.Core</Name>
<Private>False</Private>
</ProjectReference>
<Folder Include="Configuration" />
<Folder Include="Resources" />
<Folder Include="Src\Commands" />
<ProjectReference Include="..\..\..\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj">
<Project>{0162E499-42D0-409B-AA25-EED21F75336B}</Project>
<Name>AvalonEdit.AddIn</Name>
@ -245,7 +246,6 @@ @@ -245,7 +246,6 @@
<Content Include="SetupDialogControlLibrary.sdcl">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Folder Include="Src\PropertyGrid" />
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj">
<Project>{8035765F-D51F-4A0C-A746-2FD100E19419}</Project>
<Name>ICSharpCode.SharpDevelop.Widgets</Name>

9
src/AddIns/DisplayBindings/ILSpyAddIn/ILSpyAddIn.csproj

@ -71,7 +71,9 @@ @@ -71,7 +71,9 @@
<Compile Include="NavigateToDecompiledEntityService.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="LaunchILSpy\ILSpyController.cs" />
<Compile Include="LaunchILSpy\SetILSpyPathDialog.cs" />
<Compile Include="LaunchILSpy\SetILSpyPathDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="LaunchILSpy\SetILSpyPathDialog.Designer.cs">
<DependentUpon>SetILSpyPathDialog.cs</DependentUpon>
</Compile>
@ -129,8 +131,5 @@ @@ -129,8 +131,5 @@
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Folder Include="LaunchILSpy" />
<Folder Include="ViewContent" />
</ItemGroup>
<ItemGroup />
</Project>

8
src/AddIns/DisplayBindings/IconEditor/IconEditor.csproj

@ -52,7 +52,9 @@ @@ -52,7 +52,9 @@
<Compile Include="IconPanel.Designer.cs">
<DependentUpon>IconPanel.cs</DependentUpon>
</Compile>
<Compile Include="IconPanel.cs" />
<Compile Include="IconPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="PickFormatDialog.cs" />
<Compile Include="PickFormatDialog.Designer.cs">
<DependentUpon>PickFormatDialog.cs</DependentUpon>
@ -61,7 +63,9 @@ @@ -61,7 +63,9 @@
<Compile Include="EditorPanel.Designer.cs">
<DependentUpon>EditorPanel.cs</DependentUpon>
</Compile>
<Compile Include="EditorPanel.cs" />
<Compile Include="EditorPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<None Include="IconEditor.addin">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>

12
src/AddIns/Misc/AddInManager/Project/AddInManager.csproj

@ -53,13 +53,19 @@ @@ -53,13 +53,19 @@
</None>
<Compile Include="Configuration\AssemblyInfo.cs" />
<Compile Include="Src\Commands.cs" />
<Compile Include="Src\ManagerForm.cs" />
<Compile Include="Src\ManagerForm.cs">
<SubType>Form</SubType>
</Compile>
<EmbeddedResource Include="Src\ManagerForm.resx">
<DependentUpon>ManagerForm.cs</DependentUpon>
</EmbeddedResource>
<Compile Include="Src\AddInControl.cs" />
<Compile Include="Src\AddInControl.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Src\InstallableAddIn.cs" />
<Compile Include="Src\AboutForm.cs" />
<Compile Include="Src\AboutForm.cs">
<SubType>Form</SubType>
</Compile>
<EmbeddedResource Include="Src\AboutForm.resx">
<DependentUpon>AboutForm.cs</DependentUpon>
</EmbeddedResource>

5
src/AddIns/Misc/FiletypeRegisterer/Project/FiletypeRegisterer.csproj

@ -79,7 +79,9 @@ @@ -79,7 +79,9 @@
<Compile Include="..\..\..\..\Main\GlobalAssemblyInfo.cs">
<Link>Configuration\GlobalAssemblyInfo.cs</Link>
</Compile>
<Compile Include="Src\RegisterFiletypesPanel.cs" />
<Compile Include="Src\RegisterFiletypesPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Src\RegisterFiletypesPanel.Designer.cs">
<DependentUpon>RegisterFiletypesPanel.cs</DependentUpon>
</Compile>
@ -95,7 +97,6 @@ @@ -95,7 +97,6 @@
<Name>ICSharpCode.Core</Name>
<Private>False</Private>
</ProjectReference>
<Folder Include="filetypes" />
<Content Include="filetypes\addin.ico">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>

8
src/AddIns/Misc/PackageManagement/SharpDevelop.EnvDTE/SharpDevelop.EnvDTE.vbproj

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<ProjectGuid>{6FB1260D-68A2-41A0-BB09-F5F710842E99}</ProjectGuid>
<ProjectGuid>{1B753D7F-7C77-4D5E-B928-02982690879C}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<OutputType>Library</OutputType>
@ -121,11 +121,7 @@ @@ -121,11 +121,7 @@
<Compile Include="Src\vsEPReplaceTextOptions.vb" />
<Compile Include="Src\Window.vb" />
</ItemGroup>
<ItemGroup>
<Folder Include="Configuration" />
<Folder Include="Src" />
<Folder Include="Src\VisualStudio" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Compile Include="Src\Constants.vb" />
</ItemGroup>

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj

@ -73,6 +73,7 @@ @@ -73,6 +73,7 @@
<Compile Include="Src\Arrange\ArrangeStrategy.cs" />
<Compile Include="Src\Arrange\MeasurementStrategy.cs" />
<Compile Include="Src\BaseClasses\AbstractColumn.cs" />
<Compile Include="Src\BaseClasses\GroupColumn.cs" />
<Compile Include="Src\BaseClasses\Page.cs" />
<Compile Include="Src\BaseClasses\PageInfo.cs" />
<Compile Include="Src\BaseClasses\SortColumn.cs" />
@ -81,6 +82,7 @@ @@ -81,6 +82,7 @@
<Compile Include="Src\DataManager\Listhandling\CollectionSource.cs" />
<Compile Include="Src\DataManager\Listhandling\IndexList.cs" />
<Compile Include="Src\DataSource\Comparer\BaseComparer.cs" />
<Compile Include="Src\DataSource\Comparer\GroupComparer.cs" />
<Compile Include="Src\DataSource\Comparer\SortComparer.cs" />
<Compile Include="Src\DataSource\Comparer\SortExtension.cs" />
<Compile Include="Src\DataSource\DataCollection.cs" />

7
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Arrange/ArrangeStrategy.cs

@ -44,12 +44,7 @@ namespace ICSharpCode.Reporting.Arrange @@ -44,12 +44,7 @@ namespace ICSharpCode.Reporting.Arrange
where ((resize.CanGrow == true))
select resize;
if (resizeable.Count() > 0) {
if (resizeable.Any()) {
if (!BiggestRectangle.IsEmpty) {
var containerRectangle = new Rectangle(container.Location,container.Size);
var desiredRectangle = Rectangle.Union(containerRectangle,BiggestRectangle);

38
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/BaseClasses/GroupColumn.cs

@ -0,0 +1,38 @@ @@ -0,0 +1,38 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 24.05.2013
* Time: 20:10
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.ComponentModel;
namespace ICSharpCode.Reporting.BaseClasses
{
/// <summary>
/// Description of GroupColumn.
/// </summary>
public class GroupColumn : SortColumn
{
public GroupColumn():this("",0,ListSortDirection.Ascending)
{
}
public GroupColumn(string columnName,int groupLevel, ListSortDirection sortDirection):base(columnName,sortDirection)
{
if (GroupLevel < 0) {
throw new ArgumentException("groupLevel");
}
this.GroupLevel = groupLevel;
}
public int GroupLevel {get;private set;
}
}
}

21
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Collections.cs

@ -78,15 +78,22 @@ namespace ICSharpCode.Reporting @@ -78,15 +78,22 @@ namespace ICSharpCode.Reporting
this.Add(item);
}
}
}
/// <summary>
/// The Culture is used for direct String Comparison
/// </summary>
public class GroupColumnCollection: SortColumnCollection
{
public GroupColumnCollection()
{
}
// public new static CultureInfo Culture
// {
// get { return CultureInfo.CurrentCulture;}
// }
public new AbstractColumn Find (string columnName)
{
if (String.IsNullOrEmpty(columnName)) {
throw new ArgumentNullException("columnName");
}
return this.FirstOrDefault(x => 0 == String.Compare(x.ColumnName,columnName,true,CultureInfo.InvariantCulture));
}
}
}

141
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/DataManager/Listhandling/CollectionSource.cs

@ -55,7 +55,6 @@ namespace ICSharpCode.Reporting.DataManager.Listhandling @@ -55,7 +55,6 @@ namespace ICSharpCode.Reporting.DataManager.Listhandling
public Collection<AbstractColumn> AvailableFields {
get {
// base.AvailableFields.Clear();
var availableFields = new Collection<AbstractColumn>();
foreach (PropertyDescriptor p in this.listProperties){
availableFields.Add (new AbstractColumn(p.Name,p.PropertyType));
@ -72,10 +71,119 @@ namespace ICSharpCode.Reporting.DataManager.Listhandling @@ -72,10 +71,119 @@ namespace ICSharpCode.Reporting.DataManager.Listhandling
public void Bind()
{
Sort();
if (reportSettings.GroupColumnCollection.Any()) {
this.Group();
} else {
this.Sort ();
}
Reset();
}
#region Grouping
public void Group()
{
var sortedList = this.BuildSortIndex (reportSettings.GroupColumnCollection);
IndexList = BuildGroup(sortedList);
// ShowIndexList(gl);
}
/*
private Dictionary<string,IndexList> BuildGroup (IndexList list) {
var dictionary = new Dictionary<string,IndexList>();
foreach (var element in list) {
string groupValue = ExtractValue (element);
if (!dictionary.ContainsKey(groupValue)) {
dictionary[groupValue] = new IndexList();
}
dictionary[groupValue].Add(element);
}
foreach (var el in dictionary) {
Console.WriteLine (el.Key.ToString());
}
return dictionary;
}
*/
private IndexList BuildGroup (IndexList list)
{
string compareValue = String.Empty;
var idlist = new IndexList();
// GroupComparer groupComparer = null;
/*
foreach (BaseComparer element in list)
{
var groupValue = ExtractValue (element);
if (compareValue != groupValue) {
groupComparer = CreateGroupHeader(element);
idlist.Add(groupComparer);
}
groupComparer.IndexList.Add(element);
compareValue = groupValue;
}
*/
GroupInternal(compareValue, ref idlist, list);
ShowGrouping(ref idlist);
// ShowIndexList(IndexList);
return idlist;
}
void ShowGrouping(ref IndexList idlist)
{
Console.WriteLine("----ShowGrouping---");
foreach (GroupComparer el in idlist) {
Console.WriteLine("{0}", el.ToString());
if (el.IndexList.Any()) {
foreach (var element in el.IndexList) {
Console.WriteLine("--{0}", element.ToString());
}
}
}
}
void GroupInternal(string compareValue, ref IndexList idlist, IndexList list)
{
GroupComparer groupComparer = null;
foreach (BaseComparer element in list) {
var groupValue = ExtractValue(element);
if (compareValue != groupValue) {
groupComparer = CreateGroupHeader(element);
idlist.Add(groupComparer);
}
groupComparer.IndexList.Add(element);
compareValue = groupValue;
}
}
static string ExtractValue(BaseComparer element)
{
// string val = String.Empty;
// GroupColumn gc = element.ColumnCollection[0] as GroupColumn;
// if (gc != null) {
// val = element.ObjectArray[0].ToString();
// }
// return val;
return element.ObjectArray[0].ToString();
}
protected GroupComparer CreateGroupHeader (BaseComparer sc)
{
var gc = new GroupComparer(sc.ColumnCollection,sc.ListIndex,sc.ObjectArray);
gc.IndexList = new IndexList();
return gc;
}
#endregion
public void Sort()
{
if ((this.reportSettings.SortColumnsCollection != null)) {
@ -102,6 +210,8 @@ namespace ICSharpCode.Reporting.DataManager.Listhandling @@ -102,6 +210,8 @@ namespace ICSharpCode.Reporting.DataManager.Listhandling
public IndexList IndexList {get; private set;}
IndexList BuildSortIndex(SortColumnCollection sortColumnsCollection)
{
var indexList = new IndexList();
@ -166,6 +276,8 @@ namespace ICSharpCode.Reporting.DataManager.Listhandling @@ -166,6 +276,8 @@ namespace ICSharpCode.Reporting.DataManager.Listhandling
}
#endregion
private PropertyDescriptor[] BuildSortProperties (SortColumnCollection sortColumnCollection)
{
PropertyDescriptor[] sortProperties = new PropertyDescriptor[sortColumnCollection.Count];
@ -225,5 +337,30 @@ namespace ICSharpCode.Reporting.DataManager.Listhandling @@ -225,5 +337,30 @@ namespace ICSharpCode.Reporting.DataManager.Listhandling
// var i = bc.ListIndex;
return bc;
}
#region Debug Code
protected static void ShowIndexList (IndexList list)
{
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);
foreach (BaseComparer c in gc.IndexList) {
Console.WriteLine("---- {0}",c.ObjectArray[0]);
}
}
}
}
#endregion
}
}

27
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/DataSource/Comparer/GroupComparer.cs

@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 24.05.2013
* Time: 20:17
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using ICSharpCode.Reporting.DataManager.Listhandling;
namespace ICSharpCode.Reporting.DataSource.Comparer
{
/// <summary>
/// Description of GroupComparer.
/// </summary>
public class GroupComparer :SortComparer
{
public GroupComparer (ColumnCollection owner, int listIndex, object[] values):base(owner,listIndex,values)
{
IndexList = new IndexList();
}
public IndexList IndexList {get;set;}
}
}

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/WpfVisitor.cs

@ -24,7 +24,7 @@ namespace ICSharpCode.Reporting.Exporter.Visitors @@ -24,7 +24,7 @@ namespace ICSharpCode.Reporting.Exporter.Visitors
/// </summary>
internal class WpfVisitor: AbstractVisitor
{
private FixedDocumentCreator documentCreator;
private readonly FixedDocumentCreator documentCreator;
private readonly ReportSettings reportSettings;
public WpfVisitor(ReportSettings reportSettings)

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/Data/IDataViewHandling.cs

@ -22,7 +22,7 @@ namespace ICSharpCode.Reporting.Interfaces.Data @@ -22,7 +22,7 @@ namespace ICSharpCode.Reporting.Interfaces.Data
void Sort ();
// void Group();
void Group();
void Bind();

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportSettings.cs

@ -51,6 +51,7 @@ namespace ICSharpCode.Reporting.Items @@ -51,6 +51,7 @@ namespace ICSharpCode.Reporting.Items
// this.availableFields = new AvailableFieldsCollection();
// this.groupingsCollection = new GroupColumnCollection();
this.SortColumnsCollection = new SortColumnCollection();
GroupColumnCollection = new GroupColumnCollection();
// this.sqlParameters = new SqlParameterCollection();
// this.parameterCollection = new ParameterCollection();
// this.NoDataMessage = "No Data for this Report";
@ -138,5 +139,6 @@ namespace ICSharpCode.Reporting.Items @@ -138,5 +139,6 @@ namespace ICSharpCode.Reporting.Items
public SortColumnCollection SortColumnsCollection {get;private set;}
public GroupColumnCollection GroupColumnCollection {get;private set;}
}
}

37
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/DataSource/CollectionHandlingFixture.cs

@ -45,6 +45,20 @@ namespace ICSharpCode.Reporting.Test.DataSource @@ -45,6 +45,20 @@ namespace ICSharpCode.Reporting.Test.DataSource
Assert.That(collectionSource.AvailableFields.Count,Is.EqualTo(6));
}
#region Grouping
[Test]
public void GroupbyOneColumn () {
var rs = new ReportSettings();
rs.GroupColumnCollection.Add( new GroupColumn("GroupItem",1,ListSortDirection.Ascending));
var collectionSource = new CollectionSource (list,rs);
collectionSource.Bind();
}
#endregion
#region Sort
[Test]
public void CreateUnsortedIndex() {
@ -75,12 +89,33 @@ namespace ICSharpCode.Reporting.Test.DataSource @@ -75,12 +89,33 @@ namespace ICSharpCode.Reporting.Test.DataSource
collectionSource.Bind();
string compare = collectionSource.IndexList[0].ObjectArray[0].ToString();
foreach (var element in collectionSource.IndexList) {
Console.WriteLine(element.ObjectArray[0].ToString());
string result = String.Format("{0} - {1}",element.ListIndex,element.ObjectArray[0]);
Console.WriteLine(result);
Assert.That(compare,Is.LessThanOrEqualTo(element.ObjectArray[0].ToString()));
compare = element.ObjectArray[0].ToString();
}
}
[Test]
public void SortTwoColumnsAscending() {
var rs = new ReportSettings();
rs.SortColumnsCollection.Add(new SortColumn("Lastname",ListSortDirection.Ascending));
rs.SortColumnsCollection.Add(new SortColumn("RandomInt",ListSortDirection.Ascending));
var collectionSource = new CollectionSource (list,rs);
collectionSource.Bind();
string compare = collectionSource.IndexList[0].ObjectArray[0].ToString();
foreach (var element in collectionSource.IndexList) {
string result = String.Format("{0} - {1} - {2}",element.ListIndex,element.ObjectArray[0],element.ObjectArray[1].ToString());
Console.WriteLine(result);
Assert.That(compare,Is.LessThanOrEqualTo(element.ObjectArray[0].ToString()));
compare = element.ObjectArray[0].ToString();
}
}
#endregion
[SetUp]
public void CreateList() {
var contributorList = new ContributorsList();

17
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/DataSource/ContributorsList.cs

@ -67,16 +67,14 @@ namespace ICSharpCode.Reporting.Test.DataSource @@ -67,16 +67,14 @@ namespace ICSharpCode.Reporting.Test.DataSource
public class Contributor {
int randomInt;
DateTime randomDate;
public Contributor(string lastname, string firstname,string job,int randomInt,DateTime randomDate,string groupItem)
{
this.Lastname = lastname;
this.Firstname = firstname;
this.Job = job;
this.randomDate = randomDate;
this.randomInt = randomInt;
this.RandomDate = randomDate;
this.RandomInt = randomInt;
this.GroupItem = groupItem;
}
@ -90,16 +88,13 @@ namespace ICSharpCode.Reporting.Test.DataSource @@ -90,16 +88,13 @@ namespace ICSharpCode.Reporting.Test.DataSource
public string Job {get; private set;}
public int RandomInt {
get { return randomInt; }
}
public int RandomInt {get; private set;}
public DateTime RandomDate {
get { return randomDate; }
}
public DateTime RandomDate {get;private set;}
public string GroupItem {get; set;}
public string GroupItem {get; private set;}
}
}

9
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.Reports.Addin.csproj

@ -185,7 +185,9 @@ @@ -185,7 +185,9 @@
<Compile Include="Project\ReportItems\ErrorItem.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\GroupHeader.cs" />
<Compile Include="Project\ReportItems\GroupHeader.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\TypeProviders\AbstractItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\CircleItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\DataItemTypeProvider.cs" />
@ -366,9 +368,6 @@ @@ -366,9 +368,6 @@
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Folder Include="Project\ReportItems\TypeProviders" />
<Folder Include="Project\SecondaryViews\TestView" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

12
src/AddIns/Misc/SearchAndReplace/Project/SearchAndReplace.csproj

@ -78,8 +78,12 @@ @@ -78,8 +78,12 @@
<SubType>Code</SubType>
<DependentUpon>ResultsTreeView.xaml</DependentUpon>
</Compile>
<Compile Include="Gui\SearchAndReplaceDialog.cs" />
<Compile Include="Gui\SearchAndReplacePanel.cs" />
<Compile Include="Gui\SearchAndReplaceDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Gui\SearchAndReplacePanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Gui\SearchFileNode.cs" />
<Compile Include="Gui\SearchNode.cs" />
<Compile Include="Gui\SearchResultNode.cs" />
@ -87,10 +91,6 @@ @@ -87,10 +91,6 @@
<Compile Include="SearchOptions.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="Commands" />
<Folder Include="Engine" />
<Folder Include="Gui" />
<Folder Include="Resources" />
<ProjectReference Include="..\..\..\..\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj">
<Project>{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}</Project>
<Name>ICSharpCode.AvalonEdit</Name>

4
src/AddIns/VersionControl/SubversionAddIn/SubversionAddIn.csproj

@ -62,7 +62,9 @@ @@ -62,7 +62,9 @@
<None Include="ICSharpCode.Svn.addin">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<Compile Include="Src\Gui\HistoryViewDisplayBinding\InfoPanel.cs" />
<Compile Include="Src\Gui\HistoryViewDisplayBinding\InfoPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Src\Gui\HistoryViewDisplayBinding\InfoPanel.Designer.cs">
<DependentUpon>InfoPanel.cs</DependentUpon>
</Compile>

2
src/Libraries/AvalonDock/AvalonDock/AvalonDock.csproj

@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{87E61430-4243-45F2-B74E-0A4C096CEBF3}</ProjectGuid>
<ProjectGuid>{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AvalonDock</RootNamespace>

32
src/Main/ICSharpCode.Core.WinForms/ICSharpCode.Core.WinForms.csproj

@ -55,24 +55,38 @@ @@ -55,24 +55,38 @@
</Compile>
<Compile Include="Menu\IStatusUpdate.cs" />
<Compile Include="Menu\Menu.cs" />
<Compile Include="Menu\MenuCheckBox.cs" />
<Compile Include="Menu\MenuCheckBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Menu\MenuCommand.cs" />
<Compile Include="Menu\MenuSeparator.cs" />
<Compile Include="Menu\MenuService.cs" />
<Compile Include="MessageService\CustomDialog.cs" />
<Compile Include="MessageService\CustomDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MessageService\IDialogMessageService.cs" />
<Compile Include="MessageService\InputBox.cs" />
<Compile Include="MessageService\SaveErrorChooseDialog.cs" />
<Compile Include="MessageService\SaveErrorInformDialog.cs" />
<Compile Include="MessageService\SaveErrorInformDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MessageService\WinFormsMessageService.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ToolBar\ToolBarCheckBox.cs" />
<Compile Include="ToolBar\ToolBarCheckBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="ToolBar\ToolBarCommand.cs" />
<Compile Include="ToolBar\ToolBarDropDownButton.cs" />
<Compile Include="ToolBar\ToolBarDropDownButton.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="ToolBar\ToolBarLabel.cs" />
<Compile Include="ToolBar\ToolBarSeparator.cs" />
<Compile Include="ToolBar\ToolBarSeparator.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="ToolBar\ToolBarService.cs" />
<Compile Include="ToolBar\ToolBarSplitButton.cs" />
<Compile Include="ToolBar\ToolBarSplitButton.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Util\NativeMethods.cs" />
<Compile Include="Util\RightToLeftConverter.cs" />
<Compile Include="WinFormsResourceService.cs" />
@ -83,9 +97,5 @@ @@ -83,9 +97,5 @@
<Name>ICSharpCode.Core</Name>
<Private>False</Private>
</ProjectReference>
<Folder Include="Menu" />
<Folder Include="MessageService" />
<Folder Include="ToolBar" />
<Folder Include="Util" />
</ItemGroup>
</Project>
Loading…
Cancel
Save