Browse Source

Merge branch '4.1' into master.

pull/20/merge
Daniel Grunwald 14 years ago
parent
commit
03aa5907eb
  1. 9
      data/resources/StringResources.cz.resx
  2. 9
      data/resources/StringResources.de.resx
  3. 12
      data/resources/StringResources.es-mx.resx
  4. 14
      data/resources/StringResources.es.resx
  5. 29
      data/resources/StringResources.fr.resx
  6. 18
      data/resources/StringResources.hu.resx
  7. 29
      data/resources/StringResources.it.resx
  8. 9
      data/resources/StringResources.kr.resx
  9. 24
      data/resources/StringResources.nl.resx
  10. 9
      data/resources/StringResources.no.resx
  11. 9
      data/resources/StringResources.pl.resx
  12. 9
      data/resources/StringResources.pt-br.resx
  13. 9
      data/resources/StringResources.pt.resx
  14. 428
      data/resources/StringResources.resx
  15. 18
      data/resources/StringResources.ro.resx
  16. 9
      data/resources/StringResources.ru.resx
  17. 18
      data/resources/StringResources.se.resx
  18. 9
      data/resources/StringResources.tr.resx
  19. 34
      data/resources/StringResources.zh.resx
  20. 2
      samples/SharpDevelopReports/src/ReportSamples.sln
  21. 16
      samples/SharpDevelopReports/src/SharpReportSamples/MainForm.Designer.cs
  22. 81
      samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs
  23. 8
      samples/SharpDevelopReports/src/SharpReportSamples/MainForm.resx
  24. 6
      src/AddIns/BackendBindings/Scripting/Test/Utils/MockTextEditorOptions.cs
  25. 9
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs
  26. 6
      src/AddIns/BackendBindings/WixBinding/Test/Utils/MockTextEditorOptions.cs
  27. 2
      src/AddIns/Debugger/Debugger.AddIn/Pads/CallStackPad.xaml
  28. 14
      src/AddIns/Debugger/Debugger.Core/Thread.cs
  29. 5
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs
  30. 8
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs
  31. 21
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs
  32. 13
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Options/CodeEditorOptions.cs
  33. 3
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Options/GeneralEditorOptions.xaml
  34. 13
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core.UI/DisplayBinding/EDMDesignerViewContent.cs
  35. 1
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.SQLServer/SQLServerDatabaseDriver.cs
  36. 6
      src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsDocument.cs
  37. 2
      src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsEntry.cs
  38. 1
      src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsView.cs
  39. 13
      src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsViewContent.cs
  40. 22
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/OutlineView/OutlineNode.cs
  41. 10
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Services/DragMoveMouseGesture.cs
  42. 11
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Services/PointerTool.cs
  43. 6
      src/AddIns/DisplayBindings/XmlEditor/Test/Utils/MockTextEditorOptions.cs
  44. 33
      src/AddIns/Misc/PackageManagement/Cmdlets/Project/Src/GetPackageCmdlet.cs
  45. 138
      src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/GetPackageCmdletTests.cs
  46. 4
      src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackage.cs
  47. 16
      src/AddIns/Misc/PackageManagement/Project/Src/PackageFromRepository.cs
  48. 6
      src/AddIns/Misc/PackageManagement/Project/Src/SelectProjectsView.xaml
  49. 30
      src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Cmdlets.dll-Help.xml
  50. BIN
      src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Core.dll
  51. 53
      src/AddIns/Misc/PackageManagement/Test/Src/PackageFromRepositoryTests.cs
  52. 16
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ExplorerCommands.cs
  53. 15
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ViewCommands.cs
  54. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DesignerHelper.cs
  55. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TextItemDesigner.cs
  56. 21
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs
  57. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportExplorer/ExplorerNodes.cs
  58. 102
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportExplorer/ExplorerTree.cs
  59. 11
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs
  60. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs
  61. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Dialogs/DummyEditorDialog.cs
  62. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Dialogs/TextEditorDialogFixture.cs
  63. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj
  64. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs
  65. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardFormatter.cs
  66. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs
  67. 7
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs
  68. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs
  69. 38
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Collections/Collections.cs
  70. 31
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ConnectionObject.cs
  71. 18
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataAccess/SqlDataAccess.cs
  72. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataAccess/SqlQueryChecker.cs
  73. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataManager.cs
  74. 7
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/BaseListStrategy.cs
  75. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs
  76. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs
  77. 5
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/DefaultTextEditor.cs
  78. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/EditorDialog.Designer.cs
  79. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/EditorDialog.cs
  80. 20
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/ParameterDialog.cs
  81. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/ParametersCollectionEditor.cs
  82. 86
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs
  83. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs
  84. 8
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs
  85. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs
  86. 5
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs
  87. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs
  88. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/Substring.cs
  89. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ToString.cs
  90. 22
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Factories/ConnectionObjectFactory.cs
  91. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Factories/DataManagerFacrory.cs
  92. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IStringBasedEditorDialog.cs
  93. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs
  94. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderDataReport.cs
  95. 157
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs
  96. 37
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs
  97. 118
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs
  98. 47
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportParameters.cs
  99. 11
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs
  100. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs
  101. Some files were not shown because too many files have changed in this diff Show More

9
data/resources/StringResources.cz.resx

@ -7017,15 +7017,6 @@ Došlo k chybě při spuštění:</value> @@ -7017,15 +7017,6 @@ Došlo k chybě při spuštění:</value>
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Uživatel:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>Můžete očekávat vylepšené verze SharpDevelop a mezitím říci svým známým o tomto editoru pro psaní báječných programů v jazyce C#!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>Můžete otevřít okno s šablonami doplňování kódu pomocí Ctrl+J?</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>Můžete napsat "? name = ...;" (C#) nebo "Dim name As ? = ..." (VB) a SharpDevelop nahradí otazník typem výrazu "..."?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Možnosti editoru</value>
</data>

9
data/resources/StringResources.de.resx

@ -8000,15 +8000,6 @@ Fehler beim Starten: @@ -8000,15 +8000,6 @@ Fehler beim Starten:
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Benutzer:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>dass sie nach neuen SharpDevelop-Versionen Ausschau halten sollten und allen ihren Freunden erzählen sollten, wie gut SharpDevelop ist und dass sie tolle Programme in C# damit entwickeln sollten?</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>dass Sie mit Strg+J vordefinierte Code-Schablonen aktivieren können?</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>dass Sie "? name = ...;" (C#) oder "Dim name As ? = ..." (VB) tippen können und SharpDevelop automatisch das Fragezeichen durch den passenden Typ ersetzt?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Bufferoptionen</value>
</data>

12
data/resources/StringResources.es-mx.resx

@ -5778,6 +5778,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -5778,6 +5778,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.SetCurrentStatement" xml:space="preserve">
<value>Establecer la instrucción actual</value>
</data>
<data name="MainWindow.Windows.Debug.StopDebugging.Message" xml:space="preserve">
<value>¿Quiere detener la depuración?</value>
</data>
<data name="MainWindow.Windows.Debug.StopProcessDialog.Message" xml:space="preserve">
<value>¿Desasociar del proceso o terminarlo?</value>
</data>
@ -8123,15 +8126,6 @@ Error al iniciar:</value> @@ -8123,15 +8126,6 @@ Error al iniciar:</value>
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Usuario:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>¡Debería estar atento a nuevas versiones de SharpDevelop y decirle a sus amigos lo bueno que es para crear programas en C#!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>¿Que puede abrir la ventana de plantillas de código con Ctrl+J?</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>¿Que puedes escribir "? nombre=...;" (C#) o "Dim nombre As ?=..." (VB) y SharpDevelop reemplazará el símbolo de interrogación por el tipo de "..."?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Opciones del búfer</value>
</data>

14
data/resources/StringResources.es.resx

@ -5782,6 +5782,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -5782,6 +5782,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.SetCurrentStatement" xml:space="preserve">
<value>Establecer línea actual</value>
</data>
<data name="MainWindow.Windows.Debug.StopDebugging.Message" xml:space="preserve">
<value>¿Quiere detener la depuración?</value>
</data>
<data name="MainWindow.Windows.Debug.StopProcessDialog.Message" xml:space="preserve">
<value>¿Desasociar del proceso o terminarlo?</value>
</data>
@ -8063,7 +8066,7 @@ Error mientras se iniciaba:</value> @@ -8063,7 +8066,7 @@ Error mientras se iniciaba:</value>
<value>Creación automática de código</value>
</data>
<data name="XML.MainMenu.ToolMenu.InsColor" xml:space="preserve">
<value>Insertar color...</value>
<value>Insertar Color...</value>
</data>
<data name="XML.MainMenu.ToolMenu.InsGUID" xml:space="preserve">
<value>Insertar nuevo &amp;GUID</value>
@ -8128,15 +8131,6 @@ Error mientras se iniciaba:</value> @@ -8128,15 +8131,6 @@ Error mientras se iniciaba:</value>
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Usuario:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>¡Estar atento a nuevas versiones de SharpDevelop y contar a todos sus amigos como es de bueno SharpDevelop para escribir programas impresionantes en C# y VB.Net!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>¿Que puedes abrir la ventana de completar plantillas usando ctrl+J?</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>¿Que puedes tipear "? name =...;" (C#) o "Dim name As ? =..." (VB) y SharpDevelop sustituirá el signo de interrogación con el tipo de "..."?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Opciones de Búfer</value>
</data>

29
data/resources/StringResources.fr.resx

@ -298,6 +298,15 @@ Téléchargez un AddIn depuis l'Internet, cliquez ensuite sur 'Installer un AddI @@ -298,6 +298,15 @@ Téléchargez un AddIn depuis l'Internet, cliquez ensuite sur 'Installer un AddI
<data name="AddIns.HexEditor.NumeralSystem" xml:space="preserve">
<value>Système numérique</value>
</data>
<data name="AddIns.HexEditor.NumeralSystem.Decimal" xml:space="preserve">
<value>Décimal</value>
</data>
<data name="AddIns.HexEditor.NumeralSystem.Hexadecimal" xml:space="preserve">
<value>Hexadécimal</value>
</data>
<data name="AddIns.HexEditor.NumeralSystem.Octal" xml:space="preserve">
<value>Octal</value>
</data>
<data name="AddIns.HexEditor.SizeToFit" xml:space="preserve">
<value>Redimensionner à la largeur actuelle</value>
</data>
@ -4280,7 +4289,7 @@ Toutes les modifications seront perdues.</value> @@ -4280,7 +4289,7 @@ Toutes les modifications seront perdues.</value>
<value>${CurrentMethodNumber} sur ${NumberOfTotalMethods}</value>
</data>
<data name="ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.TextEditorDisplayBinding.FileAlteredMessage" xml:space="preserve">
<value>Le fichier ${File} a été modifié de l'extérieur, voulez-vous le recharger ?
<value>Le fichier ${File} a été modifié hors de SharpDevelop, voulez-vous le recharger ?
</value>
</data>
<data name="ICSharpCode.SharpDevelop.DefaultEditor.IncrementalSearch.ForwardsSearchStatusBarMessage" xml:space="preserve">
@ -4806,6 +4815,9 @@ Utilisez seulement des lettres, chiffres, espace, '.' ou '_'.</value> @@ -4806,6 +4815,9 @@ Utilisez seulement des lettres, chiffres, espace, '.' ou '_'.</value>
<data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve">
<value>Recharger la solution</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.SolutionAlteredExternallyMessage" xml:space="preserve">
<value>La solution a été modifiée hors de SharpDevelop.</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeCompilerVersionLabel" xml:space="preserve">
<value>Convertir les projets sélectionnés vers:</value>
</data>
@ -5763,6 +5775,9 @@ Soit ils n'existent pas, soit le document Wix n'est pas pour WiX 3.0 et l'espace @@ -5763,6 +5775,9 @@ Soit ils n'existent pas, soit le document Wix n'est pas pour WiX 3.0 et l'espace
<data name="MainWindow.Windows.Debug.SetCurrentStatement" xml:space="preserve">
<value>Définir l'instruction suivante</value>
</data>
<data name="MainWindow.Windows.Debug.StopDebugging.Message" xml:space="preserve">
<value>Souhaitez-vous arrêter le déboguage?</value>
</data>
<data name="MainWindow.Windows.Debug.StopProcessDialog.Message" xml:space="preserve">
<value>Détacher du processus ou le terminer ?</value>
</data>
@ -7567,6 +7582,9 @@ Les fichiers de resources ont été renommés/déplacés en conséquence.</value @@ -7567,6 +7582,9 @@ Les fichiers de resources ont été renommés/déplacés en conséquence.</value
<data name="XML.MainMenu.DebugMenu.RemoveAllBreakpoints" xml:space="preserve">
<value>Supprimer tous les points d'arrêt</value>
</data>
<data name="XML.MainMenu.DebugMenu.RunLastBuild" xml:space="preserve">
<value>Exécuter le dernier build</value>
</data>
<data name="XML.MainMenu.DebugMenu.RunWithoutDebug" xml:space="preserve">
<value>Exécuter &amp;sans débogueur</value>
</data>
@ -8105,15 +8123,6 @@ Erreur lors du démarrage:</value> @@ -8105,15 +8123,6 @@ Erreur lors du démarrage:</value>
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Utilisateur:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>Vous devriez regarder les nouvelles versions de SharpDevelop, recommander SharpDevelop à vos amis et écrire des programmes en C# avec !</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>Vous pouvez ouvrir l'assistant de modèles de code avec Ctrl+J.</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>Que vous pouvez taper "? name =...;" (C#) ou "Dim name As ? =..." (VB) et SharpDevelop substituera le point d'interrogation par le nom du type de "..."?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Options du tampon</value>
</data>

18
data/resources/StringResources.hu.resx

@ -440,9 +440,6 @@ Telepítenie kell a .NET keretrendszer 2.0-s verziójának szoftverfejlesztői k @@ -440,9 +440,6 @@ Telepítenie kell a .NET keretrendszer 2.0-s verziójának szoftverfejlesztői k
<data name="CompilerResultView.FileText" xml:space="preserve">
<value>Fájl</value>
</data>
<data name="CompilerResultView.LineText" xml:space="preserve">
<value>Sor</value>
</data>
<data name="ComponentInspector.AboutDialog.Title" xml:space="preserve">
<value>Névjegy</value>
</data>
@ -2537,6 +2534,9 @@ Ugyancsak választhatja hogy a beállításokat .user-fájlban tárolja a projek @@ -2537,6 +2534,9 @@ Ugyancsak választhatja hogy a beállításokat .user-fájlban tárolja a projek
<data name="Global.StartButtonText" xml:space="preserve">
<value>Indítás</value>
</data>
<data name="Global.TextLine" xml:space="preserve">
<value>Sor</value>
</data>
<data name="Global.UpdateButtonText" xml:space="preserve">
<value>&amp;Módosítás</value>
</data>
@ -2633,9 +2633,6 @@ Ugyancsak választhatja hogy a beállításokat .user-fájlban tárolja a projek @@ -2633,9 +2633,6 @@ Ugyancsak választhatja hogy a beállításokat .user-fájlban tárolja a projek
<data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve">
<value>Záró Sor</value>
</data>
<data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve">
<value>Sor</value>
</data>
<data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve">
<value>Nem található az NCover konzol alkalmazás.
@ -5911,15 +5908,6 @@ Hiba az indításkor:</value> @@ -5911,15 +5908,6 @@ Hiba az indításkor:</value>
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Felhasználó:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>Hogy mindig keresd a legújabb SharpDevelop verziókat és mondd el minden barátodnak, milyen jó a SharpDevelop és írj menő C# programokat vele!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>Hogy a sablon kiegészítő ablakot megnyithatod a Ctrl+J kombinációval?</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>Tudta-e, hogy beírhatja "? nev = ...;" (C#) vagy "Dim nev As ? = ..." (VB) és SharpDevelop helyettesíti a kérdőjelet a "..." típusával?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Puffer beállítások</value>
</data>

29
data/resources/StringResources.it.resx

@ -298,6 +298,15 @@ Scaricare un componente da internet, poi cliccare 'Install AddIn' e selezionare @@ -298,6 +298,15 @@ Scaricare un componente da internet, poi cliccare 'Install AddIn' e selezionare
<data name="AddIns.HexEditor.NumeralSystem" xml:space="preserve">
<value>Sistema numerazione</value>
</data>
<data name="AddIns.HexEditor.NumeralSystem.Decimal" xml:space="preserve">
<value>Decimale</value>
</data>
<data name="AddIns.HexEditor.NumeralSystem.Hexadecimal" xml:space="preserve">
<value>Esadecimale</value>
</data>
<data name="AddIns.HexEditor.NumeralSystem.Octal" xml:space="preserve">
<value>Ottale</value>
</data>
<data name="AddIns.HexEditor.SizeToFit" xml:space="preserve">
<value>Ridimensiona per riempire la larghezza corrente</value>
</data>
@ -4288,7 +4297,7 @@ Tutti i cambiamenti saranno persi.</value> @@ -4288,7 +4297,7 @@ Tutti i cambiamenti saranno persi.</value>
<data name="ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.TextEditorDisplayBinding.FileAlteredMessage" xml:space="preserve">
<value>Il file
${File}
è stato cambiato esternamente, vuoi ricaricarlo?
è stato cambiato esternamente. Vuoi ricaricarlo?
</value>
</data>
<data name="ICSharpCode.SharpDevelop.DefaultEditor.IncrementalSearch.ForwardsSearchStatusBarMessage" xml:space="preserve">
@ -4815,6 +4824,9 @@ Sono ammesse solo lettere, numeri, spazi, '.' o '_'.</value> @@ -4815,6 +4824,9 @@ Sono ammesse solo lettere, numeri, spazi, '.' o '_'.</value>
<data name="ICSharpCode.SharpDevelop.Project.ReloadSolution" xml:space="preserve">
<value>Ricarica soluzione</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.SolutionAlteredExternallyMessage" xml:space="preserve">
<value>La soluzione ha subito dei cambiamenti esterni.</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.UpgradeView.ChangeCompilerVersionLabel" xml:space="preserve">
<value>Converti &amp;progetti selezionati in:</value>
</data>
@ -5771,6 +5783,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -5771,6 +5783,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.SetCurrentStatement" xml:space="preserve">
<value>Imposta istruzione corrente</value>
</data>
<data name="MainWindow.Windows.Debug.StopDebugging.Message" xml:space="preserve">
<value>Vuoi interrompere il debug?</value>
</data>
<data name="MainWindow.Windows.Debug.StopProcessDialog.Message" xml:space="preserve">
<value>Scollegare o chiudere il processo?</value>
</data>
@ -7573,6 +7588,9 @@ SharpDevelop 2 compila le risorse differentemente: il nome della risorsa non è @@ -7573,6 +7588,9 @@ SharpDevelop 2 compila le risorse differentemente: il nome della risorsa non è
<data name="XML.MainMenu.DebugMenu.RemoveAllBreakpoints" xml:space="preserve">
<value>Rimuovi tutti i punti di interruzione</value>
</data>
<data name="XML.MainMenu.DebugMenu.RunLastBuild" xml:space="preserve">
<value>Esegui l'ultima versione</value>
</data>
<data name="XML.MainMenu.DebugMenu.RunWithoutDebug" xml:space="preserve">
<value>Esegue &amp;senza debugger</value>
</data>
@ -8112,15 +8130,6 @@ Errore durante esecuzione:</value> @@ -8112,15 +8130,6 @@ Errore durante esecuzione:</value>
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Utente:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>Controlla l'esistenza di nuove versioni di SharpDevelop, di a tutti i tuoi amici quanto è buono e scrivici programmi C# "ganzi"!!!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>Puoi aprire la finestra di completamento dei modelli con Ctrl+J?</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>Vuoi che digitando "? name = ...;" (C#) o "Dim name As ? = ..." (VB) SharpDevelop sostituisca il punto interrogativo con il tipo di "..."?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Opzioni dell'Editor</value>
</data>

9
data/resources/StringResources.kr.resx

@ -7129,15 +7129,6 @@ SharpDevelop 2는 리소스를 다른 방법으로 컴파일합니다: 리소스 @@ -7129,15 +7129,6 @@ SharpDevelop 2는 리소스를 다른 방법으로 컴파일합니다: 리소스
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>사용자:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>SharpDevelop의 새 버전이 나왔는지 찾아 보고, 친구들에게 SharpDevelop이 얼마나 좋은지 말해 주고, SharpDevelop을 써서 멋진 C# 프로그램을 만들어야 됩니다!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>Ctrl+J로 템플리트 완성 창을 열 수 있습니다.</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>"? name = ...;" (C#)이나 "Dim name As ? =..." (VB)라고 입력하면 SharpDevelop이 물음표를 "..."의 형식으로 바꾸어 준다는 사실을 알고 계십니까?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>버퍼 옵션</value>
</data>

24
data/resources/StringResources.nl.resx

@ -2707,6 +2707,9 @@ Wilt u het nieuwe bestand toevoegen aan project ${CurrentProjectName}?</value> @@ -2707,6 +2707,9 @@ Wilt u het nieuwe bestand toevoegen aan project ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.TextEditor.General.AntialiasedFontCheckBox" xml:space="preserve">
<value>&amp;Gebruik anti-alias lettertype</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.General.ChangeMarkerMarginCheckBox" xml:space="preserve">
<value>Zet de 'Wijzigen Markering' kantlijn aan.</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.General.CodeCompletionCheckBox" xml:space="preserve">
<value>&amp;Code Completeren inschakelen</value>
</data>
@ -5529,6 +5532,9 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie</v @@ -5529,6 +5532,9 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie</v
<data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbols" xml:space="preserve">
<value>Overschakelen naar een functie zonder symbolen is niet mogelijk.</value>
</data>
<data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbolsOrDecompiledCodeOptions" xml:space="preserve">
<value>Wisselen naar een functie zonder symbolen zonder dat de gedecompileerde code opties zijn ingeschakeld.</value>
</data>
<data name="MainWindow.Windows.Debug.CallStack.ExternalMethods" xml:space="preserve">
<value>[Externe methodes]</value>
</data>
@ -5775,6 +5781,9 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie</v @@ -5775,6 +5781,9 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie</v
<data name="MainWindow.Windows.Debug.SetCurrentStatement" xml:space="preserve">
<value>Stel momentele instructie in</value>
</data>
<data name="MainWindow.Windows.Debug.StopDebugging.Message" xml:space="preserve">
<value>Wilt u stoppen met foutzoeken?</value>
</data>
<data name="MainWindow.Windows.Debug.StopProcessDialog.Message" xml:space="preserve">
<value>Wilt u het proces ontkoppelen of afsluiten?</value>
</data>
@ -5787,9 +5796,15 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie</v @@ -5787,9 +5796,15 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie</v
<data name="MainWindow.Windows.Debug.Threads.CannotStepNoActiveFunction" xml:space="preserve">
<value>Stappen is niet mogelijk, er is geen actieve functie geselecteerd.</value>
</data>
<data name="MainWindow.Windows.Debug.Threads.CannotSwitchOnNAFrame" xml:space="preserve">
<value>Wisselen naar een thread zonder beschikbaar frame is niet mogelijk.</value>
</data>
<data name="MainWindow.Windows.Debug.Threads.CannotSwitchWhileRunning" xml:space="preserve">
<value>Threads wisselen is niet mogelijk als de foutopsporing actief is.</value>
</data>
<data name="MainWindow.Windows.Debug.Threads.CannotSwitchWithoutDecompiledCodeOptions" xml:space="preserve">
<value>Wisselen naar een thread in gedecompileerde code is niet mogelijk als de gedecompileerde code opties niet zijn ingeschakeld.</value>
</data>
<data name="MainWindow.Windows.Debug.Threads.Freeze" xml:space="preserve">
<value>Bevries</value>
</data>
@ -8122,15 +8137,6 @@ Startfout:</value> @@ -8122,15 +8137,6 @@ Startfout:</value>
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Gebruiker:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>Dat u zou moeten uitkijken naar nieuwere versies van SharpDevelop, uw vrienden erover vertellen en hoe ermee coole C# programma's te schrijven!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>Dat u het sjabloon eindvenster kan openen met Ctrl+J</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>Dat je kunt typen "? name = ...;" (C#) of "Dim name As ? = ..."(VB) en SharpDevelop vervangt het vraagteken door het type van "..."?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Buffer opties</value>
</data>

9
data/resources/StringResources.no.resx

@ -7922,15 +7922,6 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna @@ -7922,15 +7922,6 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Bruker:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>Du burde være på utkikk etter nye versjoner av SharpDevelop, fortelle alle vennene dine hvor bra SharpDevelop er, og bruke det til å skrive kule C# programmer!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>Du kan åpne kodefullføringsvinduet med Ctrl+J?</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>At du kan skrive "? name=...;" (C#) eller "Dim name As ? = ..." (VB) og SharpDevelop vil erstatte spørsmålstegnet med typen "..."?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Alternativer for bufring</value>
</data>

9
data/resources/StringResources.pl.resx

@ -6457,15 +6457,6 @@ Błąd podczas uruchamiania:</value> @@ -6457,15 +6457,6 @@ Błąd podczas uruchamiania:</value>
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Użytkownik:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>Powinieneś często sprawdzać czy nie ma nowej wersji SharpDevelop oraz powiedzieć wszystkim znajomym jak dobry jest SharpDevelop oraz pisać w nim świetne programy w C#!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>Okno szablonów uzupełniania można otworzyć przez Ctrl + J?</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>Możesz pisać "? name=...;" (C#) lub "Dim name As ? = ..." (VB) a SharpDevelop podmieni znaki zapytania typem "..."?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Opcje buforowania</value>
</data>

9
data/resources/StringResources.pt-br.resx

@ -6986,15 +6986,6 @@ Use somente letras, dígitos, espaço, "." ou "_" são permitidos.</value> @@ -6986,15 +6986,6 @@ Use somente letras, dígitos, espaço, "." ou "_" são permitidos.</value>
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Usuário:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>Que você deveria buscar novas versões do SharpDevelop e contar como é bom escrever aplicativos com ele!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>Que você pode abrir a janela do Assistente de Modelos (templates) com Ctrl+J?</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>Voce pode digitar "? name = ...;" (C#) ou "Dim name As ? = ..." (VB) e o SharpDevelop substituirá a interrogação com o tipo de "..."?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Opções</value>
</data>

9
data/resources/StringResources.pt.resx

@ -6711,15 +6711,6 @@ O erro no início foi:</value> @@ -6711,15 +6711,6 @@ O erro no início foi:</value>
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Utilizador:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>Deve verificar se existem novas versões do SharpDevelop e dizer a todos os seus amigos quão bom é o SharpDevelop e quão agradável é escrever programas com ele!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>É possivel abrir a janela de finalização de modelos batendo Ctrl+J?</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>Que pode escrever "? nome = ...;" (C#) ou "Dim nome As ? = ..." (VB) e o SharpDevelop irá substituir o ponto de interrugação com o tipo de "..."?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Opções do Buffer</value>
</data>

428
data/resources/StringResources.resx

File diff suppressed because it is too large Load Diff

18
data/resources/StringResources.ro.resx

@ -443,9 +443,6 @@ Puteţi specifica o comandă de executat în opţiunile proiectului.</value> @@ -443,9 +443,6 @@ Puteţi specifica o comandă de executat în opţiunile proiectului.</value>
<data name="CompilerResultView.FileText" xml:space="preserve">
<value>Fişier</value>
</data>
<data name="CompilerResultView.LineText" xml:space="preserve">
<value>Linie</value>
</data>
<data name="ComponentInspector.AboutDialog.Title" xml:space="preserve">
<value>Despre</value>
</data>
@ -2006,6 +2003,9 @@ Doriţi adăugarea noului fişier la proiectul ${CurrentProjectName}?</value> @@ -2006,6 +2003,9 @@ Doriţi adăugarea noului fişier la proiectul ${CurrentProjectName}?</value>
<data name="Global.StartButtonText" xml:space="preserve">
<value>Start</value>
</data>
<data name="Global.TextLine" xml:space="preserve">
<value>Linie</value>
</data>
<data name="Global.UpdateButtonText" xml:space="preserve">
<value>Act&amp;ualizare</value>
</data>
@ -2069,9 +2069,6 @@ Doriţi adăugarea noului fişier la proiectul ${CurrentProjectName}?</value> @@ -2069,9 +2069,6 @@ Doriţi adăugarea noului fişier la proiectul ${CurrentProjectName}?</value>
<data name="ICSharpCode.CodeCoverage.EndLine" xml:space="preserve">
<value>Sfârşit de linie</value>
</data>
<data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve">
<value>Linie</value>
</data>
<data name="ICSharpCode.CodeCoverage.OptionsPanel.CommandLineLabel" xml:space="preserve">
<value>&amp;Comandă:</value>
</data>
@ -4516,15 +4513,6 @@ Eroare la pornire:</value> @@ -4516,15 +4513,6 @@ Eroare la pornire:</value>
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Utilizator:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>Ar trebui să urmăriţi noile versiuni şi să spuneţi prietenilor cât de indicat este SharpDevelop la scrierea programelor C# ?</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>Puteţi deschide fereastra de completare şablon folosind Ctrl+J ?</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>Că puteţi tasta "? name = ...;" (C#) sau "Dim name As ? = ..." (VB) iar SharpDevelop va substitui semnul de întrebare cu tipul "..."?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Opţiuni Buffer</value>
</data>

9
data/resources/StringResources.ru.resx

@ -7394,15 +7394,6 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес @@ -7394,15 +7394,6 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Пользователь:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>Вам следует следить за новыми версиями SharpDevelop и рассказывать всем своим друзьям, как классно создавать в нём программы на C#!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>Окно шаблонов можно открыть, нажав Ctrl-J?</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>Что вы можете ввести "? name = ...;" (C#) или "Dim name As ? = ..." (VB) и SharpDevelop заменит вопросительный знак на тип "..."?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Параметры</value>
</data>

18
data/resources/StringResources.se.resx

@ -417,9 +417,6 @@ Du kan specificera ett startcommando i projektinställningarna.</value> @@ -417,9 +417,6 @@ Du kan specificera ett startcommando i projektinställningarna.</value>
<data name="CompilerResultView.FileText" xml:space="preserve">
<value>Fil</value>
</data>
<data name="CompilerResultView.LineText" xml:space="preserve">
<value>Rad</value>
</data>
<data name="ComponentInspector.AboutDialog.Title" xml:space="preserve">
<value>Om</value>
</data>
@ -2329,6 +2326,9 @@ Du kan även välja att lagra inställningen i .user-filen istället för projek @@ -2329,6 +2326,9 @@ Du kan även välja att lagra inställningen i .user-filen istället för projek
<data name="Global.StartButtonText" xml:space="preserve">
<value>Start</value>
</data>
<data name="Global.TextLine" xml:space="preserve">
<value>Rad</value>
</data>
<data name="Global.UpdateButtonText" xml:space="preserve">
<value>&amp;Uppdatera</value>
</data>
@ -2458,9 +2458,6 @@ Du kan även välja att lagra inställningen i .user-filen istället för projek @@ -2458,9 +2458,6 @@ Du kan även välja att lagra inställningen i .user-filen istället för projek
<data name="ICSharpCode.CodeCoverage.EndColumn" xml:space="preserve">
<value>Slutkolumn</value>
</data>
<data name="ICSharpCode.CodeCoverage.Line" xml:space="preserve">
<value>Rad</value>
</data>
<data name="ICSharpCode.CodeCoverage.NCoverNotFound" xml:space="preserve">
<value>Kunde inte hitta applikationen NCover.
@ -5382,15 +5379,6 @@ Resursfilerna har därför bytt namn/flyttats enligt ovan.</value> @@ -5382,15 +5379,6 @@ Resursfilerna har därför bytt namn/flyttats enligt ovan.</value>
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Användare:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>Att du bör hålla utkik efter nya SharpDevelop-versioner, berätta för dina vänner hur bra SharpDevelop är och skriva snygga C#-program med det!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>Att du kan öppna mallkompletteringsfönstret med Ctrl+J?</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>Anger du "? name = ...;" (C#) eller "Dim name As ? = ..." (VB) kommer SharpDevelop att ersätta frågetecknet med typen "..."?</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Buffertinställningar</value>
</data>

9
data/resources/StringResources.tr.resx

@ -6785,15 +6785,6 @@ Program:</value> @@ -6785,15 +6785,6 @@ Program:</value>
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>Kullanıcı:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>Yeni SharpDevelop sürümlerini inceleyip sonrada bütün millete SharpDevelop'ın ne kadar iyi olduğunu anlatabilir ve onunla etkileyici programlar yazabilirsiniz!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>Ctrl+J ile şablon tamamlama penceresini açabilirsiniz.</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>"? isim = ...;" (C#) yada "Dim isim As ? = ..." (VB) yazıp, SharpDevelop'ın soru işaretini "..."? türüyle değiştirmesini sağlayabilirsiniz.</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>Ara Bellek Seçenekleri</value>
</data>

34
data/resources/StringResources.zh.resx

@ -779,9 +779,6 @@ @@ -779,9 +779,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>
@ -809,13 +806,6 @@ @@ -809,13 +806,6 @@
<data name="AddIns.Subversion.Options.UseHistoryDisplayBinding" xml:space="preserve">
<value>查看版本控制文件的历史列表(&amp;H)</value>
</data>
<data name="AddIns.Subversion.ReloadSolution" xml:space="preserve">
<value>重新加载解决方案</value>
</data>
<data name="AddIns.Subversion.ReloadSolutionAfterProjectChanges" xml:space="preserve">
<value>SharpDevelop 检测到项目文件有更新。
您需要重新加载解决方案。</value>
</data>
<data name="AddIns.Subversion.Relocate" xml:space="preserve">
<value>重新定位</value>
</data>
@ -965,9 +955,6 @@ @@ -965,9 +955,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>
@ -3403,6 +3390,9 @@ @@ -3403,6 +3390,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>更新(&amp;U)</value>
</data>
@ -3679,9 +3669,6 @@ @@ -3679,9 +3669,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.NCoverNotFound" xml:space="preserve">
<value>无法找到NCover程序进行转换.
如果NCover已经安装, 请在代码覆盖率选项中指定该程序的位置.</value>
@ -4701,6 +4688,12 @@ THIS DOES NOT AFFECT THE SOURCE CODE. @@ -4701,6 +4688,12 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<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>将选中的项目转换到(&amp;P):</value>
</data>
@ -7776,15 +7769,6 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而 @@ -7776,15 +7769,6 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而
<data name="XML.StandardHeader.User" xml:space="preserve">
<value>用户:</value>
</data>
<data name="XML.StartupTips.Tip1" xml:space="preserve">
<value>获取SharpDevelop的最新版本,告诉你的朋友,用它可以写出精彩的C#程序!</value>
</data>
<data name="XML.StartupTips.Tip2" xml:space="preserve">
<value>你知道可以使用Ctrl+J打开模板完成窗口吗?</value>
</data>
<data name="XML.StartupTips.Tip3" xml:space="preserve">
<value>您可以输入"? name = ...;" (C#) 或 "Dim name As ? = ..." (VB), SharpDevelop会自动用"..."的内容替换问号.</value>
</data>
<data name="XML.TextAreaContextMenu.BufferOptions" xml:space="preserve">
<value>代码区选项</value>
</data>

2
samples/SharpDevelopReports/src/ReportSamples.sln

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
# SharpDevelop 4.1.0.7014
# SharpDevelop 4.2.0.7716-alpha
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpReportSamples", "SharpReportSamples\SharpReportSamples.csproj", "{BB5D34DA-3561-48B1-894A-46765C2A18C1}"
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}"

16
samples/SharpDevelopReports/src/SharpReportSamples/MainForm.Designer.cs generated

@ -41,17 +41,20 @@ namespace SharpReportSamples @@ -41,17 +41,20 @@ namespace SharpReportSamples
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("PushModel-IList");
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("Provider Independent");
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("Customized");
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("Sample Reports", new System.Windows.Forms.TreeNode[] {
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("StoredProcedure");
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("Sample Reports", new System.Windows.Forms.TreeNode[] {
treeNode1,
treeNode2,
treeNode3,
treeNode4,
treeNode5});
treeNode5,
treeNode6});
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.treeView1 = new System.Windows.Forms.TreeView();
this.label1 = new System.Windows.Forms.Label();
this.previewControl1 = new ICSharpCode.Reports.Core.ReportViewer.PreviewControl();
this.menuStrip2 = new System.Windows.Forms.MenuStrip();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
@ -93,10 +96,12 @@ namespace SharpReportSamples @@ -93,10 +96,12 @@ namespace SharpReportSamples
treeNode4.Text = "Provider Independent";
treeNode5.Name = "CustomizedNode";
treeNode5.Text = "Customized";
treeNode6.Name = "Customized";
treeNode6.Text = "Sample Reports";
treeNode6.Name = "StoredProcedure";
treeNode6.Text = "StoredProcedure";
treeNode7.Name = "Customized";
treeNode7.Text = "Sample Reports";
this.treeView1.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode6});
treeNode7});
this.treeView1.Size = new System.Drawing.Size(148, 444);
this.treeView1.TabIndex = 0;
this.treeView1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.TreeView1MouseDoubleClick);
@ -144,6 +149,7 @@ namespace SharpReportSamples @@ -144,6 +149,7 @@ namespace SharpReportSamples
this.Text = "SharpReportSamples";
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();

81
samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs

@ -28,6 +28,7 @@ namespace SharpReportSamples @@ -28,6 +28,7 @@ namespace SharpReportSamples
private TreeNode iListNode;
private TreeNode providerIndependent;
private TreeNode customized;
private TreeNode storedProcedure;
private ImageList imageList;
public MainForm()
@ -59,12 +60,15 @@ namespace SharpReportSamples @@ -59,12 +60,15 @@ namespace SharpReportSamples
this.iListNode = this.treeView1.Nodes[0].Nodes[2];
this.providerIndependent = this.treeView1.Nodes[0].Nodes[3];
this.customized = this.treeView1.Nodes[0].Nodes[4];
this.storedProcedure = this.treeView1.Nodes[0].Nodes[5];
AddNodesToTree (this.formNode,startPath + @"FormSheet\" );
AddNodesToTree (this.pullNode,startPath + @"PullModel\" );
AddNodesToTree (this.iListNode,startPath + @"IList\" );
AddNodesToTree (this.providerIndependent,startPath + @"ProviderIndependent\" );
AddNodesToTree (this.customized,startPath + @"Customized\" );
AddNodesToTree (this.storedProcedure,startPath + @"StoredProcedure\" );
}
@ -101,6 +105,11 @@ namespace SharpReportSamples @@ -101,6 +105,11 @@ namespace SharpReportSamples
this.RunContributorsWithParameters(reportName);
}
else if (s == "SalesByYear_2Params") {
{
StoredProcedureWithParam(reportName);
}
}
else if (s == "NoConnectionReport") {
this.RunProviderIndependent(reportName);
} else if (s =="EventLog")
@ -110,8 +119,8 @@ namespace SharpReportSamples @@ -110,8 +119,8 @@ namespace SharpReportSamples
ReportParameters parameters = ReportEngine.LoadParameters(reportName);
if ((parameters != null)&& (parameters.SqlParameters.Count > 0)){
parameters.SqlParameters[0].ParameterValue = "I'm the Parameter";
if ((parameters != null)&& (parameters.Parameters.Count > 0)){
parameters.Parameters[0].ParameterValue = "I'm the Parameter";
}
this.previewControl1.PreviewLayoutChanged += delegate (object sender, EventArgs e)
{
@ -127,11 +136,13 @@ namespace SharpReportSamples @@ -127,11 +136,13 @@ namespace SharpReportSamples
{
string conOleDbString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\SharpReport_TestReports\TestReports\Nordwind.mdb;Persist Security Info=False";
ReportParameters parameters = ReportEngine.LoadParameters(reportName);
ConnectionObject con = ConnectionObject.CreateInstance(conOleDbString,
System.Data.Common.DbProviderFactories.GetFactory("System.Data.OleDb") );
parameters.ConnectionObject = con;
parameters.SqlParameters[0].ParameterValue = "Provider Independent";
parameters.Parameters[0].ParameterValue = "Provider Independent";
this.previewControl1.PreviewLayoutChanged += delegate (object sender, EventArgs e)
{
this.RunProviderIndependent(reportName);
@ -140,6 +151,33 @@ namespace SharpReportSamples @@ -140,6 +151,33 @@ namespace SharpReportSamples
}
#endregion
#region StoredProcedure
void StoredProcedureWithParam(string fileName)
{
var model = ReportEngine.LoadReportModel(fileName);
ReportParameters parameters = ReportEngine.LoadParameters(fileName);
// The report has no sorting, so we can add it by code
parameters.SortColumnCollection.Add (new SortColumn("ShippedDate",
System.ComponentModel.ListSortDirection.Ascending));
parameters.SqlParameters[0].ParameterValue = new System.DateTime(1997,11,01).ToString();
parameters.SqlParameters[1].ParameterValue = new System.DateTime(1997,12,31).ToString();
this.previewControl1.PreviewLayoutChanged += delegate (object sender, EventArgs e)
{
this.previewControl1.RunReport(fileName,parameters);
};
this.previewControl1.RunReport(fileName,parameters);
}
#endregion
#region Contributors
@ -185,7 +223,7 @@ namespace SharpReportSamples @@ -185,7 +223,7 @@ namespace SharpReportSamples
ReportParameters parameters = ReportEngine.LoadParameters(fileName);
BasicParameter p1 = parameters.SqlParameters[0];
BasicParameter p1 = parameters.Parameters[0];
p1.ParameterValue ="Value of Parameter";
@ -207,7 +245,7 @@ namespace SharpReportSamples @@ -207,7 +245,7 @@ namespace SharpReportSamples
var model = ReportEngine.LoadReportModel(fileName);
ReportParameters parameters = ReportEngine.LoadParameters(fileName);
BasicParameter p1 = parameters.SqlParameters[0];
BasicParameter p1 = parameters.Parameters[0];
p1.ParameterValue ="Value of Parameter";
@ -227,7 +265,7 @@ namespace SharpReportSamples @@ -227,7 +265,7 @@ namespace SharpReportSamples
var model = ReportEngine.LoadReportModel(fileName);
ReportParameters parameters = ReportEngine.LoadParameters(fileName);
BasicParameter p1 = parameters.SqlParameters[0];
BasicParameter p1 = parameters.Parameters[0];
p1.ParameterValue ="Value of Parameter";
@ -300,7 +338,7 @@ namespace SharpReportSamples @@ -300,7 +338,7 @@ namespace SharpReportSamples
//Handles SectionRenderEvent
int hour = 0;
// int hour = 0;
private void PushPrinting (object sender, SectionRenderEventArgs e )
{
@ -396,8 +434,6 @@ namespace SharpReportSamples @@ -396,8 +434,6 @@ namespace SharpReportSamples
#endregion
void TreeView1MouseDoubleClick(object sender, MouseEventArgs e)
{
TreeNode selectedNode = this.treeView1.SelectedNode;
@ -405,32 +441,5 @@ namespace SharpReportSamples @@ -405,32 +441,5 @@ namespace SharpReportSamples
RunStandardReport(selectedNode.Tag.ToString());
}
}
/*
void Button2Click(object sender, EventArgs e)
{
// get Filename to save *.pdf
string saveTo = this.SelectFilename();
// Create connectionobject
parameters = ReportEngine.LoadParameters(reportName);
ConnectionObject con = ConnectionObject.CreateInstance(this.conOleDbString,
System.Data.Common.DbProviderFactories.GetFactory("System.Data.OleDb") );
parameters.ConnectionObject = con;
// create a Pagebuilder
pageBuilder = ReportEngine.CreatePageBuilder(reportName,parameters);
pageBuilder.BuildExportList();
using (PdfRenderer pdfRenderer = PdfRenderer.CreateInstance(pageBuilder,saveTo,true)){
pdfRenderer.Start();
pdfRenderer.RenderOutput();
pdfRenderer.End();
}
}
*/
}
}

8
samples/SharpDevelopReports/src/SharpReportSamples/MainForm.resx

@ -112,15 +112,15 @@ @@ -112,15 +112,15 @@
<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="menuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="menuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>237, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>25</value>
</metadata>
</root>

6
src/AddIns/BackendBindings/Scripting/Test/Utils/MockTextEditorOptions.cs

@ -30,5 +30,11 @@ namespace ICSharpCode.Scripting.Tests.Utils @@ -30,5 +30,11 @@ namespace ICSharpCode.Scripting.Tests.Utils
throw new NotImplementedException();
}
}
public string FontFamily {
get {
throw new NotImplementedException();
}
}
}
}

9
src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs

@ -172,7 +172,14 @@ namespace ICSharpCode.VBNetBinding @@ -172,7 +172,14 @@ namespace ICSharpCode.VBNetBinding
bool? GetValue(string name, bool defaultVal)
{
string val = GetEvaluatedProperty(name);
string val;
try {
val = GetEvaluatedProperty(name);
} catch (ObjectDisposedException) {
// This can happen when the project is disposed but the resolver still tries
// to access Option Infer (or similar).
val = null;
}
if (val == null)
return defaultVal;

6
src/AddIns/BackendBindings/WixBinding/Test/Utils/MockTextEditorOptions.cs

@ -50,5 +50,11 @@ namespace WixBinding.Tests.Utils @@ -50,5 +50,11 @@ namespace WixBinding.Tests.Utils
}
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged { add { } remove { } }
public string FontFamily {
get {
throw new NotImplementedException();
}
}
}
}

2
src/AddIns/Debugger/Debugger.AddIn/Pads/CallStackPad.xaml

@ -20,7 +20,7 @@ @@ -20,7 +20,7 @@
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="{sd:Localize Global.LineText}">
<GridViewColumn Header="{sd:Localize Global.TextLine}">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Line}" Foreground="{Binding FontColor}" />

14
src/AddIns/Debugger/Debugger.Core/Thread.cs

@ -208,10 +208,22 @@ namespace Debugger @@ -208,10 +208,22 @@ namespace Debugger
if (this.CorThread.GetCurrentException() == null) return false; // Is there any exception
if (this.MostRecentStackFrame == null) return false; // Is frame available? It is not at StackOverflow
// Intercepting an exception on an optimized/NGENed frame seems to sometimes
// freeze the debugee (as of .NET 4.0, it was ok in .NET 2.0)
// eg. Convert.ToInt64(ulong.MaxValue) causes such freeze
StackFrame mostRecentUnoptimized = null;
foreach(StackFrame sf in this.Callstack) {
if (sf.MethodInfo.DebugModule.CorModule2.GetJITCompilerFlags() != 1) { // CORDEBUG_JIT_DEFAULT
mostRecentUnoptimized = sf;
break;
}
}
if (mostRecentUnoptimized == null) return false;
try {
// Interception will expire the CorValue so keep permanent reference
currentException.MakeValuePermanent();
((ICorDebugThread2)this.CorThread).InterceptCurrentException(this.MostRecentStackFrame.CorILFrame);
((ICorDebugThread2)this.CorThread).InterceptCurrentException(mostRecentUnoptimized.CorILFrame);
} catch (COMException e) {
// 0x80131C02: Cannot intercept this exception
if ((uint)e.ErrorCode == 0x80131C02)

5
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs

@ -38,6 +38,7 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -38,6 +38,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
{
if (!disposed) {
changeWatcher.ChangeOccurred -= ChangeOccurred;
changeWatcher.Dispose();
disposed = true;
}
}
@ -50,8 +51,6 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -50,8 +51,6 @@ namespace ICSharpCode.AvalonEdit.AddIn
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);
@ -202,7 +201,7 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -202,7 +201,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
differ.editor.Visibility = Visibility.Collapsed;
differ.copyButton.Visibility = Visibility.Collapsed;
} else {
var baseDocument = new TextDocument(changeWatcher.BaseDocument.Text);
var baseDocument = new TextDocument(DocumentUtilitites.GetTextSource(changeWatcher.BaseDocument));
if (differ.editor.SyntaxHighlighting != null) {
var mainHighlighter = new DocumentHighlighter(baseDocument, differ.editor.SyntaxHighlighting.MainRuleSet);
var popupHighlighter = differ.editor.TextArea.GetService(typeof(IHighlighter)) as DocumentHighlighter;

8
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs

@ -126,8 +126,9 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -126,8 +126,9 @@ namespace ICSharpCode.AvalonEdit.AddIn
} else {
this.errorPainter.UpdateErrors();
}
if (changeWatcher != null) {
changeWatcher.Initialize(this.DocumentAdapter);
}
FetchParseInformation();
}
}
@ -154,8 +155,9 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -154,8 +155,9 @@ namespace ICSharpCode.AvalonEdit.AddIn
textMarkerService = new TextMarkerService(this);
iconBarManager = new IconBarManager();
if (CodeEditorOptions.Instance.EnableChangeMarkerMargin) {
changeWatcher = new DefaultChangeWatcher();
}
primaryTextEditor = CreateTextEditor();
primaryTextEditorAdapter = (CodeEditorAdapter)primaryTextEditor.TextArea.GetService(typeof(ITextEditor));
Debug.Assert(primaryTextEditorAdapter != null);
@ -214,7 +216,9 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -214,7 +216,9 @@ namespace ICSharpCode.AvalonEdit.AddIn
textView.Services.AddService(typeof(IBookmarkMargin), iconBarManager);
codeEditorView.TextArea.LeftMargins.Insert(0, new IconBarMargin(iconBarManager));
if (changeWatcher != null) {
codeEditorView.TextArea.LeftMargins.Add(new ChangeMarkerMargin(changeWatcher));
}
textView.Services.AddService(typeof(ISyntaxHighlighter), new AvalonEditSyntaxHighlighterAdapter(textView));

21
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs

@ -6,7 +6,6 @@ using System.Collections.Generic; @@ -6,7 +6,6 @@ using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Linq;
using ICSharpCode.AvalonEdit.AddIn.MyersDiff;
using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.AvalonEdit.Utils;
@ -23,6 +22,7 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -23,6 +22,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
IDocument baseDocument;
IDocumentVersionProvider usedProvider;
IDisposable watcher;
Core.FileName currentFileName;
public event EventHandler ChangeOccurred;
@ -40,29 +40,32 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -40,29 +40,32 @@ namespace ICSharpCode.AvalonEdit.AddIn
public void Initialize(IDocument document)
{
if (changeList != null && changeList.Any())
return;
if (this.document == null) {
this.document = document;
this.textDocument = (TextDocument)document.GetService(typeof(TextDocument));
this.changeList = new CompressingTreeList<LineChangeInfo>((x, y) => x.Equals(y));
}
var fileName = ((ITextEditor)document.GetService(typeof(ITextEditor))).FileName;
InitializeBaseDocument();
if (watcher != null)
watcher.Dispose();
if (usedProvider != null) {
string fileName = ((ITextEditor)document.GetService(typeof(ITextEditor))).FileName;
if (usedProvider != null)
watcher = usedProvider.WatchBaseVersionChanges(fileName, HandleBaseVersionChanges);
}
SetupInitialFileState(false);
SetupInitialFileState(fileName != currentFileName);
currentFileName = fileName;
if (!this.textDocument.LineTrackers.Contains(this)) {
this.textDocument.LineTrackers.Add(this);
this.textDocument.UndoStack.PropertyChanged += UndoStackPropertyChanged;
}
}
void HandleBaseVersionChanges(object sender, EventArgs e)
{
ICSharpCode.Core.LoggingService.Info("HandleBaseVersionChanges");
InitializeBaseDocument();
SetupInitialFileState(true);
}

13
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Options/CodeEditorOptions.cs

@ -66,6 +66,19 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options @@ -66,6 +66,19 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options
}
}
bool enableChangeMarkerMargin = true;
[DefaultValue(true)]
public bool EnableChangeMarkerMargin {
get { return enableChangeMarkerMargin; }
set {
if (enableChangeMarkerMargin != value) {
enableChangeMarkerMargin = value;
OnPropertyChanged("EnableChangeMarkerMargin");
}
}
}
bool wordWrap;
[DefaultValue(false)]

3
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Options/GeneralEditorOptions.xaml

@ -17,6 +17,9 @@ @@ -17,6 +17,9 @@
<CheckBox
IsChecked="{core:OptionBinding local:CodeEditorOptions.EnableFolding}"
Content="{core:Localize Dialog.Options.IDEOptions.TextEditor.General.FoldingCheckBox}" />
<CheckBox
IsChecked="{core:OptionBinding local:CodeEditorOptions.EnableChangeMarkerMargin}"
Content="{core:Localize Dialog.Options.IDEOptions.TextEditor.General.ChangeMarkerMarginCheckBox}" />
<CheckBox
IsChecked="{core:OptionBinding local:CodeEditorOptions.EnableQuickClassBrowser}"
Content="{core:Localize Dialog.Options.IDEOptions.TextEditor.General.ShowQuickClassBrowserCheckBox}" />

13
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core.UI/DisplayBinding/EDMDesignerViewContent.cs

@ -113,7 +113,18 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding @@ -113,7 +113,18 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding
if (_edmView.EDM.IsEmpty)
{
edmxElement = null;
EDMWizardWindow wizard = RunWizard(file, ProjectService.CurrentProject.RootNamespace);
string ns = String.Empty;
if (ProjectService.CurrentProject == null)
{
ns = ICSharpCode.Core.MessageService.ShowInputBox("EDMDesigner","Enter NameSpace","DefaultNamespace");
}
else
{
ns = ProjectService.CurrentProject.RootNamespace;
}
EDMWizardWindow wizard = RunWizard(file, ns);
if (wizard.DialogResult == true)
_edmView = new EDMView(wizard.EDMXDocument, readMoreAction);

1
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.SQLServer/SQLServerDatabaseDriver.cs

@ -177,7 +177,6 @@ namespace ICSharpCode.Data.Core.DatabaseDrivers.SQLServer @@ -177,7 +177,6 @@ namespace ICSharpCode.Data.Core.DatabaseDrivers.SQLServer
SqlConnection sqlConnection = null;
sqlConnection = new SqlConnection();
sqlConnection.ConnectionString = datasource.ConnectionString;
try
{
sqlConnection.Open();

6
src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsDocument.cs

@ -49,11 +49,17 @@ namespace ICSharpCode.SettingsEditor @@ -49,11 +49,17 @@ namespace ICSharpCode.SettingsEditor
public SettingsDocument(XmlElement settingsFile, ISettingsEntryHost host)
{
if (settingsFile == null)
throw new ArgumentNullException("settingsFile");
if (host == null)
throw new ArgumentNullException("host");
generatedClassNamespace = settingsFile.GetAttribute("GeneratedClassNamespace");
generatedClassName = settingsFile.GetAttribute("GeneratedClassName");
this.UseMySettingsClassName = "true".Equals(settingsFile.GetAttribute("UseMySettingsClassName"), StringComparison.OrdinalIgnoreCase);
XmlElement settings = settingsFile["Settings"];
if (settings == null)
throw new FormatException("Not a settings file.");
foreach (XmlNode node in settings.ChildNodes) {
if (node is XmlElement) {

2
src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsEntry.cs

@ -53,6 +53,8 @@ namespace ICSharpCode.SettingsEditor @@ -53,6 +53,8 @@ namespace ICSharpCode.SettingsEditor
{
if (element == null)
throw new ArgumentNullException("element");
if (element["Value"] == null)
throw new FormatException("Not a settings file.");
description = element.GetAttribute("Description");
if (!bool.TryParse(element.GetAttribute("GenerateDefaultValueInCode"), out generateDefaultValueInCode))
generateDefaultValueInCode = GenerateDefaultValueInCodeDefault;

1
src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsView.cs

@ -67,6 +67,7 @@ namespace ICSharpCode.SettingsEditor @@ -67,6 +67,7 @@ namespace ICSharpCode.SettingsEditor
public void ShowEntries(IList<SettingsEntry> list)
{
bindingSource.Clear();
foreach (SettingsEntry entry in list) {
bindingSource.Add(entry);
}

13
src/AddIns/DisplayBindings/SettingsEditor/Project/SettingsViewContent.cs

@ -16,7 +16,7 @@ using ICSharpCode.SharpDevelop.Project; @@ -16,7 +16,7 @@ using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.SettingsEditor
{
public class SettingsViewContent : AbstractViewContent, IHasPropertyContainer
public class SettingsViewContent : AbstractViewContentHandlingLoadErrors, IHasPropertyContainer
{
SettingsView view = new SettingsView();
PropertyContainer propertyContainer = new PropertyContainer();
@ -36,6 +36,7 @@ namespace ICSharpCode.SettingsEditor @@ -36,6 +36,7 @@ namespace ICSharpCode.SettingsEditor
if (appConfigFile != null)
appConfigFile.MakeDirty();
};
this.UserContent = view;
}
void TryOpenAppConfig(bool createIfNotExists)
@ -57,13 +58,7 @@ namespace ICSharpCode.SettingsEditor @@ -57,13 +58,7 @@ namespace ICSharpCode.SettingsEditor
}
}
public override object Control {
get {
return view;
}
}
public override void Load(OpenedFile file, Stream stream)
protected override void LoadInternal(OpenedFile file, Stream stream)
{
if (file == PrimaryFile) {
try {
@ -89,7 +84,7 @@ namespace ICSharpCode.SettingsEditor @@ -89,7 +84,7 @@ namespace ICSharpCode.SettingsEditor
}
}
public override void Save(OpenedFile file, Stream stream)
protected override void SaveInternal(OpenedFile file, Stream stream)
{
if (file == PrimaryFile) {
using (XmlTextWriter writer = new XmlTextWriter(stream, Encoding.UTF8)) {

22
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/OutlineView/OutlineNode.cs

@ -142,19 +142,24 @@ namespace ICSharpCode.WpfDesign.Designer.OutlineView @@ -142,19 +142,24 @@ namespace ICSharpCode.WpfDesign.Designer.OutlineView
public bool CanInsert(IEnumerable<OutlineNode> nodes, OutlineNode after, bool copy)
{
var operation = PlacementOperation.Start(nodes.Select(node => node.DesignItem).ToArray(), DummyPlacementType);
var placementBehavior = DesignItem.GetBehavior<IPlacementBehavior>();
if(operation!=null)
return placementBehavior.CanEnterContainer(operation);
if (placementBehavior == null)
return false;
var operation = PlacementOperation.Start(nodes.Select(node => node.DesignItem).ToArray(), DummyPlacementType);
if (operation != null) {
bool canEnter = placementBehavior.CanEnterContainer(operation);
operation.Abort();
return canEnter;
}
return false;
}
public void Insert(IEnumerable<OutlineNode> nodes, OutlineNode after, bool copy)
{
using (var moveTransaction = DesignItem.Context.OpenGroup("Item moved in outline view", nodes.Select(n => n.DesignItem).ToList())) {
if (copy) {
nodes = nodes.Select(n => OutlineNode.Create(n.DesignItem.Clone()));
}
else {
nodes = nodes.Select(n => OutlineNode.Create(n.DesignItem.Clone())).ToList();
} else {
foreach (var node in nodes) {
node.DesignItem.Remove();
}
@ -167,10 +172,11 @@ namespace ICSharpCode.WpfDesign.Designer.OutlineView @@ -167,10 +172,11 @@ namespace ICSharpCode.WpfDesign.Designer.OutlineView
foreach (var node in nodes) {
content.CollectionElements.Insert(index++, node.DesignItem);
}
}
else {
} else {
content.SetValue(nodes.First().DesignItem);
}
moveTransaction.Commit();
}
}
#region INotifyPropertyChanged Members

10
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Services/DragMoveMouseGesture.cs

@ -16,13 +16,15 @@ namespace ICSharpCode.WpfDesign.Designer.Services @@ -16,13 +16,15 @@ namespace ICSharpCode.WpfDesign.Designer.Services
sealed class DragMoveMouseGesture : ClickOrDragMouseGesture
{
bool isDoubleClick;
bool setSelectionIfNotMoving;
MoveLogic moveLogic;
internal DragMoveMouseGesture(DesignItem clickedOn, bool isDoubleClick)
internal DragMoveMouseGesture(DesignItem clickedOn, bool isDoubleClick, bool setSelectionIfNotMoving = false)
{
Debug.Assert(clickedOn != null);
this.isDoubleClick = isDoubleClick;
this.setSelectionIfNotMoving = setSelectionIfNotMoving;
this.positionRelativeTo = clickedOn.Services.DesignPanel;
moveLogic = new MoveLogic(clickedOn);
@ -41,10 +43,14 @@ namespace ICSharpCode.WpfDesign.Designer.Services @@ -41,10 +43,14 @@ namespace ICSharpCode.WpfDesign.Designer.Services
protected override void OnMouseUp(object sender, MouseButtonEventArgs e)
{
if (!hasDragStarted && isDoubleClick) {
if (!hasDragStarted) {
if (isDoubleClick) {
// user made a double-click
Debug.Assert(moveLogic.Operation == null);
moveLogic.HandleDoubleClick();
} else if (setSelectionIfNotMoving) {
services.Selection.SetSelectedComponents(new DesignItem[] { moveLogic.ClickedOn }, SelectionTypes.Auto);
}
}
moveLogic.Stop();
Stop();

11
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Services/PointerTool.cs

@ -37,9 +37,18 @@ namespace ICSharpCode.WpfDesign.Designer.Services @@ -37,9 +37,18 @@ namespace ICSharpCode.WpfDesign.Designer.Services
if (e.ChangedButton == MouseButton.Left && MouseGestureBase.IsOnlyButtonPressed(e, MouseButton.Left)) {
e.Handled = true;
ISelectionService selectionService = designPanel.Context.Services.Selection;
bool setSelectionIfNotMoving = false;
if (selectionService.IsComponentSelected(result.ModelHit)) {
setSelectionIfNotMoving = true;
// There might be multiple components selected. We might have
// to set the selection to only the item clicked on
// (or deselect the item clicked on if Ctrl is pressed),
// but we should do so only if the user isn't performing a drag operation.
} else {
selectionService.SetSelectedComponents(new DesignItem[] { result.ModelHit }, SelectionTypes.Auto);
}
if (selectionService.IsComponentSelected(result.ModelHit)) {
new DragMoveMouseGesture(result.ModelHit, e.ClickCount == 2).Start(designPanel, e);
new DragMoveMouseGesture(result.ModelHit, e.ClickCount == 2, setSelectionIfNotMoving).Start(designPanel, e);
}
}
}

6
src/AddIns/DisplayBindings/XmlEditor/Test/Utils/MockTextEditorOptions.cs

@ -46,5 +46,11 @@ namespace XmlEditor.Tests.Utils @@ -46,5 +46,11 @@ namespace XmlEditor.Tests.Utils
throw new NotImplementedException();
}
}
public string FontFamily {
get {
throw new NotImplementedException();
}
}
}
}

33
src/AddIns/Misc/PackageManagement/Cmdlets/Project/Src/GetPackageCmdlet.cs

@ -47,6 +47,9 @@ namespace ICSharpCode.PackageManagement.Cmdlets @@ -47,6 +47,9 @@ namespace ICSharpCode.PackageManagement.Cmdlets
[Parameter(Position = 0)]
public string Filter { get; set; }
[Parameter(Position = 1, ParameterSetName = "Project")]
public string ProjectName { get; set; }
[Parameter(ParameterSetName = "Available")]
[Parameter(ParameterSetName = "Updated")]
public string Source { get; set; }
@ -142,22 +145,32 @@ namespace ICSharpCode.PackageManagement.Cmdlets @@ -142,22 +145,32 @@ namespace ICSharpCode.PackageManagement.Cmdlets
IQueryable<IPackage> FilterPackages(IQueryable<IPackage> packages)
{
if (Filter != null) {
string[] searchTerms = Filter.Split(' ');
return packages.Find(searchTerms);
}
return packages;
return packages.Find(Filter);
}
IQueryable<IPackage> GetUpdatedPackages()
{
IPackageRepository aggregateRepository = registeredPackageRepositories.CreateAggregateRepository();
IPackageManagementProject project = ConsoleHost.GetProject(aggregateRepository, DefaultProject.Name);
IPackageManagementProject project = GetSelectedProject(aggregateRepository);
var updatedPackages = new UpdatedPackages(project, aggregateRepository);
updatedPackages.SearchTerms = Filter;
return updatedPackages.GetUpdatedPackages().AsQueryable();
}
IPackageManagementProject GetSelectedProject(IPackageRepository repository)
{
string projectName = GetSelectedProjectName();
return ConsoleHost.GetProject(repository, projectName);
}
string GetSelectedProjectName()
{
if (ProjectName != null) {
return ProjectName;
}
return DefaultProject.Name;
}
IQueryable<IPackage> GetRecentPackages()
{
IQueryable<IPackage> packages = registeredPackageRepositories.RecentPackageRepository.GetPackages();
@ -166,11 +179,17 @@ namespace ICSharpCode.PackageManagement.Cmdlets @@ -166,11 +179,17 @@ namespace ICSharpCode.PackageManagement.Cmdlets
IQueryable<IPackage> GetInstalledPackages()
{
IPackageManagementProject project = ConsoleHost.GetProject(Source, DefaultProject.Name);
IPackageManagementProject project = GetSelectedProject();
IQueryable<IPackage> packages = project.GetPackages();
return FilterPackages(packages);
}
IPackageManagementProject GetSelectedProject()
{
string projectName = GetSelectedProjectName();
return ConsoleHost.GetProject(Source, projectName);
}
void WritePackagesToOutputPipeline(IQueryable<IPackage> packages)
{
foreach (IPackage package in packages) {

138
src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/GetPackageCmdletTests.cs

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.Management.Automation;
using ICSharpCode.PackageManagement.Design;
using NuGet;
@ -55,7 +56,7 @@ namespace PackageManagement.Cmdlets.Tests @@ -55,7 +56,7 @@ namespace PackageManagement.Cmdlets.Tests
FakePackage AddPackageToProjectManagerLocalRepository(string id, string version)
{
var package = FakePackage.CreatePackageWithVersion(id, version);
FakePackage package = FakePackage.CreatePackageWithVersion(id, version);
fakeSolution.AddPackageToActiveProjectLocalRepository(package);
return package;
}
@ -99,14 +100,14 @@ namespace PackageManagement.Cmdlets.Tests @@ -99,14 +100,14 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_ListAvailablePackagesWhenDefaultPackageSourceHasOnePackage_OutputIsPackagesFromPackageSourceRepository()
{
CreateCmdlet();
var repository = fakeRegisteredPackageRepositories.FakePackageRepository;
FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
repository.AddFakePackage("Test");
EnableListAvailableParameter();
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = repository.FakePackages;
List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
List<FakePackage> expectedPackages = repository.FakePackages;
CollectionAssert.AreEqual(expectedPackages, actualPackages);
}
@ -116,14 +117,14 @@ namespace PackageManagement.Cmdlets.Tests @@ -116,14 +117,14 @@ namespace PackageManagement.Cmdlets.Tests
{
CreateCmdlet();
fakeConsoleHost.DefaultProject = null;
var repository = fakeRegisteredPackageRepositories.FakePackageRepository;
FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
repository.AddFakePackage("Test");
EnableListAvailableParameter();
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = repository.FakePackages;
List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
List<FakePackage> expectedPackages = repository.FakePackages;
CollectionAssert.AreEqual(expectedPackages, actualPackages);
}
@ -132,7 +133,7 @@ namespace PackageManagement.Cmdlets.Tests @@ -132,7 +133,7 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_ListAvailablePackagesWhenDefaultPackageSourceHasThreePackages_OutputIsPackagesFromPackageSourceRepository()
{
CreateCmdlet();
var repository = fakeRegisteredPackageRepositories.FakePackageRepository;
FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
repository.AddFakePackage("A");
repository.AddFakePackage("B");
repository.AddFakePackage("C");
@ -140,8 +141,8 @@ namespace PackageManagement.Cmdlets.Tests @@ -140,8 +141,8 @@ namespace PackageManagement.Cmdlets.Tests
EnableListAvailableParameter();
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = repository.FakePackages;
List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
List<FakePackage> expectedPackages = repository.FakePackages;
CollectionAssert.AreEqual(expectedPackages, actualPackages);
}
@ -150,14 +151,14 @@ namespace PackageManagement.Cmdlets.Tests @@ -150,14 +151,14 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_ListAvailablePackagesWhenDefaultPackageSourceHasTwoPackages_PackagesAreSortedById()
{
CreateCmdlet();
var repository = fakeRegisteredPackageRepositories.FakePackageRepository;
var packageB = repository.AddFakePackage("B");
var packageA = repository.AddFakePackage("A");
FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
FakePackage packageB = repository.AddFakePackage("B");
FakePackage packageA = repository.AddFakePackage("A");
EnableListAvailableParameter();
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] {
packageA,
packageB
@ -170,13 +171,13 @@ namespace PackageManagement.Cmdlets.Tests @@ -170,13 +171,13 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_ListAvailablePackagesWhenNoPackageSourceSpecified_PackageSourceTakenFromConsoleHost()
{
CreateCmdlet();
var source = AddPackageSourceToConsoleHost();
PackageSource source = AddPackageSourceToConsoleHost();
fakeConsoleHost.PackageSourceToReturnFromGetActivePackageSource = source;
EnableListAvailableParameter();
RunCmdlet();
var actualSource = fakeRegisteredPackageRepositories.PackageSourcePassedToCreateRepository;
PackageSource actualSource = fakeRegisteredPackageRepositories.PackageSourcePassedToCreateRepository;
Assert.AreEqual(source, actualSource);
}
@ -190,8 +191,8 @@ namespace PackageManagement.Cmdlets.Tests @@ -190,8 +191,8 @@ namespace PackageManagement.Cmdlets.Tests
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = fakeConsoleHost.FakeProject.FakePackages;
List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
List<FakePackage> expectedPackages = fakeConsoleHost.FakeProject.FakePackages;
Assert.AreEqual(expectedPackages, actualPackages);
}
@ -203,7 +204,7 @@ namespace PackageManagement.Cmdlets.Tests @@ -203,7 +204,7 @@ namespace PackageManagement.Cmdlets.Tests
RunCmdlet();
var actualSource = fakeConsoleHost.PackageSourcePassedToGetProject;
string actualSource = fakeConsoleHost.PackageSourcePassedToGetProject;
Assert.IsNull(actualSource);
}
@ -212,12 +213,12 @@ namespace PackageManagement.Cmdlets.Tests @@ -212,12 +213,12 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_NoParametersPassed_DefaultProjectInConsoleHostUsedToCreateProject()
{
CreateCmdlet();
var project = AddDefaultProjectToConsoleHost();
TestableProject project = AddDefaultProjectToConsoleHost();
project.Name = "MyProject";
RunCmdlet();
var actualProjectName = fakeConsoleHost.ProjectNamePassedToGetProject;
string actualProjectName = fakeConsoleHost.ProjectNamePassedToGetProject;
Assert.AreEqual("MyProject", actualProjectName);
}
@ -227,12 +228,12 @@ namespace PackageManagement.Cmdlets.Tests @@ -227,12 +228,12 @@ namespace PackageManagement.Cmdlets.Tests
{
CreateCmdlet();
AddPackageToProjectManagerLocalRepository("1.0.0.0");
var updatedPackage = AddPackageToAggregateRepository("1.1.0.0");
FakePackage updatedPackage = AddPackageToAggregateRepository("1.1.0.0");
EnableUpdatesParameter();
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] {
updatedPackage
};
@ -244,12 +245,12 @@ namespace PackageManagement.Cmdlets.Tests @@ -244,12 +245,12 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_UpdatedPackagesRequested_ActiveProjectNameUsedWhenCreatingProject()
{
CreateCmdlet();
var project = AddDefaultProjectToConsoleHost();
TestableProject project = AddDefaultProjectToConsoleHost();
project.Name = "Test";
EnableUpdatesParameter();
RunCmdlet();
var actualProjectName = fakeConsoleHost.ProjectNamePassedToGetProject;
string actualProjectName = fakeConsoleHost.ProjectNamePassedToGetProject;
Assert.AreEqual("Test", actualProjectName);
}
@ -261,8 +262,8 @@ namespace PackageManagement.Cmdlets.Tests @@ -261,8 +262,8 @@ namespace PackageManagement.Cmdlets.Tests
EnableUpdatesParameter();
RunCmdlet();
var actualRepository = fakeConsoleHost.PackageRepositoryPassedToGetProject;
var expectedRepository = fakeRegisteredPackageRepositories.FakeAggregateRepository;
IPackageRepository actualRepository = fakeConsoleHost.PackageRepositoryPassedToGetProject;
FakePackageRepository expectedRepository = fakeRegisteredPackageRepositories.FakeAggregateRepository;
Assert.AreEqual(expectedRepository, actualRepository);
}
@ -271,16 +272,16 @@ namespace PackageManagement.Cmdlets.Tests @@ -271,16 +272,16 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_ListAvailablePackagesAndFilterResults_PackagesReturnedMatchFilter()
{
CreateCmdlet();
var repository = fakeRegisteredPackageRepositories.FakePackageRepository;
FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
repository.AddFakePackage("A");
var package = repository.AddFakePackage("B");
FakePackage package = repository.AddFakePackage("B");
repository.AddFakePackage("C");
EnableListAvailableParameter();
SetFilterParameter("B");
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] {
package
};
@ -295,12 +296,12 @@ namespace PackageManagement.Cmdlets.Tests @@ -295,12 +296,12 @@ namespace PackageManagement.Cmdlets.Tests
AddPackageSourceToConsoleHost();
fakeSolution.AddPackageToActiveProjectLocalRepository("A");
var package = fakeSolution.AddPackageToActiveProjectLocalRepository("B");
FakePackage package = fakeSolution.AddPackageToActiveProjectLocalRepository("B");
SetFilterParameter("B");
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] {
package
};
@ -315,13 +316,13 @@ namespace PackageManagement.Cmdlets.Tests @@ -315,13 +316,13 @@ namespace PackageManagement.Cmdlets.Tests
AddPackageToProjectManagerLocalRepository("A", "1.0.0.0");
AddPackageToAggregateRepository("A", "1.1.0.0");
AddPackageToProjectManagerLocalRepository("B", "2.0.0.0");
var updatedPackage = AddPackageToAggregateRepository("B", "2.1.0.0");
FakePackage updatedPackage = AddPackageToAggregateRepository("B", "2.1.0.0");
EnableUpdatesParameter();
SetFilterParameter("B");
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] {
updatedPackage
};
@ -335,13 +336,13 @@ namespace PackageManagement.Cmdlets.Tests @@ -335,13 +336,13 @@ namespace PackageManagement.Cmdlets.Tests
CreateCmdlet();
var expectedPackageSource = new PackageSource("http://sharpdevelop.com/packages");
fakeConsoleHost.PackageSourceToReturnFromGetActivePackageSource = expectedPackageSource;
var repository = fakeRegisteredPackageRepositories.FakePackageRepository;
FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
SetSourceParameter("http://sharpdevelop.com/packages");
EnableListAvailableParameter();
RunCmdlet();
var actualPackageSource = fakeRegisteredPackageRepositories.PackageSourcePassedToCreateRepository;
PackageSource actualPackageSource = fakeRegisteredPackageRepositories.PackageSourcePassedToCreateRepository;
Assert.AreEqual(expectedPackageSource, actualPackageSource);
}
@ -355,8 +356,8 @@ namespace PackageManagement.Cmdlets.Tests @@ -355,8 +356,8 @@ namespace PackageManagement.Cmdlets.Tests
RunCmdlet();
var actualPackageSource = fakeConsoleHost.PackageSourcePassedToGetProject;
var expectedPackageSource = "http://test";
string actualPackageSource = fakeConsoleHost.PackageSourcePassedToGetProject;
string expectedPackageSource = "http://test";
Assert.AreEqual(expectedPackageSource, actualPackageSource);
}
@ -370,7 +371,7 @@ namespace PackageManagement.Cmdlets.Tests @@ -370,7 +371,7 @@ namespace PackageManagement.Cmdlets.Tests
RunCmdlet();
var actualProjectName = fakeConsoleHost.ProjectNamePassedToGetProject;
string actualProjectName = fakeConsoleHost.ProjectNamePassedToGetProject;
Assert.AreEqual("MyProject", actualProjectName);
}
@ -380,14 +381,14 @@ namespace PackageManagement.Cmdlets.Tests @@ -380,14 +381,14 @@ namespace PackageManagement.Cmdlets.Tests
{
CreateCmdlet();
var recentPackageRepository = fakeRegisteredPackageRepositories.FakeRecentPackageRepository;
FakePackageRepository recentPackageRepository = fakeRegisteredPackageRepositories.FakeRecentPackageRepository;
recentPackageRepository.AddFakePackage("A");
EnableRecentParameter();
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = recentPackageRepository.FakePackages;
List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
List<FakePackage> expectedPackages = recentPackageRepository.FakePackages;
Assert.AreEqual(expectedPackages, actualPackages);
}
@ -397,15 +398,15 @@ namespace PackageManagement.Cmdlets.Tests @@ -397,15 +398,15 @@ namespace PackageManagement.Cmdlets.Tests
{
CreateCmdlet();
var recentPackageRepository = fakeRegisteredPackageRepositories.FakeRecentPackageRepository;
FakePackageRepository recentPackageRepository = fakeRegisteredPackageRepositories.FakeRecentPackageRepository;
recentPackageRepository.AddFakePackage("A");
var packageB = recentPackageRepository.AddFakePackage("B");
FakePackage packageB = recentPackageRepository.AddFakePackage("B");
EnableRecentParameter();
SetFilterParameter("B");
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] {
packageB
};
@ -418,14 +419,14 @@ namespace PackageManagement.Cmdlets.Tests @@ -418,14 +419,14 @@ namespace PackageManagement.Cmdlets.Tests
{
CreateCmdlet();
AddPackageSourceToConsoleHost();
var packageA = fakeSolution.AddPackageToActiveProjectLocalRepository("A");
var packageB = fakeSolution.AddPackageToActiveProjectLocalRepository("B");
var packageC = fakeSolution.AddPackageToActiveProjectLocalRepository("C");
FakePackage packageA = fakeSolution.AddPackageToActiveProjectLocalRepository("A");
FakePackage packageB = fakeSolution.AddPackageToActiveProjectLocalRepository("B");
FakePackage packageC = fakeSolution.AddPackageToActiveProjectLocalRepository("C");
SetFilterParameter("B C");
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] {
packageB,
packageC
@ -457,16 +458,16 @@ namespace PackageManagement.Cmdlets.Tests @@ -457,16 +458,16 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_ListAvailableAndSkipFirstTwoPackages_ReturnsAllPackagesExceptionFirstTwo()
{
CreateCmdlet();
var repository = fakeRegisteredPackageRepositories.FakePackageRepository;
FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
repository.AddFakePackage("A");
repository.AddFakePackage("B");
var packageC = repository.AddFakePackage("C");
FakePackage packageC = repository.AddFakePackage("C");
EnableListAvailableParameter();
SetSkipParameter(2);
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] {
packageC
};
@ -487,16 +488,16 @@ namespace PackageManagement.Cmdlets.Tests @@ -487,16 +488,16 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_ListAvailableAndFirstTwo_ReturnsFirstTwoPackages()
{
CreateCmdlet();
var repository = fakeRegisteredPackageRepositories.FakePackageRepository;
var packageA = repository.AddFakePackage("A");
var packageB = repository.AddFakePackage("B");
FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
FakePackage packageA = repository.AddFakePackage("A");
FakePackage packageB = repository.AddFakePackage("B");
repository.AddFakePackage("C");
EnableListAvailableParameter();
SetFirstParameter(2);
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] {
packageA,
packageB
@ -513,5 +514,30 @@ namespace PackageManagement.Cmdlets.Tests @@ -513,5 +514,30 @@ namespace PackageManagement.Cmdlets.Tests
Assert.AreEqual(0, first);
}
[Test]
public void ProcessRecord_GetInstalledPackagesWhenProjectNameSpecified_ProjectNameParameterUsedToGetProject()
{
CreateCmdlet();
cmdlet.ProjectName = "Test";
RunCmdlet();
string projectName = fakeConsoleHost.ProjectNamePassedToGetProject;
Assert.AreEqual("Test", projectName);
}
[Test]
public void ProcessRecord_GetUpdatedPackagesWhenProjectNameSpecified_ProjectNameParameterUsedToGetProject()
{
CreateCmdlet();
cmdlet.ProjectName = "Test";
EnableUpdatesParameter();
RunCmdlet();
string projectName = fakeConsoleHost.ProjectNamePassedToGetProject;
Assert.AreEqual("Test", projectName);
}
}
}

4
src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackage.cs

@ -158,5 +158,9 @@ namespace ICSharpCode.PackageManagement.Design @@ -158,5 +158,9 @@ namespace ICSharpCode.PackageManagement.Design
}
public DateTime? LastUpdated { get; set; }
public bool IsLatestVersion { get; set; }
public Nullable<DateTimeOffset> Published { get; set; }
public string ReleaseNotes { get; set; }
public string Copyright { get; set; }
}
}

16
src/AddIns/Misc/PackageManagement/Project/Src/PackageFromRepository.cs

@ -143,5 +143,21 @@ namespace ICSharpCode.PackageManagement @@ -143,5 +143,21 @@ namespace ICSharpCode.PackageManagement
return hasDependencies.Value;
}
}
public bool IsLatestVersion {
get { return package.IsLatestVersion; }
}
public Nullable<DateTimeOffset> Published {
get { return package.Published; }
}
public string ReleaseNotes {
get { return package.ReleaseNotes; }
}
public string Copyright {
get { return package.Copyright; }
}
}
}

6
src/AddIns/Misc/PackageManagement/Project/Src/SelectProjectsView.xaml

@ -55,12 +55,12 @@ @@ -55,12 +55,12 @@
Margin="4"
Orientation="Horizontal"
HorizontalAlignment="Right">
<Button
Content="_Cancel"
IsCancel="True"/>
<Button
Content="_OK"
Click="AcceptButtonClick"/>
<Button
Content="_Cancel"
IsCancel="True"/>
</StackPanel>
</Grid>
</Window>

30
src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Cmdlets.dll-Help.xml

@ -191,6 +191,9 @@ c:\temp\packages to find the package. @@ -191,6 +191,9 @@ c:\temp\packages to find the package.
<command:parameter required="false" position="named">
<maml:name>Updates</maml:name>
</command:parameter>
<command:parameter required="false" position="named">
<maml:name>ProjectName</maml:name>
</command:parameter>
<command:parameter required="false" position="named">
<maml:name>Recent</maml:name>
</command:parameter>
@ -229,6 +232,12 @@ c:\temp\packages to find the package. @@ -229,6 +232,12 @@ c:\temp\packages to find the package.
<maml:para>Gets packages available from the online package source.</maml:para>
</maml:description>
</command:parameter>
<command:parameter required="false">
<maml:name>ProjectName</maml:name>
<maml:description>
<maml:para>Specifies the project to get installed packages from. If ommitted, the command will return installed projects for the entire solution.</maml:para>
</maml:description>
</command:parameter>
<command:parameter required="false" position="named">
<maml:name>Recent</maml:name>
<maml:description>
@ -276,7 +285,7 @@ c:\temp\packages to find the package. @@ -276,7 +285,7 @@ c:\temp\packages to find the package.
<maml:para>
Description
------------------------------------------------------------------
Returns the packages installed in the default project.
Returns packages installed in the current solution.
</maml:para>
<maml:para></maml:para>
<maml:para></maml:para>
@ -284,6 +293,19 @@ Returns the packages installed in the default project. @@ -284,6 +293,19 @@ Returns the packages installed in the default project.
</command:example>
<command:example>
<maml:title>---------- EXAMPLE 2 ----------</maml:title>
<dev:code>PM&gt; Get-Package -ProjectName MyProject</dev:code>
<dev:remarks>
<maml:para>
Description
------------------------------------------------------------------
Returns packages installed in the "MyProject" project.
</maml:para>
<maml:para></maml:para>
<maml:para></maml:para>
</dev:remarks>
</command:example>
<command:example>
<maml:title>---------- EXAMPLE 3 ----------</maml:title>
<dev:code>PM&gt; Get-Package -ListAvailable</dev:code>
<dev:remarks>
<maml:para>
@ -296,7 +318,7 @@ Returns a list of packages available online in the current package source. @@ -296,7 +318,7 @@ Returns a list of packages available online in the current package source.
</dev:remarks>
</command:example>
<command:example>
<maml:title>---------- EXAMPLE 3 ----------</maml:title>
<maml:title>---------- EXAMPLE 4 ----------</maml:title>
<dev:code>PM&gt; Get-Package -ListAvailable -Filter Ninject</dev:code>
<dev:remarks>
<maml:para>
@ -308,7 +330,7 @@ Returns a list of packages available online using "Ninject" as a search term. @@ -308,7 +330,7 @@ Returns a list of packages available online using "Ninject" as a search term.
</dev:remarks>
</command:example>
<command:example>
<maml:title>---------- EXAMPLE 4 ----------</maml:title>
<maml:title>---------- EXAMPLE 5 ----------</maml:title>
<dev:code>PS&gt; Get-Package -Updates</dev:code>
<dev:remarks>
<maml:para>
@ -321,7 +343,7 @@ Returns a list of packages installed in the default project that have updates av @@ -321,7 +343,7 @@ Returns a list of packages installed in the default project that have updates av
</dev:remarks>
</command:example>
<command:example>
<maml:title>---------- EXAMPLE 5 ----------</maml:title>
<maml:title>---------- EXAMPLE 6 ----------</maml:title>
<dev:code>PM&gt; Get-Package -Recent</dev:code>
<dev:remarks>
<maml:para>

BIN
src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Core.dll

Binary file not shown.

53
src/AddIns/Misc/PackageManagement/Test/Src/PackageFromRepositoryTests.cs

@ -316,5 +316,58 @@ namespace PackageManagement.Tests @@ -316,5 +316,58 @@ namespace PackageManagement.Tests
Assert.IsFalse(lastUpdated.HasValue);
}
[Test]
public void IsLatestVersion_WrappedPackageIsNotLatestVersion_ReturnsFalse()
{
CreatePackage();
fakePackage.IsLatestVersion = false;
bool result = package.IsLatestVersion;
Assert.IsFalse(result);
}
[Test]
public void IsLatestVersion_WrappedPackageHasOneDependency_ReturnsTrue()
{
CreatePackage();
fakePackage.IsLatestVersion = true;
bool result = package.IsLatestVersion;
Assert.IsTrue(result);
}
[Test]
public void Published_PackageWrapsPackageThatHasPublishedDateOffset_ReturnsDateTimeOffsetFromWrappedPackage()
{
CreatePackage();
var dateTime = new DateTime(2011, 1, 2);
var expectedDateTimeOffset = new DateTimeOffset(dateTime);
fakePackage.Published = expectedDateTimeOffset;
DateTimeOffset? published = package.Published;
Assert.AreEqual(expectedDateTimeOffset, published.Value);
}
[Test]
public void Copyright_WrappedPackageCopyrightIsTest_ReturnsTest()
{
CreatePackage();
fakePackage.Copyright = "Test";
string copyright = package.Copyright;
Assert.AreEqual("Test", copyright);
}
[Test]
public void ReleaseNotes_WrappedPackageReleaseNotesIsTest_ReturnsTest()
{
CreatePackage();
fakePackage.ReleaseNotes = "Test";
string releaseNotes = package.ReleaseNotes;
Assert.AreEqual("Test", releaseNotes);
}
}
}

16
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ExplorerCommands.cs

@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
using System;
using ICSharpCode.Core;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Dialogs;
namespace ICSharpCode.Reports.Addin.Commands
{
@ -48,8 +49,6 @@ namespace ICSharpCode.Reports.Addin.Commands @@ -48,8 +49,6 @@ namespace ICSharpCode.Reports.Addin.Commands
}
public class ClearSelectedNodeCommand : AbstractCommand
{
public override void Run()
@ -68,21 +67,14 @@ namespace ICSharpCode.Reports.Addin.Commands @@ -68,21 +67,14 @@ namespace ICSharpCode.Reports.Addin.Commands
{
ReportExplorerPad pad = this.Owner as ReportExplorerPad;
if (pad != null) {
ParameterCollection par = pad.ReportModel.ReportSettings.ParameterCollection;
using (ParameterDialog paramDialog = new ParameterDialog(par)) {
using (ParameterDialog paramDialog = new ParameterDialog(pad.ReportModel.ReportSettings.SqlParameters)) {
paramDialog.ShowDialog();
if (paramDialog.DialogResult == System.Windows.Forms.DialogResult.OK) {
/*
foreach (BasicParameter bp in e.Collection as ParameterCollection){
r.ReportModel.ReportSettings.ParameterCollection.Add (bp);
}
*/
foreach (BasicParameter bp in new System.Collections.ArrayList(paramDialog.Collection))
foreach (SqlParameter bp in paramDialog.SqlParameterCollection)
{
if (bp.ParameterName != null)
{
pad.ReportModel.ReportSettings.ParameterCollection.Add (bp);
pad.ReportModel.ReportSettings.SqlParameters.Add (bp);
}
}
pad.RefreshParameters();

15
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ViewCommands.cs

@ -8,6 +8,7 @@ using System.Windows.Forms; @@ -8,6 +8,7 @@ using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.Reports.Addin.ReportWizard;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Dialogs;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
@ -68,9 +69,17 @@ namespace ICSharpCode.Reports.Addin.Commands @@ -68,9 +69,17 @@ namespace ICSharpCode.Reports.Addin.Commands
public override void Run()
{
if (model.ReportSettings.ParameterCollection != null && model.ReportSettings.ParameterCollection.Count > 0) {
using (ParameterDialog dlg = new ParameterDialog(model.ReportSettings.ParameterCollection)){
dlg.ShowDialog();
if (model.ReportSettings.SqlParameters.Count > 0) {
using (ParameterDialog paramDialog = new ParameterDialog(model.ReportSettings.SqlParameters))
{
paramDialog.ShowDialog();
if (paramDialog.DialogResult == System.Windows.Forms.DialogResult.OK) {
foreach (SqlParameter bp in paramDialog.SqlParameterCollection)
{
var p = model.ReportSettings.SqlParameters.Find (bp.ParameterName);
p.ParameterValue = bp.ParameterValue;
}
}
}
}
}

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DesignerHelper.cs

@ -110,7 +110,7 @@ namespace ICSharpCode.Reports.Addin.Designer @@ -110,7 +110,7 @@ namespace ICSharpCode.Reports.Addin.Designer
prop = props.Find("DataType",true);
allProperties.Add(prop);
prop = props.Find("RightToLeft",true);
prop = props.Find("RTL",true);
allProperties.Add(prop);
}

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TextItemDesigner.cs

@ -8,6 +8,8 @@ using System.Windows.Forms; @@ -8,6 +8,8 @@ using System.Windows.Forms;
using System.Windows.Forms.Design;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Dialogs;
using ICSharpCode.Reports.Core.Interfaces;
namespace ICSharpCode.Reports.Addin.Designer
{

21
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs

@ -19,6 +19,7 @@ using ICSharpCode.Reports.Addin.SecondaryViews; @@ -19,6 +19,7 @@ using ICSharpCode.Reports.Addin.SecondaryViews;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Exporter;
using ICSharpCode.Reports.Core.Exporter.ExportRenderer;
using ICSharpCode.Reports.Core.Factories;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
@ -99,7 +100,6 @@ namespace ICSharpCode.Reports.Addin @@ -99,7 +100,6 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region setup designer
private void LoadDesigner(Stream stream)
@ -243,7 +243,6 @@ namespace ICSharpCode.Reports.Addin @@ -243,7 +243,6 @@ namespace ICSharpCode.Reports.Addin
}
#endregion
private void MergeFormChanges()
{
System.Diagnostics.Trace.WriteLine("View:MergeFormChanges()");
@ -254,8 +253,6 @@ namespace ICSharpCode.Reports.Addin @@ -254,8 +253,6 @@ namespace ICSharpCode.Reports.Addin
}
public string ReportFileContent {
get {
if (this.IsDirty) {
@ -265,7 +262,6 @@ namespace ICSharpCode.Reports.Addin @@ -265,7 +262,6 @@ namespace ICSharpCode.Reports.Addin
set { this.reportFileContent = value; }
}
#region ReportExplorer
private void StartReportExplorer ()
@ -297,7 +293,6 @@ namespace ICSharpCode.Reports.Addin @@ -297,7 +293,6 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region SelectionService
private void SelectionChangedHandler(object sender, EventArgs args)
@ -314,7 +309,6 @@ namespace ICSharpCode.Reports.Addin @@ -314,7 +309,6 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region Transaction
bool shouldUpdateSelectableObjects;
@ -332,11 +326,8 @@ namespace ICSharpCode.Reports.Addin @@ -332,11 +326,8 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region ComponentChangeService
private void OnComponentChanged (object sender, ComponentChangedEventArgs e)
{
BaseImageItem item = e.Component as BaseImageItem;
@ -370,11 +361,8 @@ namespace ICSharpCode.Reports.Addin @@ -370,11 +361,8 @@ namespace ICSharpCode.Reports.Addin
this.PrimaryFile.MakeDirty();
}
#endregion
#region HasPropertyContainer implementation
private void UpdatePropertyPad()
@ -413,11 +401,8 @@ namespace ICSharpCode.Reports.Addin @@ -413,11 +401,8 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region IUnDohandler
#endregion
public bool EnableUndo {
get {
if (undoEngine != null) {
@ -453,6 +438,8 @@ namespace ICSharpCode.Reports.Addin @@ -453,6 +438,8 @@ namespace ICSharpCode.Reports.Addin
}
}
#endregion
#region IClipboardHandler implementation
private bool IsMenuCommandEnabled(CommandID commandID)
@ -551,7 +538,6 @@ namespace ICSharpCode.Reports.Addin @@ -551,7 +538,6 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region IPrintable
@ -597,7 +583,6 @@ namespace ICSharpCode.Reports.Addin @@ -597,7 +583,6 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region IDesignerHost implementation
public IDesignerHost Host {

9
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportExplorer/ExplorerNodes.cs

@ -90,6 +90,11 @@ namespace ICSharpCode.Reports.Addin @@ -90,6 +90,11 @@ namespace ICSharpCode.Reports.Addin
{
ListSortDirection listSortDirection;
public SortColumnNode(string nodeName,string contextMenuPath):this(nodeName,0,contextMenuPath)
{
}
public SortColumnNode(string nodeName,int imageIndex,string contextMenuPath):base(nodeName,contextMenuPath)
{
this.ImageIndex = imageIndex;
@ -107,6 +112,10 @@ namespace ICSharpCode.Reports.Addin @@ -107,6 +112,10 @@ namespace ICSharpCode.Reports.Addin
internal class GroupColumnNode:SortColumnNode
{
public GroupColumnNode (string nodeName,string contextMenuPath):this(nodeName,0,contextMenuPath)
{
}
public GroupColumnNode (string nodeName,int imageIndex,string contextMenuPath):base(nodeName,imageIndex,contextMenuPath)
{

102
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportExplorer/ExplorerTree.cs

@ -5,12 +5,12 @@ using System; @@ -5,12 +5,12 @@ using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System.Linq;
using ICSharpCode.Core;
using ICSharpCode.Core.WinForms;
using ICSharpCode.Reports.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.Reports.Core.BaseClasses;
namespace ICSharpCode.Reports.Addin
{
@ -19,9 +19,11 @@ namespace ICSharpCode.Reports.Addin @@ -19,9 +19,11 @@ namespace ICSharpCode.Reports.Addin
/// </summary>
internal class ExplorerTree:TreeView,INotifyPropertyChanged
{
private const string sortColumnMenu = "/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnSortTreeNode";
private const string sortColumnMenuPath = "/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnSortTreeNode";
private const string sectionContextMenu = "/SharpDevelopReports/ContextMenu/FieldsExplorer/SectionTreeNode";
private const string parameterEditorMenu = "/SharpDevelopReports/ContextMenu/FieldsExplorer/ParameterNode";
private const string groupContextMenuPath ="/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnGroupTreeNode";
private SectionNode nodeRoot;
private SectionNode nodeModel;
@ -130,7 +132,7 @@ namespace ICSharpCode.Reports.Addin @@ -130,7 +132,7 @@ namespace ICSharpCode.Reports.Addin
{
SortColumnNode sortNode = new SortColumnNode (node.Text,
ExplorerTree.ascendingIcon,
ExplorerTree.sortColumnMenu);
ExplorerTree.sortColumnMenuPath);
sortNode.SortDirection = ListSortDirection.Ascending;
this.SelectedNode = sortNode;
@ -147,7 +149,7 @@ namespace ICSharpCode.Reports.Addin @@ -147,7 +149,7 @@ namespace ICSharpCode.Reports.Addin
{
this.nodeSorting.Nodes.Clear();
GroupColumnNode groupNode = new GroupColumnNode(node.Text,ExplorerTree.ascendingIcon,
ExplorerTree.sortColumnMenu);
ExplorerTree.sortColumnMenuPath);
groupNode.SortDirection = ListSortDirection.Ascending;
this.SelectedNode = groupNode;
sectionNode.Nodes.Add(groupNode);
@ -285,36 +287,43 @@ namespace ICSharpCode.Reports.Addin @@ -285,36 +287,43 @@ namespace ICSharpCode.Reports.Addin
#region FillTree
private void SetSortColumns()
{
this.nodeSorting.Nodes.Clear();
SortColumnNode scn = null;
foreach (SortColumn sc in this.reportModel.ReportSettings.SortColumnsCollection){
if (sc.SortDirection == ListSortDirection.Ascending) {
scn = new SortColumnNode (sc.ColumnName,ascendingIcon,"/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnSortTreeNode");
} else {
scn = new SortColumnNode (sc.ColumnName,descendingIcon,"/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnSortTreeNode");
}
this.nodeSorting.Nodes.Add(scn);
}
}
private void SetGroupColumns()
{
this.nodeGrouping.Nodes.Clear();
GroupColumnNode groupNode = null;
foreach (GroupColumn groupColumn in this.reportModel.ReportSettings.GroupColumnsCollection)
{
var groupNode = new GroupColumnNode(groupColumn.ColumnName,groupContextMenuPath);
if (groupColumn.SortDirection == ListSortDirection.Ascending) {
groupNode = new GroupColumnNode (groupColumn.ColumnName,ascendingIcon,"/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnGroupTreeNode");
groupNode.ImageIndex = ascendingIcon;
} else {
groupNode = new GroupColumnNode (groupColumn.ColumnName,descendingIcon,"/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnGroupTreeNode");
groupNode.ImageIndex = descendingIcon;
}
this.nodeGrouping.Nodes.Add(groupNode);
foreach (var p in this.reportModel.ReportSettings.AvailableFieldsCollection.Where(p => (p.ColumnName != groupColumn.ColumnName)))
{
var cn = new ColumnNode(p.ColumnName,columnIcon);
groupNode.Nodes.Add(cn);
}
}
}
public void BuildTree ()
{
this.BeginUpdate();
this.nodeAvailableFields.Nodes.Clear();
this.nodeSorting.Nodes.Clear();
this.nodeGrouping.Nodes.Clear();
this.nodeParams.Nodes.Clear();
this.reportModel.ReportSettings.AvailableFieldsCollection.ForEach(SetAvailableFields);
this.reportModel.ReportSettings.SortColumnsCollection.ForEach(SetSortColumns);
SetGroupColumns();
this.reportModel.ReportSettings.ParameterCollection.ForEach(SetParams);
// SetFunctions();
this.ExpandAll();
this.EndUpdate();
}
private void SetAvailableFields (AbstractColumn af)
{
ColumnNode node = new ColumnNode(af.ColumnName,columnIcon);
@ -324,32 +333,31 @@ namespace ICSharpCode.Reports.Addin @@ -324,32 +333,31 @@ namespace ICSharpCode.Reports.Addin
}
private void SetParameters ()
{
this.nodeParams.Nodes.Clear();
foreach (BasicParameter p in this.reportModel.ReportSettings.ParameterCollection)
private void SetSortColumns (AbstractColumn column)
{
string s = String.Format(System.Globalization.CultureInfo.CurrentCulture,
"{0}[{1}]",p.ParameterName,p.ParameterValue);
ParameterNode node = new ParameterNode(s,columnIcon);
this.nodeParams.Nodes.Add(node);
SortColumn sortColumn = column as SortColumn;
if (sortColumn != null) {
var sortColumnNode = new SortColumnNode (sortColumn.ColumnName,sortColumnMenuPath);
if (sortColumn.SortDirection == ListSortDirection.Ascending) {
sortColumnNode.ImageIndex = ascendingIcon;
} else {
sortColumnNode.ImageIndex = descendingIcon;
}
this.nodeSorting.Nodes.Add(sortColumnNode);
}
}
public void BuildTree ()
private void SetParams (BasicParameter p)
{
this.BeginUpdate();
this.reportModel.ReportSettings.AvailableFieldsCollection.ForEach(SetAvailableFields);
SetSortColumns();
SetGroupColumns();
SetParameters();
// SetFunctions();
this.ExpandAll();
this.EndUpdate();
string s = String.Format(System.Globalization.CultureInfo.CurrentCulture,
"{0}[{1}]",p.ParameterName,p.ParameterValue);
ParameterNode node = new ParameterNode(s,columnIcon);
this.nodeParams.Nodes.Add(node);
}
#endregion
#region Build Basic Tree
@ -371,6 +379,11 @@ namespace ICSharpCode.Reports.Addin @@ -371,6 +379,11 @@ namespace ICSharpCode.Reports.Addin
nodeAvailableFields.ContextMenuAddinTreePath = String.Empty;
this.nodeModel.Nodes.Add(this.nodeAvailableFields);
nodeGrouping = new SectionNode (ResourceService.GetString("SharpReport.FieldsExplorer.Grouping"));
nodeGrouping.ImageIndex = folderClosed;
nodeGrouping.SelectedImageIndex = folderOpen;
nodeGrouping.ContextMenuAddinTreePath = ExplorerTree.sectionContextMenu;
this.nodeModel.Nodes.Add(this.nodeGrouping);
nodeSorting = new SectionNode (ResourceService.GetString("SharpReport.FieldsExplorer.Sorting"));
nodeSorting.ImageIndex = folderClosed;
@ -378,11 +391,7 @@ namespace ICSharpCode.Reports.Addin @@ -378,11 +391,7 @@ namespace ICSharpCode.Reports.Addin
nodeSorting.ContextMenuAddinTreePath = ExplorerTree.sectionContextMenu;
this.nodeModel.Nodes.Add(this.nodeSorting);
nodeGrouping = new SectionNode (ResourceService.GetString("SharpReport.FieldsExplorer.Grouping"));
nodeGrouping.ImageIndex = folderClosed;
nodeGrouping.SelectedImageIndex = folderOpen;
nodeGrouping.ContextMenuAddinTreePath = ExplorerTree.sectionContextMenu;
this.nodeModel.Nodes.Add(this.nodeGrouping);
nodeFunction = new TreeNode(ResourceService.GetString("SharpReport.FieldsExplorer.Functions"));
nodeFunction.ImageIndex = folderClosed;
@ -394,7 +403,6 @@ namespace ICSharpCode.Reports.Addin @@ -394,7 +403,6 @@ namespace ICSharpCode.Reports.Addin
nodeParams.SelectedImageIndex = folderOpen;
nodeParams.ContextMenuAddinTreePath = ExplorerTree.parameterEditorMenu;
this.nodeModel.Nodes.Add(this.nodeParams);
this.nodeRoot.Nodes.Add(nodeModel);

11
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs

@ -9,6 +9,7 @@ using ICSharpCode.Reports.Addin.Dialogs; @@ -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.Dialogs;
using ICSharpCode.Reports.Core.Globals;
namespace ICSharpCode.Reports.Addin
@ -138,16 +139,20 @@ namespace ICSharpCode.Reports.Addin @@ -138,16 +139,20 @@ namespace ICSharpCode.Reports.Addin
}
}
#endregion
#region RighToLeft
[Category("Appearance")]
public override System.Windows.Forms.RightToLeft RightToLeft {
public System.Windows.Forms.RightToLeft RTL
{
get { return base.RightToLeft; }
set { base.RightToLeft = value; }
}
#endregion
#region DataType
[Browsable(true),
Category("Databinding"),
@ -157,6 +162,7 @@ namespace ICSharpCode.Reports.Addin @@ -157,6 +162,7 @@ namespace ICSharpCode.Reports.Addin
public string DataType {get;set;}
#endregion
#region Expression
@ -169,6 +175,7 @@ namespace ICSharpCode.Reports.Addin @@ -169,6 +175,7 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region CanGrow/CanShrink
public bool CanGrow {get;set;}

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs

@ -16,6 +16,7 @@ using ICSharpCode.Data.Core.Enums; @@ -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.DataAccess;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.Project.BaseClasses;
using ICSharpCode.SharpDevelop;

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Dialogs/DummyEditorDialog.cs

@ -3,8 +3,9 @@ @@ -3,8 +3,9 @@
using System;
using System.Windows.Forms;
using NUnit.Framework;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Interfaces;
using NUnit.Framework;
namespace ICSharpCode.Reports.Addin.Test.Dialogs
{

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Dialogs/TextEditorDialogFixture.cs

@ -2,8 +2,9 @@ @@ -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.Interfaces;
using NUnit.Framework;
namespace ICSharpCode.Reports.Addin.Test.Dialogs
{

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

@ -134,8 +134,9 @@ @@ -134,8 +134,9 @@
<Compile Include="Project\DataManager\Comparer\BaseComparer.cs" />
<Compile Include="Project\DataManager\Comparer\GroupSeparator.cs" />
<Compile Include="Project\DataManager\Comparer\SortComparer.cs" />
<Compile Include="Project\DataManager\DataAccess\SqlDataAccess.cs" />
<Compile Include="Project\DataManager\DataAccess\SqlQueryChecker.cs" />
<Compile Include="Project\DataManager\ListStrategy\TableStrategy.cs" />
<Compile Include="Project\DataManager\SqlDataAccess.cs" />
<Compile Include="Project\DataManager\ListHandling\IndexList.cs" />
<Compile Include="Project\DataManager\ListHandling\ExtendedPropertyDescriptor.cs" />
<Compile Include="Project\DataManager\ListHandling\ExtendedTypeDescriptor.cs" />
@ -148,7 +149,6 @@ @@ -148,7 +149,6 @@
</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">
<SubType>Form</SubType>
@ -301,6 +301,7 @@ @@ -301,6 +301,7 @@
<Compile Include="Project\Interfaces\IReportItem.cs" />
<Compile Include="Project\Interfaces\IReportModel.cs" />
<Compile Include="Project\Interfaces\ISinglePage.cs" />
<Compile Include="Project\Interfaces\IStringBasedEditorDialog.cs" />
<Compile Include="Project\IReportCreator.cs" />
<Compile Include="Project\Printing\Graphics\BaseLine.cs" />
<Compile Include="Project\Printing\Graphics\BaseShape.cs" />
@ -311,9 +312,7 @@ @@ -311,9 +312,7 @@
<Compile Include="Project\Printing\Graphics\RectangleShape.cs" />
<Compile Include="Project\Printing\AbstractRenderer.cs" />
<Compile Include="Project\Printing\RenderDataReport.cs" />
<Compile Include="Project\Printing\RendererFactory.cs" />
<Compile Include="Project\Printing\RenderFormSheetReport.cs" />
<Compile Include="Project\Printing\RenderTable.cs" />
<Compile Include="Project\Printing\ReportDocument.cs">
<SubType>Component</SubType>
</Compile>
@ -335,7 +334,6 @@ @@ -335,7 +334,6 @@
<Compile Include="Project\BaseClasses\BasicParameter.cs" />
<Compile Include="Project\BaseClasses\SqlParameter.cs" />
<Compile Include="Project\Collections\Collections.cs" />
<Compile Include="Project\DataManager\SqlQueryChecker.cs" />
<Compile Include="Project\Exceptions\MissingModelException.cs" />
<Compile Include="Project\BaseItems\BaseRowItem.cs" />
<Compile Include="Project\Interfaces\IContainerItem.cs" />
@ -398,6 +396,7 @@ @@ -398,6 +396,7 @@
<None Include="Project\ReportViewer\Resources\Icons\Next.bmp" />
</ItemGroup>
<ItemGroup>
<Folder Include="Project\DataManager\DataAccess" />
<Folder Include="Project\WpfReportViewer" />
<Folder Include="Project\WPF" />
</ItemGroup>

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs

@ -11,7 +11,7 @@ using System.Collections.Generic; @@ -11,7 +11,7 @@ using System.Collections.Generic;
using System.Windows;
using System.Windows.Media;
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.BaseClasses
{
/// <summary>
/// Description of ExtensionMethodes.

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardFormatter.cs

@ -115,7 +115,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing @@ -115,7 +115,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing
str = dec.ToString (format,CultureInfo.CurrentCulture);
} catch (System.FormatException e) {
string s = String.Format(CultureInfo.InvariantCulture,"\tDecimalValue < {0} > {1}",toFormat,e.Message);
throw e;
}
return str;
} else {

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs

@ -117,7 +117,7 @@ namespace ICSharpCode.Reports.Core @@ -117,7 +117,7 @@ namespace ICSharpCode.Reports.Core
public int SectionMargin {get;set;}
public virtual int SectionOffset {get;set;}
// public virtual int SectionOffset {get;set;}
public ReportItemCollection Items

7
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs

@ -67,7 +67,7 @@ namespace ICSharpCode.Reports.Core @@ -67,7 +67,7 @@ namespace ICSharpCode.Reports.Core
style.ContentAlignment = this.contentAlignment;
style.FormatString = this.formatString;
style.DataType = this.dataType;
style.RightToLeft = this.RightToLeft;
style.RightToLeft = this.RTL;
return style;
}
@ -184,7 +184,7 @@ namespace ICSharpCode.Reports.Core @@ -184,7 +184,7 @@ namespace ICSharpCode.Reports.Core
public virtual StringFormat StringFormat {
get {
var sf = TextDrawer.BuildStringFormat (this.StringTrimming,this.ContentAlignment);
if (this.RightToLeft == System.Windows.Forms.RightToLeft.Yes) {
if (this.RTL == System.Windows.Forms.RightToLeft.Yes) {
sf.FormatFlags = sf.FormatFlags | StringFormatFlags.DirectionRightToLeft;
}
return sf;
@ -192,8 +192,7 @@ namespace ICSharpCode.Reports.Core @@ -192,8 +192,7 @@ namespace ICSharpCode.Reports.Core
}
public System.Windows.Forms.RightToLeft RightToLeft {get;set;}
public System.Windows.Forms.RightToLeft RTL {get;set;}
#region IExpression

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs

@ -68,7 +68,7 @@ namespace ICSharpCode.Reports.Core { @@ -68,7 +68,7 @@ namespace ICSharpCode.Reports.Core {
try {
Image im;
string absFileName = this.AbsoluteFileName;
System.Diagnostics.Trace.WriteLine(String.Format("<CORE.LoadImage > {0}",absFileName));
// System.Diagnostics.Trace.WriteLine(String.Format("<CORE.LoadImage > {0}",absFileName));
if (!String.IsNullOrEmpty(absFileName) && File.Exists(absFileName)) {
im = Image.FromFile (this.AbsoluteFileName);
} else {
@ -172,7 +172,7 @@ namespace ICSharpCode.Reports.Core { @@ -172,7 +172,7 @@ namespace ICSharpCode.Reports.Core {
set {
imageFileName = value;
this.imageSource = GlobalEnums.ImageSource.File;
System.Diagnostics.Trace.WriteLine(String.Format("<CORE.BaseImage> ImageFilename {0}",Path.GetFullPath(this.imageFileName)));
// System.Diagnostics.Trace.WriteLine(String.Format("<CORE.BaseImage> ImageFilename {0}",Path.GetFullPath(this.imageFileName)));
}
}

38
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Collections/Collections.cs

@ -308,6 +308,34 @@ namespace ICSharpCode.Reports.Core{ @@ -308,6 +308,34 @@ namespace ICSharpCode.Reports.Core{
}
public class SqlParameterCollection : Collection<SqlParameter>
{
public SqlParameterCollection()
{
}
public SqlParameter Find (string parameterName)
{
if (String.IsNullOrEmpty(parameterName)) {
throw new ArgumentNullException("parameterName");
}
return this.FirstOrDefault(x => 0 == String.Compare(x.ParameterName,parameterName,true,CultureInfo.InvariantCulture));
}
public void AddRange (IEnumerable<SqlParameter> items)
{
foreach (SqlParameter item in items){
this.Add(item);
}
}
public static CultureInfo Culture
{
get { return System.Globalization.CultureInfo.CurrentCulture; }
}
}
public class ParameterCollection: Collection<BasicParameter>{
@ -321,7 +349,6 @@ namespace ICSharpCode.Reports.Core{ @@ -321,7 +349,6 @@ namespace ICSharpCode.Reports.Core{
if (String.IsNullOrEmpty(parameterName)) {
throw new ArgumentNullException("parameterName");
}
return this.FirstOrDefault(x => 0 == String.Compare(x.ParameterName,parameterName,true,CultureInfo.InvariantCulture));
}
@ -335,15 +362,6 @@ namespace ICSharpCode.Reports.Core{ @@ -335,15 +362,6 @@ namespace ICSharpCode.Reports.Core{
return ht;
}
public System.Collections.Generic.List<SqlParameter> ExtractSqlParameters ()
{
System.Collections.Generic.List<SqlParameter> sql = new List<SqlParameter>();
sql = (from t in this where t is SqlParameter select (SqlParameter)t).ToList<SqlParameter>();
return sql;
}
public static CultureInfo Culture
{
get { return System.Globalization.CultureInfo.CurrentCulture; }

31
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ConnectionObject.cs

@ -13,9 +13,19 @@ using System.Data.Common; @@ -13,9 +13,19 @@ using System.Data.Common;
/// created on - 17.10.2005 22:59:39
/// </remarks>
namespace ICSharpCode.Reports.Core {
namespace ICSharpCode.Reports.Core
{
public interface IConnectionObject
{
IDbDataAdapter CreateDataAdapter(IDbCommand command);
string QueryString { get; set; }
IDbConnection Connection { get; }
DbProviderFactory ProviderFactory { get; }
}
public class ConnectionObject : object,IDisposable {
public class ConnectionObject :IConnectionObject, IDisposable {
IDbConnection connection;
DbProviderFactory providerFactory;
@ -33,25 +43,10 @@ namespace ICSharpCode.Reports.Core { @@ -33,25 +43,10 @@ namespace ICSharpCode.Reports.Core {
IDbConnection con = providerFactory.CreateConnection();
con.ConnectionString = connectionString;
return ConnectionObject.CreateInstance(con,providerFactory);
}
public static ConnectionObject CreateInstance (IDbConnection connection,
DbProviderFactory providerFactory)
{
if (connection == null) {
throw new ArgumentNullException("connection");
}
if (providerFactory == null) {
throw new ArgumentNullException("providerFactory");
}
ConnectionObject instance = new ConnectionObject ();
instance.connection = connection;
instance.connection = con;
instance.providerFactory = providerFactory;
return instance;
}

18
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs → src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataAccess/SqlDataAccess.cs

@ -5,9 +5,10 @@ using System; @@ -5,9 +5,10 @@ using System;
using System.Data;
using System.Globalization;
using ICSharpCode.Reports.Core.Factories;
using ICSharpCode.Reports.Core.Project.Interfaces;
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.DataAccess
{
/// <summary>
/// Description of DataAccess.
@ -26,7 +27,7 @@ namespace ICSharpCode.Reports.Core @@ -26,7 +27,7 @@ namespace ICSharpCode.Reports.Core
}
this.reportSettings = reportSettings;
if (connectionObject == null) {
this.connectionObject = ConnectionObjectFactory.BuildConnectionObject(reportSettings.ConnectionString);
this.connectionObject = ConnectionObjectFactory.BuildConnectionObject(reportSettings);
} else {
this.connectionObject = connectionObject;
}
@ -40,7 +41,6 @@ namespace ICSharpCode.Reports.Core @@ -40,7 +41,6 @@ namespace ICSharpCode.Reports.Core
}
private void CheckConnection()
{
if (this.connectionObject.Connection.State == ConnectionState.Open) {
@ -50,7 +50,6 @@ namespace ICSharpCode.Reports.Core @@ -50,7 +50,6 @@ namespace ICSharpCode.Reports.Core
}
public DataSet ReadData()
{
try {
@ -70,8 +69,7 @@ namespace ICSharpCode.Reports.Core @@ -70,8 +69,7 @@ namespace ICSharpCode.Reports.Core
// We have to check if there are parameters for this Query, if so
// add them to the command
BuildQueryParameters(command,reportSettings.ParameterCollection);
BuildQueryParameters(command,reportSettings.SqlParameters);
IDbDataAdapter adapter = connectionObject.CreateDataAdapter(command);
DataSet ds = new DataSet();
ds.Locale = CultureInfo.CurrentCulture;
@ -87,17 +85,17 @@ namespace ICSharpCode.Reports.Core @@ -87,17 +85,17 @@ namespace ICSharpCode.Reports.Core
private static void BuildQueryParameters (IDbCommand cmd,
ParameterCollection parameterCollection)
SqlParameterCollection parameterCollection)
{
if (parameterCollection != null && parameterCollection.Count > 0) {
IDbDataParameter cmdPar = null;
System.Collections.Generic.List<SqlParameter> sq = parameterCollection.ExtractSqlParameters();
foreach (SqlParameter par in sq) {
foreach (SqlParameter par in parameterCollection) {
cmdPar = cmd.CreateParameter();
cmdPar.ParameterName = par.ParameterName;
Console.WriteLine("");
Console.WriteLine("BuildQueryParameters {0} - {1}",par.ParameterName,par.ParameterValue);
if (par.DataType != System.Data.DbType.Binary) {
cmdPar.DbType = par.DataType;
cmdPar.Value = par.ParameterValue;

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/SqlQueryChecker.cs → src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataAccess/SqlQueryChecker.cs

@ -5,7 +5,7 @@ using System; @@ -5,7 +5,7 @@ using System;
using System.Data;
using System.Globalization;
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.DataAccess
{
/// <summary>
/// This Class checks for invalid SqlStatements

9
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataManager.cs

@ -5,9 +5,10 @@ using System; @@ -5,9 +5,10 @@ using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Globalization;
using ICSharpCode.Reports.Core.DataAccess;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.ListStrategy;
using ICSharpCode.Reports.Core.Project.Interfaces;
/// <summary>
@ -17,12 +18,12 @@ using ICSharpCode.Reports.Core.Project.Interfaces; @@ -17,12 +18,12 @@ using ICSharpCode.Reports.Core.Project.Interfaces;
/// created by - Forstmeier Peter
/// created on - 16.10.2005 14:49:43
/// </remarks>
namespace ICSharpCode.Reports.Core {
namespace ICSharpCode.Reports.Core
{
public interface IDataManager
{
DataNavigator GetNavigator
{get;}
DataNavigator GetNavigator {get;}
}

7
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/BaseListStrategy.cs

@ -18,8 +18,8 @@ using ICSharpCode.Reports.Expressions.ReportingLanguage; @@ -18,8 +18,8 @@ using ICSharpCode.Reports.Expressions.ReportingLanguage;
/// created on - 13.11.2005 15:26:02
/// </remarks>
namespace ICSharpCode.Reports.Core {
namespace ICSharpCode.Reports.Core.ListStrategy
{
internal static class SortExtension
{
@ -235,6 +235,9 @@ namespace ICSharpCode.Reports.Core { @@ -235,6 +235,9 @@ namespace ICSharpCode.Reports.Core {
public virtual void Group()
{
this.IndexList.Clear();
if (ReportSettings.SortColumnsCollection.Count > 0) {
ReportSettings.GroupColumnsCollection.AddRange(ReportSettings.SortColumnsCollection);
}
}
public virtual void Bind()

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs

@ -15,7 +15,8 @@ using SimpleExpressionEvaluator.Utilities; @@ -15,7 +15,8 @@ using SimpleExpressionEvaluator.Utilities;
/// Access to Data is allway's done by using the 'IndexList'
/// </summary>
namespace ICSharpCode.Reports.Core {
namespace ICSharpCode.Reports.Core.ListStrategy
{
internal sealed class CollectionStrategy : BaseListStrategy {

9
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs

@ -7,7 +7,7 @@ using System.Data; @@ -7,7 +7,7 @@ using System.Data;
using ICSharpCode.Reports.Expressions.ReportingLanguage;
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.ListStrategy
{
/// <summary>
/// Description of TableStrategy.
@ -154,13 +154,13 @@ namespace ICSharpCode.Reports.Core @@ -154,13 +154,13 @@ namespace ICSharpCode.Reports.Core
base.IndexList = this.BuildSortIndex (ReportSettings.SortColumnsCollection);
} else {
// if we have no sorting, we build the indexlist as well
base.IndexList = this.IndexBuilder(ReportSettings.SortColumnsCollection);
base.IndexList = this.UnsortedIndex(ReportSettings.SortColumnsCollection);
}
}
}
private IndexList IndexBuilder(SortColumnCollection col)
private IndexList UnsortedIndex(SortColumnCollection col)
{
IndexList arrayList = new IndexList();
for (int rowIndex = 0; rowIndex < this.table.Rows.Count; rowIndex++){
@ -174,6 +174,9 @@ namespace ICSharpCode.Reports.Core @@ -174,6 +174,9 @@ namespace ICSharpCode.Reports.Core
public override void Group ()
{
base.Group();
// if (ReportSettings.SortColumnsCollection.Count > 0) {
// ReportSettings.GroupColumnsCollection.AddRange(ReportSettings.SortColumnsCollection);
// }
IndexList groupedIndexList = new IndexList("group");
groupedIndexList = this.BuildSortIndex (ReportSettings.GroupColumnsCollection);
// ShowIndexList(sortedIndexList);

5
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/DefaultTextEditor.cs

@ -6,7 +6,10 @@ using System.ComponentModel; @@ -6,7 +6,10 @@ using System.ComponentModel;
using System.Drawing.Design;
using System.Windows.Forms;
namespace ICSharpCode.Reports.Core
using ICSharpCode.Reports.Core.Dialogs;
using ICSharpCode.Reports.Core.Interfaces;
namespace ICSharpCode.Reports.Core.Dialogs
{
/// <summary>
/// Description of UISettingsEditor.

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/EditorDialog.Designer.cs generated

@ -1,7 +1,7 @@ @@ -1,7 +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)
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.Dialogs
{
partial class TextEditorDialog
{

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/EditorDialog.cs

@ -5,7 +5,9 @@ using System; @@ -5,7 +5,9 @@ using System;
using System.Drawing;
using System.Windows.Forms;
namespace ICSharpCode.Reports.Core
using ICSharpCode.Reports.Core.Interfaces;
namespace ICSharpCode.Reports.Core.Dialogs
{
/// <summary>
/// Description of EditorDialog.

20
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/ParameterDialog.cs

@ -2,31 +2,29 @@ @@ -2,31 +2,29 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.Dialogs
{
public class ParameterDialog : System.Windows.Forms.Form
{
private ParameterCollection collection;
private SqlParameterCollection collection;
public ParameterDialog(ParameterCollection collection):this()
public ParameterDialog(SqlParameterCollection collection)
{
InitializeComponent();
this.collection = collection;
this.dataGrid1.DataSource = this.collection;
}
public ParameterDialog()
{
InitializeComponent();
}
public ParameterCollection Collection {
get { return collection; }
public SqlParameterCollection SqlParameterCollection {
get {
return this.collection;
}
}
#region Designer generated
/// <summary>

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/ParametersCollectionEditor.cs

@ -29,6 +29,12 @@ namespace ICSharpCode.Reports.Core.Dialogs @@ -29,6 +29,12 @@ namespace ICSharpCode.Reports.Core.Dialogs
if (itemType == typeof(SqlParameter)) {
return new SqlParameter();
}
if (itemType == typeof(BasicParameter)) {
return new BasicParameter();
}
return base.CreateInstance(itemType);
}

86
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs

@ -159,92 +159,6 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -159,92 +159,6 @@ namespace ICSharpCode.Reports.Core.Exporter
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;
IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator);
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(evaluator,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;

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
using System;
using System.Drawing;
using ICSharpCode.Reports.Core.BaseClasses;
using iTextSharp.text.pdf;
namespace ICSharpCode.Reports.Core.Exporter
@ -32,12 +33,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -32,12 +33,7 @@ namespace ICSharpCode.Reports.Core.Exporter
}
base.DrawItem(graphics);
base.Decorate(graphics);
items.ForEach(item =>item.DrawItem(graphics));
// foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in items)
// {
// baseExportColumn.DrawItem(graphics);
// }
}

8
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs

@ -8,9 +8,11 @@ @@ -8,9 +8,11 @@
*/
using System;
using System.Drawing;
using System.Linq;
using ICSharpCode.Reports.Core.BaseClasses;
using ICSharpCode.Reports.Core.Globals;
using iTextSharp.text.pdf;
using System.Linq;
namespace ICSharpCode.Reports.Core.Exporter
{
@ -46,10 +48,6 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -46,10 +48,6 @@ namespace ICSharpCode.Reports.Core.Exporter
style.DisplayRectangle);
}
Items.ForEach(item =>item.DrawItem(graphics));
// foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in Items)
// {
// baseExportColumn.DrawItem(graphics);
// }
}
}

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs

@ -8,9 +8,7 @@ @@ -8,9 +8,7 @@
*/
using System;
using System.Data;
using ICSharpCode.Reports.Core.Exporter;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.ReportViewer;
namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer
{
@ -86,6 +84,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer @@ -86,6 +84,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer
RunReport(reportModel, dataManager);
}
public void RunReport(ReportModel reportModel, IDataManager dataManager)
{
if (reportModel == null) {
@ -110,6 +109,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer @@ -110,6 +109,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer
void BuildExportList(IReportCreator reportCreator)
{
Pages.Clear();
reportCreator.PageCreated += OnPageCreated;
reportCreator.BuildExportList();
reportCreator.PageCreated -= OnPageCreated;

5
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Globalization;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Exporter;
using ICSharpCode.Reports.Core.Globals;
@ -83,13 +84,13 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage @@ -83,13 +84,13 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage
public static string ExtractExpressionPart (string src)
{
char v = Convert.ToChar("=");
char v = Convert.ToChar("=",CultureInfo.CurrentCulture );
return StringHelpers.RightOf(src,v).Trim();
}
public static string ExtractResultPart (string src)
{
char v = Convert.ToChar("=");
char v = Convert.ToChar("=",CultureInfo.CurrentCulture );
return StringHelpers.LeftOf(src,v).Trim();
}
}

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs

@ -94,7 +94,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage @@ -94,7 +94,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage
static void WriteLogMessage(Exception e)
{
Console.WriteLine("");
Console.WriteLine("-----LogMessage---------");
Console.WriteLine("ExpressionEvaluatorFacade.Evaluate");
Console.WriteLine(e.Message);
Console.WriteLine(e.TargetSite);

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/Substring.cs

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Globalization;
namespace SimpleExpressionEvaluator.Compilation.Functions
{
@ -23,7 +24,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions @@ -23,7 +24,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions
}
string str = args[0].ToString();
if (args.Length == 2) {
var start = Convert.ToInt32(args[1]);
var start = Convert.ToInt32(args[1],CultureInfo.CurrentCulture);
return str.Substring(start);
}
else if (args.Length == 3) {

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ToString.cs

@ -28,7 +28,7 @@ $Log: /CoreServices/Hsi/ExpressionEvaluator/Parser/Functions/ToString.cs $ @@ -28,7 +28,7 @@ $Log: /CoreServices/Hsi/ExpressionEvaluator/Parser/Functions/ToString.cs $
#endregion
using System;
using System.Globalization;
namespace SimpleExpressionEvaluator.Compilation.Functions
{
@ -51,7 +51,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions @@ -51,7 +51,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions
Array.Copy(args, 1, newArgs, 0, nTarget);
try
{
return String.Format(strFormat, newArgs);
return String.Format(CultureInfo.CurrentCulture, strFormat, newArgs);
}
catch (Exception ex)
{

22
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Factories/ConnectionObjectFactory.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
using System;
using System.Data.Common;
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.Factories
{
/// <summary>
/// This Class is a FactoryClass for <see cref="ConnectionObject"></see>
@ -23,25 +23,5 @@ namespace ICSharpCode.Reports.Core @@ -23,25 +23,5 @@ namespace ICSharpCode.Reports.Core
return ConnectionObject.CreateInstance(reportSettings.ConnectionString,
DbProviderFactories.GetFactory("System.Data.OleDb"));
}
public static ConnectionObject BuildConnectionObject (string connectionString)
{
if (String.IsNullOrEmpty(connectionString)) {
throw new ArgumentNullException("connectionString");
}
return ConnectionObject.CreateInstance(connectionString,
DbProviderFactories.GetFactory("System.Data.OleDb"));
}
public static ConnectionObject BuildConnectionObject (ReportParameters reportParameters)
{
if (reportParameters == null) {
throw new ArgumentNullException("reportParameters");
}
return reportParameters.ConnectionObject;
}
}
}

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Factories/DataManagerFacrory.cs

@ -5,6 +5,7 @@ using System; @@ -5,6 +5,7 @@ using System;
using System.Collections;
using System.Data;
using ICSharpCode.Reports.Core.DataAccess;
using ICSharpCode.Reports.Core.Interfaces;
using ICSharpCode.Reports.Core.Project.Interfaces;

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/IStringBasedEditorDialog.cs → src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IStringBasedEditorDialog.cs

@ -10,7 +10,7 @@ @@ -10,7 +10,7 @@
using System;
using System.Windows.Forms;
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.Interfaces
{
/// <summary>
/// Description of EditorDialog.

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs

@ -39,7 +39,7 @@ namespace ICSharpCode.Reports.Core { @@ -39,7 +39,7 @@ namespace ICSharpCode.Reports.Core {
throw new ArgumentNullException("graphics");
}
using (Pen p = baseline.CreatePen(baseline.Thickness)) {
Rectangle r = System.Drawing.Rectangle.Inflate(rectangle,1,1);
// Rectangle r = System.Drawing.Rectangle.Inflate(rectangle,1,1);
graphics.DrawRectangle (p,rectangle);
}
}

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderDataReport.cs

@ -159,12 +159,6 @@ namespace ICSharpCode.Reports.Core { @@ -159,12 +159,6 @@ namespace ICSharpCode.Reports.Core {
ITableContainer tableContainer = base.CurrentSection.Items[0] as ITableContainer;
IBaseRenderer r = PrintRendererFactory.CreateRenderer(base.CurrentSection.Items[0],nav,base.SinglePage,base.Layout,CurrentSection);
if ( r != null) {
// r.Render(tableContainer,rpea,Evaluator);
}
// branch to render table's etc
if (tableContainer != null)
{

157
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs

@ -1,157 +0,0 @@ @@ -1,157 +0,0 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 10.10.2010
* Time: 17:37
*
* 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.Globals;
using ICSharpCode.Reports.Core.Interfaces;
using ICSharpCode.Reports.Expressions.ReportingLanguage;
namespace ICSharpCode.Reports.Core
{
/// <summary>
/// Description of RenderTable.
/// </summary>
public class RenderTable:IBaseRenderer
{
IDataNavigator dataNavigator;
Rectangle parentRectangle;
ISinglePage singlePage;
ILayouter layouter;
ReportPageEventArgs reportPageEventArgs;
BaseSection currentSection;
public RenderTable(IDataNavigator datanavigator,Rectangle parentRectangle,ISinglePage singlePage,ILayouter layouter,BaseSection section)
{
this.dataNavigator = datanavigator;
this.parentRectangle = parentRectangle;
this.singlePage = singlePage;
this.layouter = layouter;
this.currentSection = section;
}
public event EventHandler<ICSharpCode.Reports.Core.Events.NewPageEventArgs> PageFull;
public event EventHandler<SectionRenderEventArgs> SectionRendering;
public void 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;
// ISimpleContainer headerRow = null;
var simpleContainer = table.Items[0] as ISimpleContainer;
// foreach (BaseRowItem row in table.Items)
// {
rs = simpleContainer.Size;
PrintHelper.AdjustParent(table,table.Items);
// if (PrintHelper.IsTextOnlyRow(simpleContainer) )
// {
LayoutHelper.SetLayoutForRow(ReportPageEventArgs.PrintPageEventArgs.Graphics,Layouter,simpleContainer);
var r = StandardPrinter.RenderContainer(simpleContainer,evaluator,currentPosition,ReportPageEventArgs);
currentPosition = PrintHelper.ConvertRectangleToCurentPosition (r);
table.Location = saveLocation;
// }
// else {
//---------------
simpleContainer = table.Items[1] as ISimpleContainer;
int adjust = simpleContainer.Location.Y - saveLocation.Y;
simpleContainer.Location = new Point(simpleContainer.Location.X,simpleContainer.Location.Y - adjust - 3 * GlobalValues.GapBetweenContainer);
rs = simpleContainer.Size;
do {
pageBreakRect = PrintHelper.CalculatePageBreakRectangle((BaseReportItem)table,currentPosition);
if (PrintHelper.IsPageFull(pageBreakRect,this.SectionBounds)) {
table.Location = saveLocation;
AbstractRenderer.PageBreak(ReportPageEventArgs);
return;
}
this.dataNavigator.Fill(simpleContainer.Items);
LayoutHelper.SetLayoutForRow(ReportPageEventArgs.PrintPageEventArgs.Graphics,Layouter,simpleContainer);
r = StandardPrinter.RenderContainer(simpleContainer,evaluator,currentPosition,ReportPageEventArgs);
currentPosition = PrintHelper.ConvertRectangleToCurentPosition (r);
simpleContainer.Size = rs;
}
while (this.dataNavigator.MoveNext());
//-----
// }
}
public ICSharpCode.Reports.Core.BaseClasses.SectionBounds SectionBounds {
get {
return this.singlePage.SectionBounds;
}
}
public IDataNavigator DataNavigator {
get {
return this.dataNavigator;
}
}
public System.Drawing.Rectangle ParentRectangle {
get {
return this.parentRectangle;
}
}
public ISinglePage SinglePage {
get {
return this.singlePage;
}
}
public ILayouter Layouter {
get {
return this.layouter;
}
}
public System.Drawing.Graphics Graphics {get;set;}
public ReportPageEventArgs ReportPageEventArgs {
get { return reportPageEventArgs; }
set { reportPageEventArgs = value; }
}
}
}

37
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs

@ -1,37 +0,0 @@ @@ -1,37 +0,0 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 10.10.2010
* Time: 17:28
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using ICSharpCode.Reports.Core.Interfaces;
namespace ICSharpCode.Reports.Core
{
/// <summary>
/// Description of RendererFactory.
/// </summary>
public static class PrintRendererFactory
{
public static IBaseRenderer CreateRenderer (BaseReportItem itemToConvert,IDataNavigator dataNavigator,
ISinglePage singlePage,ILayouter layouter,BaseSection section)
{
Type t = itemToConvert.GetType();
if (t.Equals(typeof(BaseTableItem))) {
return new RenderTable(dataNavigator,Rectangle.Empty,singlePage,layouter,section);
}
if (t.Equals(typeof(BaseRowItem))) {
// return new GroupedRowConverter (dataNavigator,singlePage,layouter);
// Console.WriteLine("render Row");
}
return null;
}
}
}

118
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs

@ -8,9 +8,9 @@ using System.Drawing.Printing; @@ -8,9 +8,9 @@ using System.Drawing.Printing;
using System.IO;
using System.Windows.Forms;
using System.Xml;
using ICSharpCode.Reports.Core.BaseClasses.Printing;
using ICSharpCode.Reports.Core.BaseClasses;
using ICSharpCode.Reports.Core.Exporter;
using ICSharpCode.Reports.Core.Factories;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.Interfaces;
@ -43,7 +43,7 @@ namespace ICSharpCode.Reports.Core { @@ -43,7 +43,7 @@ namespace ICSharpCode.Reports.Core {
#endregion
#region create Connection handle Sql Parameter's
/*
public static ConnectionObject PrepareConnectionFromParameters (ReportSettings settings,
ReportParameters reportParameters)
{
@ -58,11 +58,11 @@ namespace ICSharpCode.Reports.Core { @@ -58,11 +58,11 @@ namespace ICSharpCode.Reports.Core {
}
if (!String.IsNullOrEmpty(settings.ConnectionString)) {
conObj = ConnectionObjectFactory.BuildConnectionObject(settings.ConnectionString);
conObj = ConnectionObjectFactory.BuildConnectionObject(settings);
}
return conObj;
}
*/
#endregion
@ -102,19 +102,38 @@ namespace ICSharpCode.Reports.Core { @@ -102,19 +102,38 @@ namespace ICSharpCode.Reports.Core {
model.ReportSettings.SortColumnsCollection.AddRange(reportParameters.SortColumnCollection);
}
if (reportParameters.SqlParameters.Count > 0) {
foreach (BasicParameter bp in reportParameters.SqlParameters) {
BasicParameter p = model.ReportSettings.ParameterCollection.Find(bp.ParameterName);
if (p != null) {
p.ParameterValue = bp.ParameterValue;
if (reportParameters.Parameters.Count > 0)
{
reportParameters.Parameters.ForEach(item => SetReportParam(model,item));
}
if (reportParameters.SqlParameters.Count > 0)
{
reportParameters.SqlParameters.ForEach(item => SetSqlParam(model,item));
}
}
}
private static void SetReportParam (IReportModel model,BasicParameter param)
{
var p = model.ReportSettings.ParameterCollection.Find(param.ParameterName);
if (p != null) {
p.ParameterValue = param.ParameterValue;
}
}
private static void SetSqlParam (IReportModel model,SqlParameter param)
{
var p = model.ReportSettings.SqlParameters.Find(param.ParameterName);
if (p != null) {
p.ParameterValue = param.ParameterValue;
}
}
/*
protected static ColumnCollection CollectFieldsFromModel(ReportModel model){
if (model == null) {
throw new ArgumentNullException("model");
@ -132,7 +151,7 @@ namespace ICSharpCode.Reports.Core { @@ -132,7 +151,7 @@ namespace ICSharpCode.Reports.Core {
}
return col;
}
*/
/// <summary>
/// Creates an <see cref="AbstractRenderer"></see>
@ -237,9 +256,8 @@ namespace ICSharpCode.Reports.Core { @@ -237,9 +256,8 @@ namespace ICSharpCode.Reports.Core {
try {
model = LoadReportModel (fileName);
ReportParameters pars = new ReportParameters();
pars.ConnectionObject = null;
pars.SqlParameters.AddRange (model.ReportSettings.ParameterCollection);
pars.Parameters.AddRange (model.ReportSettings.ParameterCollection);
pars.SqlParameters.AddRange(model.ReportSettings.SqlParameters);
return pars;
} catch (Exception) {
throw;
@ -284,24 +302,6 @@ namespace ICSharpCode.Reports.Core { @@ -284,24 +302,6 @@ namespace ICSharpCode.Reports.Core {
#endregion
#region Preview to Windows PreviewDialog
///<summary>
/// Opens the PreviewDialog as standalone, so, no need for Designer
/// </summary>
///<param name="fileName">Report's Filenema</param>
/// <param name="/// <summary>
/// send report to printer
/// </summary>
/// <param name="fileName">Path to ReportFile</param>
[Obsolete ("use public void PreviewStandardReport (string fileName,null)")]
public void PreviewStandardReport (string fileName)
{
if (String.IsNullOrEmpty(fileName)) {
throw new ArgumentNullException("fileName");
}
PreviewStandardReport (fileName,null);
}
public void PreviewStandardReport (string fileName,ReportParameters reportParameters)
{
@ -323,25 +323,6 @@ namespace ICSharpCode.Reports.Core { @@ -323,25 +323,6 @@ namespace ICSharpCode.Reports.Core {
}
/// <summary>
/// Preview a "PushModel - Report"
/// </summary>
/// <param name="fileName">Filename to the location of the ReportFile</param>
/// <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,ReportParameters reportParameters)
{
if (String.IsNullOrEmpty(fileName)) {
@ -364,19 +345,6 @@ namespace ICSharpCode.Reports.Core { @@ -364,19 +345,6 @@ 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,ReportParameters reportParameters)
{
if (String.IsNullOrEmpty(fileName)) {
@ -435,7 +403,7 @@ namespace ICSharpCode.Reports.Core { @@ -435,7 +403,7 @@ namespace ICSharpCode.Reports.Core {
/// </summary>
/// <param name="reportModel"></param>
/// <returns></returns>
/*
internal static IReportCreator CreatePageBuilder (IReportModel reportModel)
{
if (reportModel == null) {
@ -445,7 +413,7 @@ namespace ICSharpCode.Reports.Core { @@ -445,7 +413,7 @@ namespace ICSharpCode.Reports.Core {
IReportCreator builder = DataPageBuilder.CreateInstance(reportModel, dataMan);
return builder;
}
*/
/// <summary>
///
@ -560,15 +528,15 @@ namespace ICSharpCode.Reports.Core { @@ -560,15 +528,15 @@ namespace ICSharpCode.Reports.Core {
/// </summary>
/// <param name="fileName">Path to ReportFile</param>
/// <param name="renderTo">Type of renderer currently only "ToText" is implemented</param>
[Obsolete("use PrintStandardReport (fileName,null)")]
public void PrintStandardReport (string fileName) {
if (String.IsNullOrEmpty(fileName)) {
throw new ArgumentNullException("fileName");
}
PrintStandardReport (fileName,null);
}
// [Obsolete("use PrintStandardReport (fileName,null)")]
// public void PrintStandardReport (string fileName) {
// if (String.IsNullOrEmpty(fileName)) {
// throw new ArgumentNullException("fileName");
// }
// PrintStandardReport (fileName,null);
//
// }
//
public void PrintStandardReport (string fileName,ReportParameters reportParameters) {
if (String.IsNullOrEmpty(fileName)) {

47
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportParameters.cs

@ -2,6 +2,7 @@ @@ -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.Interfaces;
/// <summary>
/// This Class holds all the Paramters needed to customize a Report
@ -14,46 +15,51 @@ using System; @@ -14,46 +15,51 @@ using System;
namespace ICSharpCode.Reports.Core
{
public class ReportParameters
public interface IReportParameters
{
ConnectionObject ConnectionObject { get; set; }
SqlParameterCollection SqlParameters { get; }
ParameterCollection Parameters { get; }
SortColumnCollection SortColumnCollection { get; }
}
private ConnectionObject connectionObject;
private ParameterCollection sqlParameters;
private SortColumnCollection sortColumnCollection;
public class ReportParameters : IReportParameters
{
private ParameterCollection parameters;
private SqlParameterCollection sqlParameters;
private SortColumnCollection sortColumnCollection;
public ReportParameters()
{
}
public ReportParameters(ConnectionObject connectionObject)
{
this.connectionObject = connectionObject;
}
public ConnectionObject ConnectionObject { get; set; }
public ConnectionObject ConnectionObject
{
public SqlParameterCollection SqlParameters {
get {
return connectionObject;
if (this.sqlParameters == null) {
this.sqlParameters = new SqlParameterCollection();
}
set {
connectionObject = value;
return sqlParameters;
}
}
public ParameterCollection SqlParameters
{
public ParameterCollection Parameters {
get {
if (this.sqlParameters == null) {
this.sqlParameters = new ParameterCollection();
if (this.parameters == null) {
this.parameters = new ParameterCollection();
}
return sqlParameters;
return parameters;
}
}
public SortColumnCollection SortColumnCollection
{
public SortColumnCollection SortColumnCollection {
get {
if (this.sortColumnCollection == null) {
this.sortColumnCollection = new SortColumnCollection();
@ -61,6 +67,5 @@ namespace ICSharpCode.Reports.Core @@ -61,6 +67,5 @@ namespace ICSharpCode.Reports.Core
return sortColumnCollection;
}
}
}
}

11
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs

@ -45,6 +45,7 @@ namespace ICSharpCode.Reports.Core{ @@ -45,6 +45,7 @@ namespace ICSharpCode.Reports.Core{
private string reportName;
private string fileName;
private SqlParameterCollection sqlParameters;
private ParameterCollection parameterCollection;
private AvailableFieldsCollection availableFields;
private GroupColumnCollection groupingsCollection;
@ -104,6 +105,7 @@ namespace ICSharpCode.Reports.Core{ @@ -104,6 +105,7 @@ namespace ICSharpCode.Reports.Core{
this.availableFields = new AvailableFieldsCollection();
this.groupingsCollection = new GroupColumnCollection();
this.sortingCollection = new SortColumnCollection();
this.sqlParameters = new SqlParameterCollection();
this.parameterCollection = new ParameterCollection();
this.NoDataMessage = "No Data for this Report";
}
@ -249,6 +251,15 @@ namespace ICSharpCode.Reports.Core{ @@ -249,6 +251,15 @@ namespace ICSharpCode.Reports.Core{
get{return parameterCollection;}
}
[Category("Parameters")]
[EditorAttribute ( typeof(ParameterCollectionEditor),
typeof(System.Drawing.Design.UITypeEditor) )]
public SqlParameterCollection SqlParameters
{
get { return sqlParameters; }
}
#endregion
#region DataRelated

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs

@ -86,8 +86,11 @@ namespace ICSharpCode.Reports.Core.ReportViewer @@ -86,8 +86,11 @@ namespace ICSharpCode.Reports.Core.ReportViewer
if (reportModel.DataModel == GlobalEnums.PushPullModel.FormSheet) {
RunFormSheet(reportModel);
} else {
ReportEngine.CheckForParameters(reportModel, parameters);
var dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters);
RunReport(reportModel,dataManager);
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save