Browse Source

Merge branch '4.0'

pull/15/head
Daniel Grunwald 15 years ago
parent
commit
d62776f824
  1. 9
      data/resources/StringResources.de.resx
  2. 34
      data/resources/StringResources.fr.resx
  3. 3
      data/resources/StringResources.nl.resx
  4. 3
      data/resources/StringResources.resx
  5. 79
      data/resources/StringResources.zh.resx
  6. 2
      data/schemas/AddIn.xsd
  7. 4
      data/templates/project/AddInWritingHelp.txt
  8. 2
      data/templates/project/CSharp/WebService.xpt
  9. 2
      data/templates/project/VB/WebService.xpt
  10. 16
      doc/ChangeLog.template.html
  11. 41
      doc/readme.rtf
  12. 2
      doc/technotes/ConditionList.html
  13. 2
      doc/technotes/DoozerList.html
  14. 10
      src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs
  15. 15
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.Reports.Addin.csproj
  16. 47
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs
  17. 12
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseCircleItem.cs
  18. 76
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseDataItem.cs
  19. 109
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs
  20. 71
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseLine.cs
  21. 58
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRectangleItem.cs
  22. 69
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRowItem.cs
  23. 64
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs
  24. 64
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTableItem.cs
  25. 71
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs
  26. 70
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/CircleItemTypeProvider.cs
  27. 72
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/GroupHeader.cs
  28. 64
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/AbstractItemTypeProvider.cs
  29. 87
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/DataItemTypeProvider.cs
  30. 83
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/GroupedRowTypeProvider.cs
  31. 86
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/ImageItemTypeProvider.cs
  32. 83
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/LineItemTypeDescriptor.cs
  33. 13
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs
  34. 80
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RowItemTypeProvider.cs
  35. 76
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/SectionItemTypeProvider.cs
  36. 78
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TableItemTypeProvider.cs
  37. 79
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs
  38. 50
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGraphicItem.cs
  39. 22
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs
  40. 32
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs
  41. 5
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs
  42. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphic.cs
  43. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs
  44. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseLine.cs
  45. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseShape.cs
  46. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs
  47. 52
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/RectangleShape.cs
  48. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/AggregateFunctionsFixture.cs
  49. 8
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/CodeCompletion/CompletionWindowBase.cs
  50. 2
      src/Main/Base/Project/Src/Gui/Components/ExtTreeView/ExtTreeNode.cs
  51. 2
      src/Main/Base/Project/Src/Internal/Doozers/OptionPanelDoozer.cs
  52. 7
      src/Main/Base/Project/Src/Services/Tasks/ErrorPainter.cs
  53. 26
      src/Main/Base/Test/CancelLongRunningAppTestFixture.cs
  54. 8
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/DefaultProjectContent.cs
  55. 11
      src/Tools/BuildAddinDocumentation/MainClass.cs

9
data/resources/StringResources.de.resx

@ -2737,6 +2737,9 @@ Wollen Sie die neue Datei zum Projekt ${CurrentProjectName} hinzufügen?</value>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.CaretCheckBox" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.TextEditor.Markers.CaretCheckBox" xml:space="preserve">
<value>Caretzeile anzeigen</value> <value>Caretzeile anzeigen</value>
</data> </data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.EnableAnimationsCheckBox" xml:space="preserve">
<value>Aktiviere Animationen</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.EOLMarkersCheckBox" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.TextEditor.Markers.EOLMarkersCheckBox" xml:space="preserve">
<value>Markierung an Zeilen&amp;ende anzeigen</value> <value>Markierung an Zeilen&amp;ende anzeigen</value>
</data> </data>
@ -5567,6 +5570,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.ExceptionHistory.Time" xml:space="preserve"> <data name="MainWindow.Windows.Debug.ExceptionHistory.Time" xml:space="preserve">
<value>Zeit</value> <value>Zeit</value>
</data> </data>
<data name="MainWindow.Windows.Debug.HideZoomControl" xml:space="preserve">
<value>Zoom Steuerelement zeigen/verstecken</value>
</data>
<data name="MainWindow.Windows.Debug.Local" xml:space="preserve"> <data name="MainWindow.Windows.Debug.Local" xml:space="preserve">
<value>Lokal</value> <value>Lokal</value>
</data> </data>
@ -5936,6 +5942,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="OpenFileTabEventHandler.FileContainingFolderInExplorer" xml:space="preserve"> <data name="OpenFileTabEventHandler.FileContainingFolderInExplorer" xml:space="preserve">
<value>Öffne übergeordneten Ordner im Explorer</value> <value>Öffne übergeordneten Ordner im Explorer</value>
</data> </data>
<data name="ProjectBrowser.Toolbar.CollapseAll" xml:space="preserve">
<value>Alle Knoten einklappen</value>
</data>
<data name="ProjectComponent.ContextMenu.AddExistingFiles" xml:space="preserve"> <data name="ProjectComponent.ContextMenu.AddExistingFiles" xml:space="preserve">
<value>Vorhandene Dateien hinzufügen</value> <value>Vorhandene Dateien hinzufügen</value>
</data> </data>

34
data/resources/StringResources.fr.resx

@ -2733,6 +2733,9 @@ Voulez-vous ajouter le nouveau fichier au projet ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.CaretCheckBox" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.TextEditor.Markers.CaretCheckBox" xml:space="preserve">
<value>Afficher le curseur</value> <value>Afficher le curseur</value>
</data> </data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.EnableAnimationsCheckBox" xml:space="preserve">
<value>Activer les animations</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.EOLMarkersCheckBox" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.TextEditor.Markers.EOLMarkersCheckBox" xml:space="preserve">
<value>Affich&amp;er les marqueurs de fin de ligne</value> <value>Affich&amp;er les marqueurs de fin de ligne</value>
</data> </data>
@ -2766,6 +2769,9 @@ Voulez-vous ajouter le nouveau fichier au projet ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.PanelName" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.TextEditor.Markers.PanelName" xml:space="preserve">
<value>Marqueurs et Règles</value> <value>Marqueurs et Règles</value>
</data> </data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.ShowHiddenDefinitionsCheckBox" xml:space="preserve">
<value>Montrer les définitions cachées (crochets uniquement)</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.SpacesCheckBox" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.TextEditor.Markers.SpacesCheckBox" xml:space="preserve">
<value>Afficher les e&amp;spaces</value> <value>Afficher les e&amp;spaces</value>
</data> </data>
@ -4371,7 +4377,7 @@ Toutes les modifications seront perdues.</value>
<value>Catégories</value> <value>Catégories</value>
</data> </data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.ConfigureSidebarDialog.DialogName" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.ConfigureSidebarDialog.DialogName" xml:space="preserve">
<value>Configure la Sidebar</value> <value>Configurer l'encadré (sidebar)</value>
</data> </data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.ConfigureSidebarDialog.Namespace" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.ConfigureSidebarDialog.Namespace" xml:space="preserve">
<value>Espace de noms</value> <value>Espace de noms</value>
@ -6772,6 +6778,12 @@ Les fichiers de resources ont été renommés/déplacés en conséquence.</value
<data name="SharpReport.Toolbar.Functions.TodaysDate" xml:space="preserve"> <data name="SharpReport.Toolbar.Functions.TodaysDate" xml:space="preserve">
<value>Aujourd'hui</value> <value>Aujourd'hui</value>
</data> </data>
<data name="SharpReport.Toolbar.GroupFooter" xml:space="preserve">
<value>Bas de page de groupe</value>
</data>
<data name="SharpReport.Toolbar.GroupHeader" xml:space="preserve">
<value>Entête de groupe</value>
</data>
<data name="SharpReport.Toolbar.Image" xml:space="preserve"> <data name="SharpReport.Toolbar.Image" xml:space="preserve">
<value>Image</value> <value>Image</value>
</data> </data>
@ -6784,6 +6796,9 @@ Les fichiers de resources ont été renommés/déplacés en conséquence.</value
<data name="SharpReport.Toolbar.Rectangle" xml:space="preserve"> <data name="SharpReport.Toolbar.Rectangle" xml:space="preserve">
<value>Rectangle</value> <value>Rectangle</value>
</data> </data>
<data name="SharpReport.Toolbar.Table" xml:space="preserve">
<value>Table</value>
</data>
<data name="SharpReport.Toolbar.TextBox" xml:space="preserve"> <data name="SharpReport.Toolbar.TextBox" xml:space="preserve">
<value>Etiquette</value> <value>Etiquette</value>
</data> </data>
@ -6820,6 +6835,21 @@ Les fichiers de resources ont été renommés/déplacés en conséquence.</value
<data name="SharpReport.Wizard.BaseSettings.ReportType" xml:space="preserve"> <data name="SharpReport.Wizard.BaseSettings.ReportType" xml:space="preserve">
<value>Type de rapport</value> <value>Type de rapport</value>
</data> </data>
<data name="SharpReport.Wizard.Layout.Column" xml:space="preserve">
<value>Selectionner la colonne de groupe</value>
</data>
<data name="SharpReport.Wizard.Layout.Grouping" xml:space="preserve">
<value>Regroupement</value>
</data>
<data name="SharpReport.Wizard.Layout.ListLayout" xml:space="preserve">
<value>Structure de liste</value>
</data>
<data name="SharpReport.Wizard.Layout.ReportLayout" xml:space="preserve">
<value>Structure de rapport</value>
</data>
<data name="SharpReport.Wizard.Layout.TableLayout" xml:space="preserve">
<value>Structure de table</value>
</data>
<data name="SharpReport.Wizard.PullModel" xml:space="preserve"> <data name="SharpReport.Wizard.PullModel" xml:space="preserve">
<value>Modèle de données: extraire</value> <value>Modèle de données: extraire</value>
</data> </data>
@ -7355,7 +7385,7 @@ Les fichiers de resources ont été renommés/déplacés en conséquence.</value
<value>Créer un nouveau rapport avec le Report Wizard</value> <value>Créer un nouveau rapport avec le Report Wizard</value>
</data> </data>
<data name="XML.FormsDesigner.SideBar.CustomizeSidebar" xml:space="preserve"> <data name="XML.FormsDesigner.SideBar.CustomizeSidebar" xml:space="preserve">
<value>Configure la Sidebar...</value> <value>Configurer l'encadré (sidebar)...</value>
</data> </data>
<data name="XML.MainMenu.Analysis" xml:space="preserve"> <data name="XML.MainMenu.Analysis" xml:space="preserve">
<value>&amp;Analyses</value> <value>&amp;Analyses</value>

3
data/resources/StringResources.nl.resx

@ -2776,6 +2776,9 @@ Wilt u het nieuwe bestand toevoegen aan project ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.PanelName" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.TextEditor.Markers.PanelName" xml:space="preserve">
<value>Markeringen en Linealen</value> <value>Markeringen en Linealen</value>
</data> </data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.ShowHiddenDefinitionsCheckBox" xml:space="preserve">
<value>Toon &amp;amp;verborgen definities(alleen haakjes)</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.SpacesCheckBox" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.TextEditor.Markers.SpacesCheckBox" xml:space="preserve">
<value>Toon &amp;spaties</value> <value>Toon &amp;spaties</value>
</data> </data>

3
data/resources/StringResources.resx

@ -2856,6 +2856,9 @@ system. I don't think that it needs translation.</comment>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.PanelName" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.TextEditor.Markers.PanelName" xml:space="preserve">
<value>Markers and Rulers</value> <value>Markers and Rulers</value>
</data> </data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.ShowHiddenDefinitionsCheckBox" xml:space="preserve">
<value>Show &amp;hidden definitions (brackets only)</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.SpacesCheckBox" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.TextEditor.Markers.SpacesCheckBox" xml:space="preserve">
<value>Show &amp;spaces</value> <value>Show &amp;spaces</value>
</data> </data>

79
data/resources/StringResources.zh.resx

@ -683,9 +683,15 @@
<data name="AddIns.SharpRefactoring.InsertCtor.AddRangeCheckLabel" xml:space="preserve"> <data name="AddIns.SharpRefactoring.InsertCtor.AddRangeCheckLabel" xml:space="preserve">
<value>添加范围检查</value> <value>添加范围检查</value>
</data> </data>
<data name="AddIns.SharpRefactoring.InsertCtor.Description" xml:space="preserve">
<value>选择所有你想用来创建构造函数的字段:</value>
</data>
<data name="AddIns.SharpRefactoring.InsertCtor.VariableLabel" xml:space="preserve"> <data name="AddIns.SharpRefactoring.InsertCtor.VariableLabel" xml:space="preserve">
<value>变量</value> <value>变量</value>
</data> </data>
<data name="AddIns.SharpRefactoring.IntroduceMethod" xml:space="preserve">
<value>导入{1}中的方法{0}</value>
</data>
<data name="AddIns.SharpRefactoring.OverrideEqualsGetHashCodeMethods" xml:space="preserve"> <data name="AddIns.SharpRefactoring.OverrideEqualsGetHashCodeMethods" xml:space="preserve">
<value>重写Equals()和GetHashCode()</value> <value>重写Equals()和GetHashCode()</value>
</data> </data>
@ -1034,12 +1040,18 @@
<data name="ComponentInspector.ConstructorDialog.Title" xml:space="preserve"> <data name="ComponentInspector.ConstructorDialog.Title" xml:space="preserve">
<value>选择一个构造函数</value> <value>选择一个构造函数</value>
</data> </data>
<data name="ComponentInspector.ControlsTab" xml:space="preserve">
<value>控件</value>
</data>
<data name="ComponentInspector.CreateObjectMenuItem" xml:space="preserve"> <data name="ComponentInspector.CreateObjectMenuItem" xml:space="preserve">
<value>创建对象(&amp;B)</value> <value>创建对象(&amp;B)</value>
</data> </data>
<data name="ComponentInspector.CustDirectoriesPanel.ApplicationWorkingFolder" xml:space="preserve"> <data name="ComponentInspector.CustDirectoriesPanel.ApplicationWorkingFolder" xml:space="preserve">
<value>应用程序工作目录</value> <value>应用程序工作目录</value>
</data> </data>
<data name="ComponentInspector.CustDirectoriesPanel.ConvertedAssembliesFolder" xml:space="preserve">
<value>由ActiveX转换来的程序集</value>
</data>
<data name="ComponentInspector.CustDirectoriesPanel.Title" xml:space="preserve"> <data name="ComponentInspector.CustDirectoriesPanel.Title" xml:space="preserve">
<value>目录</value> <value>目录</value>
</data> </data>
@ -1123,6 +1135,9 @@
<data name="ComponentInspector.FindDialog.FullNameLabel" xml:space="preserve"> <data name="ComponentInspector.FindDialog.FullNameLabel" xml:space="preserve">
<value>全名</value> <value>全名</value>
</data> </data>
<data name="ComponentInspector.FindDialog.LevelsLabel" xml:space="preserve">
<value>级别</value>
</data>
<data name="ComponentInspector.FindDialog.LookingAtLabel" xml:space="preserve"> <data name="ComponentInspector.FindDialog.LookingAtLabel" xml:space="preserve">
<value>查找:</value> <value>查找:</value>
</data> </data>
@ -1218,6 +1233,9 @@
<data name="ComponentInspector.GettingStartedDialog.Title" xml:space="preserve"> <data name="ComponentInspector.GettingStartedDialog.Title" xml:space="preserve">
<value>开始</value> <value>开始</value>
</data> </data>
<data name="ComponentInspector.ImagePanel.ControlDesignSurfaceLabel" xml:space="preserve">
<value>控件设计界面</value>
</data>
<data name="ComponentInspector.ImagePanel.DesignModeLabel" xml:space="preserve"> <data name="ComponentInspector.ImagePanel.DesignModeLabel" xml:space="preserve">
<value>测试模式</value> <value>测试模式</value>
</data> </data>
@ -1393,6 +1411,9 @@
<data name="ComponentInspector.WaitingForAppDialog.Title" xml:space="preserve"> <data name="ComponentInspector.WaitingForAppDialog.Title" xml:space="preserve">
<value>程序正在启动请稍等</value> <value>程序正在启动请稍等</value>
</data> </data>
<data name="CSharpBinding.GenerateNewHandlerInstructions" xml:space="preserve">
<value>插入对特定方法的引用;可再按跳格键(Tab)或回车键(Enter)来添加新的方法.</value>
</data>
<data name="CSharpBinding.InsertAnonymousMethod" xml:space="preserve"> <data name="CSharpBinding.InsertAnonymousMethod" xml:space="preserve">
<value>插入无参数未命名方法</value> <value>插入无参数未命名方法</value>
</data> </data>
@ -3109,6 +3130,9 @@
<data name="Dialog.Refactoring.IntroduceMethod.CreateNew" xml:space="preserve"> <data name="Dialog.Refactoring.IntroduceMethod.CreateNew" xml:space="preserve">
<value>创建新类:</value> <value>创建新类:</value>
</data> </data>
<data name="Dialog.Refactoring.IntroduceMethod.Title" xml:space="preserve">
<value>导入方法</value>
</data>
<data name="Dialog.Refactoring.IntroduceMethod.UseExisting" xml:space="preserve"> <data name="Dialog.Refactoring.IntroduceMethod.UseExisting" xml:space="preserve">
<value>使用现有类:</value> <value>使用现有类:</value>
</data> </data>
@ -4175,6 +4199,9 @@
<data name="ICSharpCode.SharpDevelop.DefaultEditor.IncrementalSearch.ReverseSearchStatusBarMessage" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.DefaultEditor.IncrementalSearch.ReverseSearchStatusBarMessage" xml:space="preserve">
<value>反向增量搜索:</value> <value>反向增量搜索:</value>
</data> </data>
<data name="ICSharpCode.SharpDevelop.ErrorLoadingCodeCompletionInformation" xml:space="preserve">
<value>从文件${Filename}中读取${Assembly}的代码自动完成信息时出错:</value>
</data>
<data name="ICSharpCode.SharpDevelop.ExceptionBox.Continue" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.ExceptionBox.Continue" xml:space="preserve">
<value>继续</value> <value>继续</value>
</data> </data>
@ -4364,6 +4391,9 @@
<data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel.PanelName" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel.PanelName" xml:space="preserve">
<value>Localization Model</value> <value>Localization Model</value>
</data> </data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel.ReflectionRadioButton" xml:space="preserve">
<value>属性反射(较少的属性地较慢,但较多的属性时扩展性较好,尤其是有许多默认值的时候)</value>
</data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.PanelName" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.PanelName" xml:space="preserve">
<value>Windows窗体设计器</value> <value>Windows窗体设计器</value>
</data> </data>
@ -4593,6 +4623,9 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.Aliases" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.Aliases" xml:space="preserve">
<value>别名</value> <value>别名</value>
</data> </data>
<data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.Aliases.Description" xml:space="preserve">
<value>用逗号分隔的别名列表.如果你需要引用有类名和命名空间名称冲突的程序集(也就是仅仅是版本号不同的程序集),请使用别名(aliases).</value>
</data>
<data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.Culture" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.Culture" xml:space="preserve">
<value>文化</value> <value>文化</value>
</data> </data>
@ -4626,6 +4659,9 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.UrlBehaviour" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.UrlBehaviour" xml:space="preserve">
<value>URL地址</value> <value>URL地址</value>
</data> </data>
<data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.UrlBehaviour.Description" xml:space="preserve">
<value>Web引用URL行为</value>
</data>
<data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.Version" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.Version" xml:space="preserve">
<value>版本</value> <value>版本</value>
</data> </data>
@ -4781,6 +4817,12 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="ICSharpCode.WixBinding.DialogDesignerGenerator.DialogIdNotFoundMessage" xml:space="preserve"> <data name="ICSharpCode.WixBinding.DialogDesignerGenerator.DialogIdNotFoundMessage" xml:space="preserve">
<value>在文档中找不到ID为'{0}'的对话框。</value> <value>在文档中找不到ID为'{0}'的对话框。</value>
</data> </data>
<data name="ICSharpCode.WixBinding.ExtensionBinding.InvalidExtension" xml:space="preserve">
<value>扩展(Extension)必须符合这种格式:类名,程序集名
如:
Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension</value>
</data>
<data name="ICSharpCode.WixBinding.LibraryParametersPanel" xml:space="preserve"> <data name="ICSharpCode.WixBinding.LibraryParametersPanel" xml:space="preserve">
<value>库</value> <value>库</value>
</data> </data>
@ -4904,6 +4946,12 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="ICSharpCode.WixBinding.WixDirectoryElement.System64Folder" xml:space="preserve"> <data name="ICSharpCode.WixBinding.WixDirectoryElement.System64Folder" xml:space="preserve">
<value>系统(x64)</value> <value>系统(x64)</value>
</data> </data>
<data name="ICSharpCode.WixBinding.WixDirectoryElement.TempFolder" xml:space="preserve">
<value>临时(文件夹)</value>
</data>
<data name="ICSharpCode.WixBinding.WixDirectoryElement.TemplateFolder" xml:space="preserve">
<value>模板</value>
</data>
<data name="ICSharpCode.WixBinding.WixDirectoryElement.WindowsVolume" xml:space="preserve"> <data name="ICSharpCode.WixBinding.WixDirectoryElement.WindowsVolume" xml:space="preserve">
<value>Windows卷标</value> <value>Windows卷标</value>
</data> </data>
@ -5297,6 +5345,12 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="MainWindow.Windows.Debug.Conditional.Breakpoints.Breakpoint" xml:space="preserve"> <data name="MainWindow.Windows.Debug.Conditional.Breakpoints.Breakpoint" xml:space="preserve">
<value>断点</value> <value>断点</value>
</data> </data>
<data name="MainWindow.Windows.Debug.Conditional.Breakpoints.BreakpointHitAt" xml:space="preserve">
<value>在{1}中的第{0}行遇到断点。</value>
</data>
<data name="MainWindow.Windows.Debug.Conditional.Breakpoints.ConditionalColumnHeader" xml:space="preserve">
<value>条件</value>
</data>
<data name="MainWindow.Windows.Debug.Conditional.Breakpoints.Continue" xml:space="preserve"> <data name="MainWindow.Windows.Debug.Conditional.Breakpoints.Continue" xml:space="preserve">
<value>继续</value> <value>继续</value>
</data> </data>
@ -5339,6 +5393,9 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="MainWindow.Windows.Debug.ExceptionForm.LineFormat.NoSymbols" xml:space="preserve"> <data name="MainWindow.Windows.Debug.ExceptionForm.LineFormat.NoSymbols" xml:space="preserve">
<value>在{0}</value> <value>在{0}</value>
</data> </data>
<data name="MainWindow.Windows.Debug.ExceptionForm.LineFormat.Symbols" xml:space="preserve">
<value>在{1}里的{0}: (第{2}行)</value>
</data>
<data name="MainWindow.Windows.Debug.ExceptionForm.Message" xml:space="preserve"> <data name="MainWindow.Windows.Debug.ExceptionForm.Message" xml:space="preserve">
<value>调试器抛出异常{0}:</value> <value>调试器抛出异常{0}:</value>
</data> </data>
@ -5735,6 +5792,9 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="OpenFileTabEventHandler.FileContainingFolderInExplorer" xml:space="preserve"> <data name="OpenFileTabEventHandler.FileContainingFolderInExplorer" xml:space="preserve">
<value>打开所在的文件夹</value> <value>打开所在的文件夹</value>
</data> </data>
<data name="ProjectBrowser.Toolbar.CollapseAll" xml:space="preserve">
<value>折叠所有节点</value>
</data>
<data name="ProjectComponent.ContextMenu.AddExistingFiles" xml:space="preserve"> <data name="ProjectComponent.ContextMenu.AddExistingFiles" xml:space="preserve">
<value>添加已存在的文件</value> <value>添加已存在的文件</value>
</data> </data>
@ -6032,6 +6092,9 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="ResourceEditor.Messages.CantLoadResource" xml:space="preserve"> <data name="ResourceEditor.Messages.CantLoadResource" xml:space="preserve">
<value>无法装载资源</value> <value>无法装载资源</value>
</data> </data>
<data name="ResourceEditor.ResourceCodeGeneratorTool.ClassConflict" xml:space="preserve">
<value>错误:资源代码生成器将跳过资源文件"{0}", 因为由它产生的类会与现有的类"{1}"有冲突.</value>
</data>
<data name="ResourceEditor.ResourceCodeGeneratorTool.CouldNotGenerateResourceProperty" xml:space="preserve"> <data name="ResourceEditor.ResourceCodeGeneratorTool.CouldNotGenerateResourceProperty" xml:space="preserve">
<value>资源代码生成器提示:资源'{0}'无法生成资源属性.</value> <value>资源代码生成器提示:资源'{0}'无法生成资源属性.</value>
</data> </data>
@ -6104,6 +6167,9 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="SharpDevelop.FileFilter.ImageFiles" xml:space="preserve"> <data name="SharpDevelop.FileFilter.ImageFiles" xml:space="preserve">
<value>图片文件</value> <value>图片文件</value>
</data> </data>
<data name="SharpDevelop.FileFilter.KeyFiles" xml:space="preserve">
<value>签名文件</value>
</data>
<data name="SharpDevelop.FileFilter.NAnt" xml:space="preserve"> <data name="SharpDevelop.FileFilter.NAnt" xml:space="preserve">
<value>NAnt文件</value> <value>NAnt文件</value>
</data> </data>
@ -6291,6 +6357,10 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="SharpDevelop.Solution.AllKnownProjectFormats" xml:space="preserve"> <data name="SharpDevelop.Solution.AllKnownProjectFormats" xml:space="preserve">
<value>所有已知的项目格式</value> <value>所有已知的项目格式</value>
</data> </data>
<data name="SharpDevelop.Solution.CannotLoadOldSolution" xml:space="preserve">
<value>当前版本的SharpDevelop无法打开由Visual Studio .Net 2003(或更旧的VS)创建的的工程。
可以尝试使用SharpDevelop 3.2进行转换,或者创建一个新的工程并手工添加现有源码。</value>
</data>
<data name="SharpDevelop.Solution.CannotSave.IOException" xml:space="preserve"> <data name="SharpDevelop.Solution.CannotSave.IOException" xml:space="preserve">
<value>不能保存{0}:\n{1}</value> <value>不能保存{0}:\n{1}</value>
</data> </data>
@ -6804,6 +6874,9 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而
<data name="Templates.File.Properties.OptionCategory" xml:space="preserve"> <data name="Templates.File.Properties.OptionCategory" xml:space="preserve">
<value>选项</value> <value>选项</value>
</data> </data>
<data name="Templates.File.RecentFilesCollection.Description" xml:space="preserve">
<value>在你的程序中实现ConfigurationColletion以便保存最近打开的文件。</value>
</data>
<data name="Templates.File.RecentFilesCollection.Name" xml:space="preserve"> <data name="Templates.File.RecentFilesCollection.Name" xml:space="preserve">
<value>最近的文件集合</value> <value>最近的文件集合</value>
</data> </data>
@ -6900,6 +6973,12 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而
<data name="Templates.File.WinFXWindow.Name" xml:space="preserve"> <data name="Templates.File.WinFXWindow.Name" xml:space="preserve">
<value>WPF窗体</value> <value>WPF窗体</value>
</data> </data>
<data name="Templates.File.WiX.EmptyWiX.Description" xml:space="preserve">
<value>为WiX文件产生空的片段文件(fragment file)</value>
</data>
<data name="Templates.File.WiX.EmptyWiX.Name" xml:space="preserve">
<value>Wix片段文件(Fragment File)为空</value>
</data>
<data name="Templates.File.Wix.EmptyWixDialog.Description" xml:space="preserve"> <data name="Templates.File.Wix.EmptyWixDialog.Description" xml:space="preserve">
<value>创建一个空的安装对话.</value> <value>创建一个空的安装对话.</value>
</data> </data>

2
data/schemas/AddIn.xsd

@ -732,7 +732,7 @@
<xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ComplexCondition" /> <xs:element ref="ComplexCondition" />
<xs:element ref="Condition" /> <xs:element ref="Condition" />
<xs:element ref="IOptionPanel" /> <xs:element ref="OptionPanel" />
<xs:element ref="Include" /> <xs:element ref="Include" />
</xs:choice> </xs:choice>
<xs:attribute name="class" use="optional" type="xs:string"> <xs:attribute name="class" use="optional" type="xs:string">

4
data/templates/project/AddInWritingHelp.txt

@ -10,8 +10,8 @@ to write SharpDevelop AddIns:
The next steps: The next steps:
- First, you have to add references to the SharpDevelop assemblies. - First, you have to add references to the SharpDevelop assemblies.
An AddIn will work with the SharpDevelop version it was compiled for, or later service releases. An AddIn will work with the SharpDevelop version it was compiled for, or later service releases.
You might want to compile against SharpDevelop 3.0.0.3800 (the first official release of SharpDevelop 3) You might want to compile against SharpDevelop 4.0.0.7070 (the first official release of SharpDevelop 4.0)
to ensure your AddIn runs with all later 3.x versions of SharpDevelop. to ensure your AddIn runs with all later 4.0.x versions of SharpDevelop.
- Include a <Manifest> section to your .addin for use with the SharpDevelop AddIn Manager. - Include a <Manifest> section to your .addin for use with the SharpDevelop AddIn Manager.
See SharpDevelop/doc/technotes/AddInManager.rtf for more information. See SharpDevelop/doc/technotes/AddInManager.rtf for more information.

2
data/templates/project/CSharp/WebService.xpt

@ -88,7 +88,7 @@ namespace ${StandardNamespace}
} }
} }
]]></File> ]]></File>
<File name="Default.asmx" language="XML"><![CDATA[<%@ WebService Language="C#" Class="${StandardNamespace}.Soap,Soap" %>]]></File> <File name="Default.asmx" language="XML"><![CDATA[<%@ WebService Language="C#" Class="${StandardNamespace}.Soap" %>]]></File>
<!--*************************************************************************--> <!--*************************************************************************-->
<File name="Web.config" language="XML"><![CDATA[<?xml version="1.0"?> <File name="Web.config" language="XML"><![CDATA[<?xml version="1.0"?>
<configuration> <configuration>

2
data/templates/project/VB/WebService.xpt

@ -85,7 +85,7 @@ Public Class Soap
End Class End Class
]]></File> ]]></File>
<File name="Default.asmx" language="XML"> <File name="Default.asmx" language="XML">
<![CDATA[<%@ WebService Language="VB" Class="${StandardNamespace}.Soap,Soap" %>]]> <![CDATA[<%@ WebService Language="VB" Class="${StandardNamespace}.Soap" %>]]>
</File> </File>
<!--*************************************************************************--> <!--*************************************************************************-->
<File name="Web.config" language="XML"><![CDATA[<?xml version="1.0"?> <File name="Web.config" language="XML"><![CDATA[<?xml version="1.0"?>

16
doc/ChangeLog.template.html

@ -14,6 +14,22 @@
</ul> </ul>
</p> </p>
<p>
SharpDevelop 4.0 RC2 [4.0.0.7043] (12/19/2010)
<ul>
<li>Bug fixes</li>
<li>Performance enhancements</li>
<li>Update to NUnit 2.5.9</li>
</ul>
</p>
<p>
SharpDevelop 4.0 Release Candidate [4.0.0.6963] (11/28/2010)
<ul>
<li>Bug fixes</li>
</ul>
</p>
<p> <p>
SharpDevelop 4.0 Beta 4 [4.0.0.6842] (10/26/2010) SharpDevelop 4.0 Beta 4 [4.0.0.6842] (10/26/2010)
<ul> <ul>

41
doc/readme.rtf

@ -1,15 +1,15 @@
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;} {\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f1\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Bitstream Vera Sans;} {\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Bitstream Vera Sans;}
{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f328\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} {\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f243\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\f329\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f331\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f332\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f333\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} {\f244\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f246\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f247\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f248\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\f334\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f335\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f336\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f338\fbidi \fswiss\fcharset238\fprq2 Arial CE;} {\f249\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f250\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f251\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f253\fbidi \fswiss\fcharset238\fprq2 Arial CE;}
{\f339\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}{\f341\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\f342\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\f343\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);} {\f254\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}{\f256\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\f257\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\f258\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}
{\f344\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\f345\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\f346\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f668\fbidi \froman\fcharset238\fprq2 Cambria Math CE;} {\f259\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\f260\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\f261\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f583\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}
{\f669\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f671\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f672\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f675\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;} {\f584\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f586\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f587\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f590\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}
{\f676\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} {\f591\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} {\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} {\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} {\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
@ -37,9 +37,9 @@
Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033
\snext11 \ssemihidden \sunhideused \sqformat Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \ab\af31503\afs32 \ltrch\fcs0 \b\fs32\kerning32\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink1 \slocked \spriority9 Heading 1 Char;}} \snext11 \ssemihidden \sunhideused \sqformat Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \ab\af31503\afs32 \ltrch\fcs0 \b\fs32\kerning32\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink1 \slocked \spriority9 Heading 1 Char;}}
{\*\rsidtbl \rsid1645227\rsid2445895\rsid3302646\rsid4815376\rsid5386203\rsid7096137}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator Christoph Wille} {\*\rsidtbl \rsid1645227\rsid2445895\rsid3302646\rsid4815376\rsid5386203\rsid7096137\rsid7941341\rsid9663250\rsid13699700}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}
{\creatim\yr2008\mo8\dy16\hr11\min32}{\revtim\yr2009\mo4\dy6\hr22\min48}{\version4}{\edmins3}{\nofpages3}{\nofwords303}{\nofchars1730}{\nofcharsws2029}{\vern32895}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}} {\info{\operator Daniel}{\creatim\yr2008\mo8\dy16\hr11\min32}{\revtim\yr2011\mo1\dy6\hr16}{\version5}{\edmins4}{\nofpages3}{\nofwords295}{\nofchars1748}{\nofcharsws2039}{\vern32771}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordm
\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect l}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
\deftab1250\widowctrl\ftnbj\aenddoc\trackmoves1\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120 \deftab1250\widowctrl\ftnbj\aenddoc\trackmoves1\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120
\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot4815376 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}} \dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot4815376 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}
{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}} {\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
@ -48,7 +48,7 @@ Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpad
\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs120 \ltrch\fcs0 \b\fs120\cf1\insrsid5386203 \hich\af39\dbch\af31505\loch\f39 SharpDevelop \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs120 \ltrch\fcs0 \b\fs120\cf1\insrsid5386203 \hich\af39\dbch\af31505\loch\f39 SharpDevelop
\par }{\rtlch\fcs1 \ab\af39\afs120 \ltrch\fcs0 \b\fs120\cf1\insrsid7096137 \hich\af39\dbch\af31505\loch\f39 4}{\rtlch\fcs1 \ab\af39\afs120 \ltrch\fcs0 \b\fs120\cf1\insrsid5386203 .0 \par }{\rtlch\fcs1 \ab\af39\afs120 \ltrch\fcs0 \b\fs120\cf1\insrsid7096137 \hich\af39\dbch\af31505\loch\f39 4}{\rtlch\fcs1 \ab\af39\afs120 \ltrch\fcs0 \b\fs120\cf1\insrsid5386203 .0
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\cf1\insrsid5386203 \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\cf1\insrsid5386203
\par }\pard \ltrpar\qc \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1033\langnp2057\insrsid1645227 {\pict{\*\picprop\shplid1025{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fFlipH}{\sv 0}} \par }\pard \ltrpar\qc \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1033\langnp2057\insrsid9663250 {\pict{\*\picprop\shplid1025{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0 {\sp{\sn fFlipV}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0
\picw14115\pich7763\picwgoal8002\pichgoal4401\wmetafile8\bliptag1689737403\blipupi95{\*\blipuid 64b758bba058ea259859c641d3d895ad} \picw14115\pich7763\picwgoal8002\pichgoal4401\wmetafile8\bliptag1689737403\blipupi95{\*\blipuid 64b758bba058ea259859c641d3d895ad}
010009000003008903000000c103020000001610000026060f002220574d464301000000000001006b5c000000001900000000200000c8e50200c80503000100 010009000003008903000000c103020000001610000026060f002220574d464301000000000001006b5c000000001900000000200000c8e50200c80503000100
@ -7321,7 +7321,8 @@ ger. In the course of the project, several contributors}{\rtlch\fcs1 \af0 \ltrch
\f0\cf1\lang2057\langfe1033\langnp2057\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 , wh\hich\af0\dbch\af31505\loch\f0 o have helped a great deal to make the 1.0 release a successful one \hich\f0 \endash \loch\f0 \f0\cf1\lang2057\langfe1033\langnp2057\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 , wh\hich\af0\dbch\af31505\loch\f0 o have helped a great deal to make the 1.0 release a successful one \hich\f0 \endash \loch\f0
though it took us four years and a few architectural changes along the way. though it took us four years and a few architectural changes along the way.
\par \par
\par \hich\af0\dbch\af31505\loch\f0 What you got on your machine is now version 3.0 \hich\f0 \endash \loch\f0 a vastly enhanced product, and we encourage you to take the\hich\af0\dbch\af31505\loch\f0 feature tour. \par \hich\af0\dbch\af31505\loch\f0 What you got on your machine is now version }{\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\cf1\lang2057\langfe1033\langnp2057\insrsid13699700 \hich\af0\dbch\af31505\loch\f0 4}{\rtlch\fcs1 \af0 \ltrch\fcs0
\f0\cf1\lang2057\langfe1033\langnp2057\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 .0 \hich\f0 \endash \loch\f0 a vastly enhanced product, and we encourage you to take the\hich\af0\dbch\af31505\loch\f0 feature tour.
\par \par
\par \par
\par }{\rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f0\cf1\lang2057\langfe1033\langnp2057\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 The #develop team \par }{\rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f0\cf1\lang2057\langfe1033\langnp2057\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 The #develop team
@ -7338,7 +7339,7 @@ ger. In the course of the project, several contributors}{\rtlch\fcs1 \af0 \ltrch
\par }\pard\plain \ltrpar\s1\ql \li0\ri0\sb240\sa60\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 { \par }\pard\plain \ltrpar\s1\ql \li0\ri0\sb240\sa60\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\insrsid5386203 \hich\af1\dbch\af31505\loch\f1 Features \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\insrsid5386203 \hich\af1\dbch\af31505\loch\f1 Features
\par }\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \par }\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0
\f0\cf1\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 For detailed information on the features present in SharpDevelop, please take the featu\hich\af0\dbch\af31505\loch\f0 re tour: \f0\cf1\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 For detailed information on the features present in SharpDevelop, please take the feature tou\hich\af0\dbch\af31505\loch\f0 r:
\par \par
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 http://www.icsharpcode.net/OpenSource/SD/Tour/}{\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\cf1\insrsid5386203 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 http://www.icsharpcode.net/OpenSource/SD/Tour/}{\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\cf1\insrsid5386203
\par }\pard\plain \ltrpar\s1\ql \li0\ri0\sb240\sa60\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 { \par }\pard\plain \ltrpar\s1\ql \li0\ri0\sb240\sa60\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {
@ -7349,11 +7350,11 @@ ger. In the course of the project, several contributors}{\rtlch\fcs1 \af0 \ltrch
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\lang2057\langfe1033\langnp2057\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 http://community.sharpdevelop.net/forums/}{\rtlch\fcs1 \af0 \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\lang2057\langfe1033\langnp2057\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 http://community.sharpdevelop.net/forums/}{\rtlch\fcs1 \af0
\ltrch\fcs0 \f0\cf1\lang2057\langfe1033\langnp2057\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 \ltrch\fcs0 \f0\cf1\lang2057\langfe1033\langnp2057\insrsid5386203 \hich\af0\dbch\af31505\loch\f0
\par \par
\par \hich\af0\dbch\af31505\loch\f0 Before posting, we would like to encourage you to visit our Wiki pages: \par \hich\af0\dbch\af31505\loch\f0 Before\hich\af0\dbch\af31505\loch\f0 posting, we would like to encourage you to visit our Wiki pages:
\par \par
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\lang2057\langfe1033\langnp2057\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 http://wiki.sharpdevelop.net/}{\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\cf1\lang2057\langfe1033\langnp2057\insrsid5386203 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\lang2057\langfe1033\langnp2057\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 http://wiki.sharpdevelop.net/}{\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\cf1\lang2057\langfe1033\langnp2057\insrsid5386203
\par }\pard \ltrpar\qj \fi1\li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\cf1\lang2057\langfe1033\langnp2057\insrsid5386203 \par }\pard \ltrpar\qj \fi1\li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\cf1\lang2057\langfe1033\langnp2057\insrsid5386203
\par \hich\af0\dbch\af31505\loch\f0 When reporting bugs, please use the Bug Reporting forum and be sure to revisit the sticky topics on how to make good bug reports. Please provide us with\hich\af0\dbch\af31505\loch\f0 steps to reproduce the error. \par \hich\af0\dbch\af31505\loch\f0 When reporting bugs, please use the Bug Reporting forum and be sure to revisit the sticky topics on how to make good bug reports. Please provide us with steps\hich\af0\dbch\af31505\loch\f0 to reproduce the error.
\par }\pard\plain \ltrpar\s1\ql \li0\ri0\sb240\sa60\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 { \par }\pard\plain \ltrpar\s1\ql \li0\ri0\sb240\sa60\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\insrsid5386203 \hich\af1\dbch\af31505\loch\f1 License \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\insrsid5386203 \hich\af1\dbch\af31505\loch\f1 License
\par }\pard\plain \ltrpar\qj \fi1\li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 \rtlch\fcs1 \af31507\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \par }\pard\plain \ltrpar\qj \fi1\li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 \rtlch\fcs1 \af31507\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0
@ -7361,8 +7362,8 @@ ger. In the course of the project, several contributors}{\rtlch\fcs1 \af0 \ltrch
s source code is LGPL licensed (please see license.txt for the LGPL in its entire length). Should you have questions about the LGPL, please visit the following URLs: s source code is LGPL licensed (please see license.txt for the LGPL in its entire length). Should you have questions about the LGPL, please visit the following URLs:
\par \par
\par \hich\af0\dbch\af31505\loch\f0 IC#Code FAQ: Open Source Licenses \par \hich\af0\dbch\af31505\loch\f0 IC#Code FAQ: Open Source Licenses
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\lang2057\langfe1033\langnp2057\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 http:\hich\af0\dbch\af31505\loch\f0 \par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\lang2057\langfe1033\langnp2057\insrsid5386203 \hich\af0\dbch\af31505\loch\f0 http://comm\hich\af0\dbch\af31505\loch\f0
//community.sharpdevelop.net/forums/17/ShowForum.aspx}{\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\cf1\lang2057\langfe1033\langnp2057\insrsid5386203 unity.sharpdevelop.net/forums/17/ShowForum.aspx}{\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\cf1\lang2057\langfe1033\langnp2057\insrsid5386203
\par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8 \par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8
72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7 72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7
2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b 2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b
@ -7468,8 +7469,8 @@ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd158be0f000000000000000000000000c085 ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd158be0f000000000000000000000000a0cd
451cf9b6c901feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 d86db2adcb01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}} 0000000000000000000000000000000000000000000000000105000000000000}}

2
doc/technotes/ConditionList.html

@ -5,7 +5,7 @@
</head><body> </head><body>
<h1>Condition List</h1> <h1>Condition List</h1>
<p class="notice">This file was generated by the tool 'BuildAddinDocumentation'. <p class="notice">This file was generated by the tool 'BuildAddinDocumentation'.
It is based on SharpDevelop 4.0.0.7014.</p> It is based on SharpDevelop 4.0.0.7070.</p>
<ul> <ul>
<li><a href="#ActiveContentExtension">ActiveContentExtension</a> <li><a href="#ActiveContentExtension">ActiveContentExtension</a>
<li><a href="#ActiveViewContentUntitled">ActiveViewContentUntitled</a> <li><a href="#ActiveViewContentUntitled">ActiveViewContentUntitled</a>

2
doc/technotes/DoozerList.html

@ -5,7 +5,7 @@
</head><body> </head><body>
<h1>Doozer List</h1> <h1>Doozer List</h1>
<p class="notice">This file was generated by the tool 'BuildAddinDocumentation'. <p class="notice">This file was generated by the tool 'BuildAddinDocumentation'.
It is based on SharpDevelop 4.0.0.7014.</p> It is based on SharpDevelop 4.0.0.7070.</p>
<ul> <ul>
<li><a href="#Class">Class</a> <li><a href="#Class">Class</a>
<li><a href="#CodeCompletionBinding">CodeCompletionBinding</a> <li><a href="#CodeCompletionBinding">CodeCompletionBinding</a>

10
src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs

@ -5,6 +5,7 @@ using System;
using System.Diagnostics; using System.Diagnostics;
using System.Drawing; using System.Drawing;
using System.IO; using System.IO;
using System.Linq;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Text; using System.Text;
@ -213,6 +214,8 @@ namespace ICSharpCode.SharpDevelop.Services
Process process = debugger.Attach(existingProcess); Process process = debugger.Attach(existingProcess);
attached = true; attached = true;
SelectProcess(process); SelectProcess(process);
process.Modules.Added += process_Modules_Added;
} catch (System.Exception e) { } catch (System.Exception e) {
// CORDBG_E_DEBUGGER_ALREADY_ATTACHED // CORDBG_E_DEBUGGER_ALREADY_ATTACHED
if (e is COMException || e is UnauthorizedAccessException) { if (e is COMException || e is UnauthorizedAccessException) {
@ -749,5 +752,12 @@ namespace ICSharpCode.SharpDevelop.Services
string[] buttonLabels = new string[] { StringParser.Parse("${res:XML.MainMenu.DebugMenu.Detach}"), StringParser.Parse("${res:MainWindow.Windows.Debug.ExceptionForm.Terminate}"), StringParser.Parse("${res:Global.CancelButtonText}") }; string[] buttonLabels = new string[] { StringParser.Parse("${res:XML.MainMenu.DebugMenu.Detach}"), StringParser.Parse("${res:MainWindow.Windows.Debug.ExceptionForm.Terminate}"), StringParser.Parse("${res:Global.CancelButtonText}") };
return (StopAttachedProcessDialogResult)MessageService.ShowCustomDialog(caption, message, (int)StopAttachedProcessDialogResult.Detach, (int)StopAttachedProcessDialogResult.Cancel, buttonLabels); return (StopAttachedProcessDialogResult)MessageService.ShowCustomDialog(caption, message, (int)StopAttachedProcessDialogResult.Detach, (int)StopAttachedProcessDialogResult.Cancel, buttonLabels);
} }
void process_Modules_Added(object sender, CollectionItemEventArgs<Module> e)
{
ProjectService.OpenSolution.Projects
.Where(p => e.Item.Name.IndexOf(p.Name) >= 0)
.ForEach(p => e.Item.LoadSymbolsFromDisk(new []{ Path.GetDirectoryName(p.OutputAssemblyFullPath) }));
}
} }
} }

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

@ -145,6 +145,7 @@
<Compile Include="Project\ReportItems\BaseDataItem.cs"> <Compile Include="Project\ReportItems\BaseDataItem.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="Project\ReportItems\CircleItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\GroupFooter.cs" /> <Compile Include="Project\ReportItems\GroupFooter.cs" />
<Compile Include="Project\ReportItems\BaseImageItem.cs"> <Compile Include="Project\ReportItems\BaseImageItem.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
@ -171,7 +172,16 @@
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="Project\ReportItems\GroupHeader.cs" /> <Compile Include="Project\ReportItems\GroupHeader.cs" />
<Compile Include="Project\ReportItems\RectangleItemTypeProvider.cs" /> <Compile Include="Project\ReportItems\TypeProviders\AbstractItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\DataItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\GroupedRowTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\ImageItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\LineItemTypeDescriptor.cs" />
<Compile Include="Project\ReportItems\TypeProviders\RectangleItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\RowItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\SectionItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\TableItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\TextItemTypeProvider.cs" />
<Compile Include="Project\ReportManagers\BaseManager.cs" /> <Compile Include="Project\ReportManagers\BaseManager.cs" />
<Compile Include="Project\ReportManagers\StandartPreviewManager.cs" /> <Compile Include="Project\ReportManagers\StandartPreviewManager.cs" />
<Compile Include="Project\ReportWizard\Generators\AbstractReportGenerator.cs" /> <Compile Include="Project\ReportWizard\Generators\AbstractReportGenerator.cs" />
@ -338,5 +348,8 @@
<Install>true</Install> <Install>true</Install>
</BootstrapperPackage> </BootstrapperPackage>
</ItemGroup> </ItemGroup>
<ItemGroup>
<Folder Include="Project\ReportItems\TypeProviders" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project> </Project>

47
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs

@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin namespace ICSharpCode.Reports.Addin
@ -85,52 +86,6 @@ namespace ICSharpCode.Reports.Addin
} }
} }
internal class AbstractItemTypeProvider : TypeDescriptionProvider {
public AbstractItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public AbstractItemTypeProvider(TypeDescriptionProvider parent): base(parent)
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType, instance);
return new AbstractItemTypeDescriptor(td, instance);
}
}
internal class AbstractItemTypeDescriptor : CustomTypeDescriptor
{
// private AbstractItem _instance;
public AbstractItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// _instance = instance as AbstractItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
foreach (PropertyDescriptor p in props)
{
allProperties.Add(p);
}
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
} }

12
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseCircleItem.cs

@ -2,7 +2,6 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System; using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Drawing.Drawing2D; using System.Drawing.Drawing2D;
@ -28,7 +27,7 @@ namespace ICSharpCode.Reports.Addin
this.thickness = 1; this.thickness = 1;
this.dashStyle = DashStyle.Solid; this.dashStyle = DashStyle.Solid;
this.Size = new Size(GlobalValues.PreferedSize.Width,2* GlobalValues.PreferedSize.Height); this.Size = new Size(GlobalValues.PreferedSize.Width,2* GlobalValues.PreferedSize.Height);
TypeDescriptor.AddProvider(new RectangleItemTypeProvider(), typeof(BaseCircleItem)); TypeDescriptor.AddProvider(new CircleItemTypeProvider(), typeof(BaseCircleItem));
} }
@ -62,15 +61,6 @@ namespace ICSharpCode.Reports.Addin
} }
private BaseLine Baseline()
{
if (this.BackColor == GlobalValues.DefaultBackColor) {
return new BaseLine (this.ForeColor,this.DashStyle,this.Thickness);
} else {
return new BaseLine (this.BackColor,this.DashStyle,this.Thickness);
}
}
[Browsable(true), [Browsable(true),
Category("Appearance"), Category("Appearance"),

76
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseDataItem.cs

@ -2,12 +2,10 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System; using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin namespace ICSharpCode.Reports.Addin
@ -72,76 +70,4 @@ namespace ICSharpCode.Reports.Addin
} }
} }
internal class DataItemTypeProvider : TypeDescriptionProvider
{
public DataItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new DataItemTypeDescriptor(td, instance);
}
}
internal class DataItemTypeDescriptor : CustomTypeDescriptor
{
public DataItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
DesignerHelper.AddTextbasedProperties(allProperties,props);
PropertyDescriptor prop = props.Find("Text",true);
allProperties.Add(prop);
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("ColumnName",true);
allProperties.Add(prop);
prop = props.Find("BaseTableName",true);
allProperties.Add(prop);
prop = props.Find("DbValue",true);
allProperties.Add(prop);
prop = props.Find("NullValue",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
} }

109
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs

@ -2,16 +2,14 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System; using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Drawing.Design; using System.Drawing.Design;
using System.Globalization;
using System.IO; using System.IO;
using System.Windows.Forms.Design; using System.Windows.Forms.Design;
using System.Xml.Serialization; using System.Xml.Serialization;
using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin namespace ICSharpCode.Reports.Addin
@ -60,12 +58,10 @@ namespace ICSharpCode.Reports.Addin
if (this.scaleImageToSize) { if (this.scaleImageToSize) {
graphics.DrawImageUnscaled(this.Image,this.Location.X,this.Location.Y); graphics.DrawImageUnscaled(this.Image,this.Location.X,this.Location.Y);
} else { } else {
Image im = this.image;
if (im != null) {
graphics.DrawImage(this.Image,this.ClientRectangle); graphics.DrawImage(this.Image,this.ClientRectangle);
} }
} }
}
#region Property's #region Property's
@ -74,9 +70,11 @@ namespace ICSharpCode.Reports.Addin
public string ImageFileName { public string ImageFileName {
get { return imageFileName; } get { return imageFileName; }
set { imageFileName = value; set { imageFileName = value;
if (!String.IsNullOrEmpty(reportFileName)) {
this.relativeFileName = FileUtility.GetRelativePath(Path.GetFullPath(this.reportFileName),Path.GetFullPath(this.ImageFileName)); this.relativeFileName = FileUtility.GetRelativePath(Path.GetFullPath(this.reportFileName),Path.GetFullPath(this.ImageFileName));
} }
} }
}
private static Bitmap ErrorBitmap(Size size) private static Bitmap ErrorBitmap(Size size)
@ -138,17 +136,17 @@ namespace ICSharpCode.Reports.Addin
if (this.imageSource == GlobalEnums.ImageSource.Database ) { if (this.imageSource == GlobalEnums.ImageSource.Database ) {
text = "<Database>"; text = "<Database>";
} }
this.image = FakeImage(base.Size,text);
if (this.image != null) {
return image;
} else {
if (!String.IsNullOrEmpty(imageFileName)) { if (!String.IsNullOrEmpty(imageFileName)) {
this.image = this.LoadImage(); this.image = this.LoadImage();
return this.image; return this.image;
} else
{
this.image = FakeImage(base.Size,text);
} }
return this.image;
} }
return null;
}
set { set {
this.image = value; this.image = value;
this.imageSource = GlobalEnums.ImageSource.External; this.imageSource = GlobalEnums.ImageSource.External;
@ -208,20 +206,20 @@ namespace ICSharpCode.Reports.Addin
[XmlIgnoreAttribute] [XmlIgnoreAttribute]
[Category("Image")] [Category("Image")]
// [Browsable(false)] [Browsable(false)]
public string AbsoluteFileName public string AbsoluteFileName
{ {
get { get {
//D:\SharpDevelop3.0_WorkingCopy\SharpDevelop\samples\SharpDevelopReports\SampleReports\Logos
if (!string.IsNullOrEmpty(relativeFileName)) { if (!string.IsNullOrEmpty(relativeFileName)) {
Console.WriteLine(""); Console.WriteLine("");
string testFileName = FileUtility.NormalizePath(Path.Combine(Path.GetDirectoryName(this.reportFileName),this.relativeFileName));
string testFileName = String.Empty;
if (! String.IsNullOrEmpty(reportFileName)) {
testFileName = FileUtility.NormalizePath(Path.Combine(Path.GetDirectoryName(this.reportFileName),this.relativeFileName));
}
if (File.Exists(testFileName)){ if (File.Exists(testFileName)){
Console.WriteLine("Image found with Relative Filename"); Console.WriteLine("Image found with Relative Filename");
Console.WriteLine("Report Filename {0}",this.reportFileName);
Console.WriteLine("Relative Filename {0}",this.relativeFileName);
Console.WriteLine("Image Filename {0}",this.ImageFileName);
return testFileName; return testFileName;
} else { } else {
Console.WriteLine("AbsoluteFileName can't load image"); Console.WriteLine("AbsoluteFileName can't load image");
@ -238,78 +236,5 @@ namespace ICSharpCode.Reports.Addin
} }
internal class ImageItemTypeProvider : TypeDescriptionProvider
{
public ImageItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
// public ImageItemTypeProvider(TypeDescriptionProvider parent): base(parent)
// {
//
// }
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new ImageItemTypeDescriptor(td, instance);
}
}
internal class ImageItemTypeDescriptor : CustomTypeDescriptor
{
public ImageItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// instance = instance as BaseTextItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = prop = props.Find("imageFileName",true);
allProperties.Add(prop);
prop = props.Find("Image",true);
allProperties.Add(prop);
prop = props.Find("ScaleImageToSize",true);
allProperties.Add(prop);
prop = props.Find("ImageSource",true);
allProperties.Add(prop);
prop = props.Find("ReportFileName",true);
allProperties.Add(prop);
prop = props.Find("RelativeFileName",true);
allProperties.Add(prop);
prop = props.Find("AbsoluteFileName",true);
allProperties.Add(prop);
prop = props.Find("ColumnName",true);
allProperties.Add(prop);
prop = props.Find("BaseTableName",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
} }

71
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseLine.cs

@ -2,12 +2,11 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System; using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Drawing.Drawing2D; using System.Drawing.Drawing2D;
using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Addin.TypeProviders;
namespace ICSharpCode.Reports.Addin namespace ICSharpCode.Reports.Addin
{ {
@ -156,75 +155,7 @@ namespace ICSharpCode.Reports.Addin
} }
internal class LineItemTypeProvider : TypeDescriptionProvider
{
public LineItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
// public LineItemTypeProvider(TypeDescriptionProvider parent): base(parent)
// {
//
// }
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new LineItemTypeDescriptor(td, instance);
}
}
internal class LineItemTypeDescriptor : CustomTypeDescriptor
{
// private BaseTextItem instance;
public LineItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// instance = instance as BaseTextItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("FromPoint",true);
allProperties.Add(prop);
prop = props.Find("ToPoint",true);
allProperties.Add(prop);
prop = props.Find("StartLineCap",true);
allProperties.Add(prop);
prop = props.Find("EndLineCap",true);
allProperties.Add(prop);
prop = props.Find("dashLineCap",true);
allProperties.Add(prop);
prop = props.Find("DashStyle",true);
allProperties.Add(prop);
prop = props.Find("Thickness",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
} }

58
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRectangleItem.cs

@ -6,6 +6,7 @@ using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Drawing.Drawing2D; using System.Drawing.Drawing2D;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin namespace ICSharpCode.Reports.Addin
@ -22,13 +23,14 @@ namespace ICSharpCode.Reports.Addin
private DashStyle dashStyle; private DashStyle dashStyle;
private float thickness; private float thickness;
private int cornerRadius;
public BaseRectangleItem() public BaseRectangleItem()
{ {
this.thickness = 1; this.thickness = 1;
this.dashStyle = DashStyle.Solid; this.dashStyle = DashStyle.Solid;
this.Size = new Size(GlobalValues.PreferedSize.Width,2* GlobalValues.PreferedSize.Height); this.Size = new Size(GlobalValues.PreferedSize.Width,2* GlobalValues.PreferedSize.Height);
cornerRadius = 1;
TypeDescriptor.AddProvider(new RectangleItemTypeProvider(), typeof(BaseRectangleItem)); TypeDescriptor.AddProvider(new RectangleItemTypeProvider(), typeof(BaseRectangleItem));
} }
@ -51,52 +53,60 @@ namespace ICSharpCode.Reports.Addin
Rectangle rect = new Rectangle(this.ClientRectangle.Left,this.ClientRectangle.Top, Rectangle rect = new Rectangle(this.ClientRectangle.Left,this.ClientRectangle.Top,
this.ClientRectangle.Right -1, this.ClientRectangle.Right -1,
this.ClientRectangle.Bottom -1); this.ClientRectangle.Bottom -1);
backgroundShape.FillShape(graphics, // backgroundShape.FillShape(graphics,
new SolidFillPattern(this.BackColor), // new SolidFillPattern(this.BackColor),
rect); // rect);
Border b = new Border(new BaseLine (this.ForeColor,System.Drawing.Drawing2D.DashStyle.Solid,1));
DrawFrame(graphics,b);
shape.DrawShape (graphics, Border b = new Border(new BaseLine (this.ForeColor,System.Drawing.Drawing2D.DashStyle.Solid,1));
this.Baseline(), // DrawFrame(graphics,b);
rect); BaseLine line = new BaseLine(base.ForeColor,DashStyle,Thickness,LineCap.Round,LineCap.Round,DashCap.Round);
using (Pen pen = line.CreatePen(line.Thickness)){
shape.CornerRadius = this.CornerRadius;
GraphicsPath path1 = shape.CreatePath(rect);
graphics.DrawPath(pen, path1);
} }
protected void DrawFrame (Graphics graphics,Border border) { // shape.DrawShape (graphics,
if (this.DrawBorder == true) { // this.Baseline(),
border.DrawBorder(graphics,this.ClientRectangle); // rect);
}
}
private BaseLine Baseline()
{
if (this.BackColor == GlobalValues.DefaultBackColor) {
return new BaseLine (this.ForeColor,this.DashStyle,this.Thickness);
} else {
return new BaseLine (this.BackColor,this.DashStyle,this.Thickness);
}
} }
[Browsable(true), [Browsable(true),
Category("Appearance"), Category("Appearance"),
Description("Linestyle")] Description("Linestyle")]
public DashStyle DashStyle { public DashStyle DashStyle {
get { return dashStyle; } get { return dashStyle; }
set { dashStyle = value; } set { dashStyle = value;
this.Invalidate();
}
} }
[Browsable(true), [Browsable(true),
Category("Appearance"), Category("Appearance"),
Description("Thickness of Line")] Description("Thickness of Line")]
public float Thickness { public float Thickness {
get { return thickness; } get { return thickness; }
set { thickness = value; } set { thickness = value;
this.Invalidate();
}
} }
[Browsable(true),
Category("Appearance"),
Description("Radius of Corners")]
public int CornerRadius
{
get{return this.cornerRadius;}
set{this.cornerRadius = value;
this.Invalidate();
}
} }
}
} }

69
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRowItem.cs

@ -2,11 +2,10 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System; using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin namespace ICSharpCode.Reports.Addin
@ -74,70 +73,4 @@ namespace ICSharpCode.Reports.Addin
#endregion #endregion
} }
internal class RowItemTypeProvider : TypeDescriptionProvider
{
public RowItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new RowItemTypeDescriptor(td, instance);
}
}
internal class RowItemTypeDescriptor : CustomTypeDescriptor
{
public RowItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
/*
prop = props.Find("Padding",true);
allProperties.Add(prop);
*/
prop = props.Find("AlternateBackColor",true);
allProperties.Add(prop);
prop = props.Find("ChangeBackColorEveryNRow",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
} }

64
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs

@ -7,6 +7,7 @@ using System.ComponentModel;
using System.Drawing; using System.Drawing;
using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin namespace ICSharpCode.Reports.Addin
@ -76,68 +77,5 @@ namespace ICSharpCode.Reports.Addin
#endregion #endregion
} }
internal class SectionItemTypeProvider : TypeDescriptionProvider
{
public SectionItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
// public SectionItemTypeProvider(TypeDescriptionProvider parent): base(parent)
// {
// }
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new SectionItemDescriptor(td, instance);
}
}
internal class SectionItemDescriptor : CustomTypeDescriptor
{
// private BaseTextItem instance;
public SectionItemDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// instance = instance as BaseTextItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("SectionOffset",true);
allProperties.Add(prop);
prop = props.Find("SectionMargin",true);
allProperties.Add(prop);
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("PageBreakAfter",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
} }

64
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTableItem.cs

@ -2,12 +2,10 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System; using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Windows.Forms;
using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin namespace ICSharpCode.Reports.Addin
@ -53,65 +51,5 @@ namespace ICSharpCode.Reports.Addin
} }
internal class TableItemTypeProvider : TypeDescriptionProvider
{
public TableItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
// public TableItemTypeProvider(TypeDescriptionProvider parent): base(parent)
// {
//
// }
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new TableItemTypeDescriptor(td, instance);
}
}
internal class TableItemTypeDescriptor : CustomTypeDescriptor
{
public TableItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
} }

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

@ -2,14 +2,13 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System; using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Addin.Dialogs;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.BaseClasses.Printing;
using ICSharpCode.Reports.Addin.Dialogs;
namespace ICSharpCode.Reports.Addin namespace ICSharpCode.Reports.Addin
{ {
@ -161,70 +160,4 @@ namespace ICSharpCode.Reports.Addin
#endregion #endregion
} }
#region TypeProvider
internal class TextItemTypeProvider : TypeDescriptionProvider
{
public TextItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new TextItemTypeDescriptor(td, instance);
}
}
internal class TextItemTypeDescriptor : CustomTypeDescriptor
{
// private BaseTextItem instance;
public TextItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// instance = instance as BaseTextItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
DesignerHelper.AddTextbasedProperties(allProperties,props);
PropertyDescriptor prop = prop = props.Find("Text",true);
allProperties.Add(prop);
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("Expression",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
#endregion
} }

70
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/CircleItemTypeProvider.cs

@ -0,0 +1,70 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:24
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin
{
internal class CircleItemTypeProvider : TypeDescriptionProvider
{
public CircleItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new CircleItemTypeDescriptor(td, instance);
}
}
internal class CircleItemTypeDescriptor : CustomTypeDescriptor
{
public CircleItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
System.Collections.Generic.List<PropertyDescriptor> allProperties = new System.Collections.Generic.List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("DashStyle",true);
allProperties.Add(prop);
prop = props.Find("Thickness",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

72
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/GroupHeader.cs

@ -2,12 +2,8 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System; using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin namespace ICSharpCode.Reports.Addin
{ {
@ -28,70 +24,4 @@ namespace ICSharpCode.Reports.Addin
} }
internal class GroupedRowTypeProvider : TypeDescriptionProvider
{
public GroupedRowTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new GroupedRowItemTypeDescriptor(td, instance);
}
}
internal class GroupedRowItemTypeDescriptor : CustomTypeDescriptor
{
public GroupedRowItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
prop = props.Find("AlternateBackColor",true);
allProperties.Add(prop);
prop = props.Find("ChangeBackColorEveryNRow",true);
allProperties.Add(prop);
prop = props.Find("PageBreakOnGroupChange",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
} }

64
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/AbstractItemTypeProvider.cs

@ -0,0 +1,64 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:47
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class AbstractItemTypeProvider : TypeDescriptionProvider {
public AbstractItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public AbstractItemTypeProvider(TypeDescriptionProvider parent): base(parent)
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType, instance);
return new AbstractItemTypeDescriptor(td, instance);
}
}
internal class AbstractItemTypeDescriptor : CustomTypeDescriptor
{
// private AbstractItem _instance;
public AbstractItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// _instance = instance as AbstractItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
foreach (PropertyDescriptor p in props)
{
allProperties.Add(p);
}
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

87
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/DataItemTypeProvider.cs

@ -0,0 +1,87 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:36
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class DataItemTypeProvider : TypeDescriptionProvider
{
public DataItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new DataItemTypeDescriptor(td, instance);
}
}
internal class DataItemTypeDescriptor : CustomTypeDescriptor
{
public DataItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
DesignerHelper.AddTextbasedProperties(allProperties,props);
PropertyDescriptor prop = props.Find("Text",true);
allProperties.Add(prop);
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("ColumnName",true);
allProperties.Add(prop);
prop = props.Find("BaseTableName",true);
allProperties.Add(prop);
prop = props.Find("DbValue",true);
allProperties.Add(prop);
prop = props.Find("NullValue",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

83
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/GroupedRowTypeProvider.cs

@ -0,0 +1,83 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:58
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class GroupedRowTypeProvider : TypeDescriptionProvider
{
public GroupedRowTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new GroupedRowItemTypeDescriptor(td, instance);
}
}
internal class GroupedRowItemTypeDescriptor : CustomTypeDescriptor
{
public GroupedRowItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
prop = props.Find("AlternateBackColor",true);
allProperties.Add(prop);
prop = props.Find("ChangeBackColorEveryNRow",true);
allProperties.Add(prop);
prop = props.Find("PageBreakOnGroupChange",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

86
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/ImageItemTypeProvider.cs

@ -0,0 +1,86 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:41
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class ImageItemTypeProvider : TypeDescriptionProvider
{
public ImageItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new ImageItemTypeDescriptor(td, instance);
}
}
internal class ImageItemTypeDescriptor : CustomTypeDescriptor
{
public ImageItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// instance = instance as BaseTextItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = prop = props.Find("imageFileName",true);
allProperties.Add(prop);
prop = props.Find("Image",true);
allProperties.Add(prop);
prop = props.Find("ScaleImageToSize",true);
allProperties.Add(prop);
prop = props.Find("ImageSource",true);
allProperties.Add(prop);
prop = props.Find("ReportFileName",true);
allProperties.Add(prop);
prop = props.Find("RelativeFileName",true);
allProperties.Add(prop);
prop = props.Find("AbsoluteFileName",true);
allProperties.Add(prop);
prop = props.Find("ColumnName",true);
allProperties.Add(prop);
prop = props.Find("BaseTableName",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

83
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/LineItemTypeDescriptor.cs

@ -0,0 +1,83 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:44
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class LineItemTypeProvider : TypeDescriptionProvider
{
public LineItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new LineItemTypeDescriptor(td, instance);
}
}
internal class LineItemTypeDescriptor : CustomTypeDescriptor
{
public LineItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("FromPoint",true);
allProperties.Add(prop);
prop = props.Find("ToPoint",true);
allProperties.Add(prop);
prop = props.Find("StartLineCap",true);
allProperties.Add(prop);
prop = props.Find("EndLineCap",true);
allProperties.Add(prop);
prop = props.Find("dashLineCap",true);
allProperties.Add(prop);
prop = props.Find("DashStyle",true);
allProperties.Add(prop);
prop = props.Find("Thickness",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

13
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/RectangleItemTypeProvider.cs → src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs

@ -5,7 +5,7 @@ using System;
using System.ComponentModel; using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin namespace ICSharpCode.Reports.Addin.TypeProviders
{ {
/// <summary> /// <summary>
/// Description of RectangleItemTypeProvider. /// Description of RectangleItemTypeProvider.
@ -16,12 +16,6 @@ namespace ICSharpCode.Reports.Addin
{ {
} }
// public RectangleItemTypeProvider(TypeDescriptionProvider parent): base(parent)
// {
//
// }
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance) public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{ {
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance); ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
@ -57,15 +51,14 @@ namespace ICSharpCode.Reports.Addin
prop = props.Find("ForeColor",true); prop = props.Find("ForeColor",true);
allProperties.Add(prop); allProperties.Add(prop);
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("DashStyle",true); prop = props.Find("DashStyle",true);
allProperties.Add(prop); allProperties.Add(prop);
prop = props.Find("Thickness",true); prop = props.Find("Thickness",true);
allProperties.Add(prop); allProperties.Add(prop);
prop = props.Find("CornerRadius",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray()); return new PropertyDescriptorCollection(allProperties.ToArray());
} }
} }

80
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RowItemTypeProvider.cs

@ -0,0 +1,80 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:51
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class RowItemTypeProvider : TypeDescriptionProvider
{
public RowItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new RowItemTypeDescriptor(td, instance);
}
}
internal class RowItemTypeDescriptor : CustomTypeDescriptor
{
public RowItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
prop = props.Find("AlternateBackColor",true);
allProperties.Add(prop);
prop = props.Find("ChangeBackColorEveryNRow",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

76
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/SectionItemTypeProvider.cs

@ -0,0 +1,76 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:53
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class SectionItemTypeProvider : TypeDescriptionProvider
{
public SectionItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new SectionItemDescriptor(td, instance);
}
}
internal class SectionItemDescriptor : CustomTypeDescriptor
{
public SectionItemDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("SectionOffset",true);
allProperties.Add(prop);
prop = props.Find("SectionMargin",true);
allProperties.Add(prop);
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("PageBreakAfter",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

78
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TableItemTypeProvider.cs

@ -0,0 +1,78 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:55
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class TableItemTypeProvider : TypeDescriptionProvider
{
public TableItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
// public TableItemTypeProvider(TypeDescriptionProvider parent): base(parent)
// {
//
// }
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new TableItemTypeDescriptor(td, instance);
}
}
internal class TableItemTypeDescriptor : CustomTypeDescriptor
{
public TableItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

79
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs

@ -0,0 +1,79 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:56
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class TextItemTypeProvider : TypeDescriptionProvider
{
public TextItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new TextItemTypeDescriptor(td, instance);
}
}
internal class TextItemTypeDescriptor : CustomTypeDescriptor
{
// private BaseTextItem instance;
public TextItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// instance = instance as BaseTextItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
DesignerHelper.AddTextbasedProperties(allProperties,props);
PropertyDescriptor prop = prop = props.Find("Text",true);
allProperties.Add(prop);
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("Expression",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

50
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGraphicItem.cs

@ -19,12 +19,13 @@ namespace ICSharpCode.Reports.Core {
/// </remarks> /// </remarks>
public class BaseGraphicItem : BaseReportItem { public class BaseGraphicItem : BaseReportItem {
private int thickness = 1; public BaseGraphicItem():base()
private DashStyle dashStyle = DashStyle.Solid; {
this.Thickness = 1;
public BaseGraphicItem():base() { DashStyle = DashStyle.Solid;
} }
protected IGraphicStyleDecorator CreateItemStyle (BaseShape shape) { protected IGraphicStyleDecorator CreateItemStyle (BaseShape shape) {
GraphicStyleDecorator style = new GraphicStyleDecorator(shape); GraphicStyleDecorator style = new GraphicStyleDecorator(shape);
@ -34,8 +35,8 @@ namespace ICSharpCode.Reports.Core {
style.ForeColor = this.ForeColor; style.ForeColor = this.ForeColor;
style.FrameColor = this.FrameColor; style.FrameColor = this.FrameColor;
style.Thickness = this.thickness; style.Thickness = this.Thickness;
style.DashStyle = this.dashStyle; style.DashStyle = this.DashStyle;
return style; return style;
} }
@ -55,6 +56,7 @@ namespace ICSharpCode.Reports.Core {
} }
} }
#region Overrides #region Overrides
public override string ToString() public override string ToString()
@ -70,41 +72,9 @@ namespace ICSharpCode.Reports.Core {
/// Line Thickness of graphical Element /// Line Thickness of graphical Element
/// </summary> /// </summary>
public virtual int Thickness { public virtual int Thickness {get;set;}
get {
return thickness;
}
set {
thickness = value;
}
}
public virtual DashStyle DashStyle {
get {
return dashStyle;
}
set {
dashStyle = value;
}
}
[XmlIgnoreAttribute]
[Browsable(false)]
public override bool DrawBorder {
get { return base.DrawBorder; }
set { base.DrawBorder = value; }
}
[XmlIgnoreAttribute]
[Browsable(false)]
public override Font Font {
get { return base.Font; }
set { base.Font = value; }
}
public virtual DashStyle DashStyle {get;set;}
#endregion #endregion
} }

22
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs

@ -46,17 +46,17 @@ namespace ICSharpCode.Reports.Core {
private LineDecorator CreateLineShape () private LineDecorator CreateLineShape ()
{ {
LineDecorator ld = new LineDecorator(this.shape); LineDecorator decorator = new LineDecorator(this.shape);
ld.Size = this.Size; decorator.Size = this.Size;
ld.Location = this.Location; decorator.Location = this.Location;
ld.BackColor = this.BackColor; decorator.BackColor = this.BackColor;
ld.ForeColor = this.ForeColor; decorator.ForeColor = this.ForeColor;
ld.Thickness = base.Thickness; decorator.Thickness = base.Thickness;
ld.DashStyle = base.DashStyle; decorator.DashStyle = base.DashStyle;
ld.From = this.fromPoint; decorator.From = this.fromPoint;
ld.To = this.toPoint; decorator.To = this.toPoint;
return ld; return decorator;
} }

32
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs

@ -3,9 +3,12 @@
using System; using System;
using System.Drawing; using System.Drawing;
using System.Drawing.Drawing2D;
using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.BaseClasses.Printing;
using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Exporter;
/// <summary> /// <summary>
/// This class draws a Rectangle /// This class draws a Rectangle
/// </summary> /// </summary>
@ -14,7 +17,9 @@ using ICSharpCode.Reports.Core.Exporter;
/// created on - 29.09.2005 11:57:30 /// created on - 29.09.2005 11:57:30
/// </remarks> /// </remarks>
namespace ICSharpCode.Reports.Core { namespace ICSharpCode.Reports.Core {
public class BaseRectangleItem : BaseGraphicItem,IExportColumnBuilder {
public class BaseRectangleItem : BaseGraphicItem,IExportColumnBuilder
{
RectangleShape shape = new RectangleShape(); RectangleShape shape = new RectangleShape();
@ -29,11 +34,13 @@ namespace ICSharpCode.Reports.Core {
#region IExportColumnBuilder #region IExportColumnBuilder
public BaseExportColumn CreateExportColumn(){ public BaseExportColumn CreateExportColumn(){
shape.CornerRadius = CornerRadius;
IGraphicStyleDecorator style = base.CreateItemStyle(this.shape); IGraphicStyleDecorator style = base.CreateItemStyle(this.shape);
ExportGraphic item = new ExportGraphic(style,false); ExportGraphic item = new ExportGraphic(style,false);
return item as ExportGraphic; return item as ExportGraphic;
} }
#endregion #endregion
public override void Render(ReportPageEventArgs rpea) { public override void Render(ReportPageEventArgs rpea) {
@ -41,13 +48,26 @@ namespace ICSharpCode.Reports.Core {
throw new ArgumentNullException("rpea"); throw new ArgumentNullException("rpea");
} }
base.Render(rpea); base.Render(rpea);
Rectangle rect = base.DisplayRectangle; Rectangle rectangle = base.DisplayRectangle;
StandardPrinter.FillBackground(rpea.PrintPageEventArgs.Graphics,this.BaseStyleDecorator); StandardPrinter.FillBackground(rpea.PrintPageEventArgs.Graphics,this.BaseStyleDecorator);
shape.DrawShape (rpea.PrintPageEventArgs.Graphics,
base.Baseline(), BaseLine line = new BaseLine(base.ForeColor,base.DashStyle,base.Thickness,LineCap.Round,LineCap.Round,DashCap.Round);
rect);
using (Pen pen = line.CreatePen(line.Thickness)){
if (pen != null)
{
shape.CornerRadius = this.CornerRadius;
GraphicsPath gfxPath = shape.CreatePath(rectangle);
rpea.PrintPageEventArgs.Graphics.FillPath(new SolidBrush(BackColor), gfxPath);;
rpea.PrintPageEventArgs.Graphics.DrawPath(pen, gfxPath);
}
} }
}
public int CornerRadius {get;set;}
public override string ToString() { public override string ToString() {

5
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs

@ -80,11 +80,13 @@ namespace ICSharpCode.Reports.Core.Exporter
protected virtual void Decorate () protected virtual void Decorate ()
{ {
RectangleShape shape = new RectangleShape(); RectangleShape shape = new RectangleShape();
shape.DrawShape(this.pdfWriter.DirectContent, shape.DrawShape(this.pdfWriter.DirectContent,
null, null,
this.styleDecorator, this.styleDecorator,
ConvertToPdfRectangle()); ConvertToPdfRectangle());
this.DrawFrame(); this.DrawFrame();
} }
#endregion #endregion
@ -124,6 +126,7 @@ namespace ICSharpCode.Reports.Core.Exporter
this.styleDecorator.DisplayRectangle, this.styleDecorator.DisplayRectangle,
typeof(iTextSharp.text.Rectangle)); typeof(iTextSharp.text.Rectangle));
iTextSharp.text.Rectangle rr = new iTextSharp.text.Rectangle(r.Left,r.Bottom -2, iTextSharp.text.Rectangle rr = new iTextSharp.text.Rectangle(r.Left,r.Bottom -2,
r.Left + r.Width,r.Bottom + r.Height); r.Left + r.Width,r.Bottom + r.Height);
@ -141,8 +144,6 @@ namespace ICSharpCode.Reports.Core.Exporter
} }
private void DrawFrame () private void DrawFrame ()
{ {
if (this.styleDecorator.DrawBorder) { if (this.styleDecorator.DrawBorder) {

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

@ -105,16 +105,16 @@ namespace ICSharpCode.Reports.Core.Exporter
if (lineDecorator != null) { if (lineDecorator != null) {
PdfLineDrawer (); PdfLineDrawer ();
} }
else { else
{
// http://www.mikesdotnetting.com/Article/88/iTextSharp-Drawing-shapes-and-Graphics
IGraphicStyleDecorator style = base.StyleDecorator as GraphicStyleDecorator; IGraphicStyleDecorator style = base.StyleDecorator as GraphicStyleDecorator;
if (style != null) {
style.Shape.DrawShape(base.PdfWriter.DirectContent, style.Shape.DrawShape(base.PdfWriter.DirectContent,
new BaseLine (style.ForeColor,style.DashStyle,style.Thickness), new BaseLine (style.ForeColor,style.DashStyle,style.Thickness),
style, style,
base.ConvertToPdfRectangle()); base.ConvertToPdfRectangle());
} }
} }
}
public new IGraphicStyleDecorator StyleDecorator public new IGraphicStyleDecorator StyleDecorator

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs

@ -59,6 +59,7 @@ namespace ICSharpCode.Reports.Core.Exporter {
} }
base.Decorate(); base.Decorate();
PdfContentByte contentByte = base.PdfWriter.DirectContent; PdfContentByte contentByte = base.PdfWriter.DirectContent;
CalculatePdfFormat pdfFormat = new CalculatePdfFormat(this.StyleDecorator,font); CalculatePdfFormat pdfFormat = new CalculatePdfFormat(this.StyleDecorator,font);
@ -75,6 +76,7 @@ namespace ICSharpCode.Reports.Core.Exporter {
} }
Chunk chunk = new Chunk(formatedText,font); Chunk chunk = new Chunk(formatedText,font);
columnText.AddText(chunk); columnText.AddText(chunk);
columnText.Go(); columnText.Go();

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseLine.cs

@ -33,6 +33,7 @@ namespace ICSharpCode.Reports.Core
{ {
} }
public BaseLine(Color color, DashStyle dashStyle,float thickness, LineCap startLineCap, LineCap endLineCap, DashCap dashLineCap) public BaseLine(Color color, DashStyle dashStyle,float thickness, LineCap startLineCap, LineCap endLineCap, DashCap dashLineCap)
{ {
if (color == Color.White) { if (color == Color.White) {

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseShape.cs

@ -86,7 +86,7 @@ namespace ICSharpCode.Reports.Core {
} }
public void DrawShape(Graphics graphics, BaseLine line, Rectangle rectangle) public virtual void DrawShape(Graphics graphics, BaseLine line, Rectangle rectangle)
{ {
if (graphics == null) { if (graphics == null) {
throw new ArgumentNullException("graphics"); throw new ArgumentNullException("graphics");
@ -114,6 +114,7 @@ namespace ICSharpCode.Reports.Core {
cb.SetColorFill(style.PdfBackColor); cb.SetColorFill(style.PdfBackColor);
} }
protected static void FillBackGround (iTextSharp.text.pdf.PdfContentByte contentByte, protected static void FillBackGround (iTextSharp.text.pdf.PdfContentByte contentByte,
IBaseStyleDecorator style, IBaseStyleDecorator style,
iTextSharp.text.Rectangle rectangle) iTextSharp.text.Rectangle rectangle)

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

@ -53,6 +53,7 @@ namespace ICSharpCode.Reports.Core {
} }
contentByte.SetColorStroke(style.PdfFrameColor); contentByte.SetColorStroke(style.PdfFrameColor);
contentByte.SetColorFill(style.PdfBackColor);
contentByte.SetLineWidth(UnitConverter.FromPixel(baseline.Thickness).Point); contentByte.SetLineWidth(UnitConverter.FromPixel(baseline.Thickness).Point);
contentByte.MoveTo(rectangle.Left ,rectangle.Top ); contentByte.MoveTo(rectangle.Left ,rectangle.Top );

52
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/RectangleShape.cs

@ -15,9 +15,11 @@ using ICSharpCode.Reports.Core.Exporter;
/// created on - 09.10.2005 18:20:51 /// created on - 09.10.2005 18:20:51
/// </remarks> /// </remarks>
namespace ICSharpCode.Reports.Core { namespace ICSharpCode.Reports.Core {
public class RectangleShape : BaseShape { public class RectangleShape : BaseShape {
public RectangleShape() { public RectangleShape()
{
} }
@ -27,31 +29,53 @@ namespace ICSharpCode.Reports.Core {
} }
public override GraphicsPath CreatePath(Rectangle rectangle){ public override GraphicsPath CreatePath(Rectangle rectangle )
GraphicsPath path1 = new GraphicsPath(); {
path1.AddRectangle(rectangle); //http://stackoverflow.com/questions/628261/how-to-draw-rounded-rectangle-with-variable-width-border-inside-of-specific-bound
return path1;
GraphicsPath gfxPath = new GraphicsPath();
if (CornerRadius == 0)
{
gfxPath.AddRectangle(rectangle);
}
else
{
gfxPath.AddArc(rectangle.X, rectangle.Y,CornerRadius , CornerRadius, 180, 90);
gfxPath.AddArc(rectangle.X + rectangle.Width - CornerRadius, rectangle.Y, CornerRadius, CornerRadius, 270, 90);
gfxPath.AddArc(rectangle.X + rectangle.Width - CornerRadius, rectangle.Y + rectangle.Height - CornerRadius, CornerRadius, CornerRadius, 0, 90);
gfxPath.AddArc(rectangle.X, rectangle.Y + rectangle.Height - CornerRadius, CornerRadius, CornerRadius, 90, 90);
}
gfxPath.CloseAllFigures();
return gfxPath;
}
public override void DrawShape(Graphics graphics, BaseLine line, Rectangle rectangle)
{
base.DrawShape(graphics, line, rectangle);
} }
public override void CreatePath(iTextSharp.text.pdf.PdfContentByte contentByte, public override void CreatePath(iTextSharp.text.pdf.PdfContentByte contentByte,
BaseLine line, BaseLine line,
IBaseStyleDecorator style, IBaseStyleDecorator style,
Point from,Point to) Point from,Point to)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
// http://www.mikesdotnetting.com/Article/88/iTextSharp-Drawing-shapes-and-Graphics
public override void CreatePath(iTextSharp.text.pdf.PdfContentByte contentByte, public override void CreatePath(iTextSharp.text.pdf.PdfContentByte contentByte,
BaseLine line, BaseLine line,
IBaseStyleDecorator style, IBaseStyleDecorator style,
iTextSharp.text.Rectangle rectangle) iTextSharp.text.Rectangle rectangle)
{ {
if (contentByte == null) { if (contentByte == null) {
throw new ArgumentNullException("contentByte"); throw new ArgumentNullException("contentByte");
} }
if (style == null) { if (style == null) {
throw new ArgumentNullException("style"); throw new ArgumentNullException("style");
} }
@ -59,21 +83,19 @@ namespace ICSharpCode.Reports.Core {
throw new ArgumentNullException("rectangle"); throw new ArgumentNullException("rectangle");
} }
if ((line == null)||(line.Thickness < 1)) { if (line == null) {
BaseShape.FillBackGround(contentByte,style,rectangle); BaseShape.FillBackGround(contentByte,style,rectangle);
} }
else if ((style.BackColor == GlobalValues.DefaultBackColor)) { else
{
BaseShape.SetupShape(contentByte,style); BaseShape.SetupShape(contentByte,style);
contentByte.SetLineWidth(UnitConverter.FromPixel(line.Thickness).Point); contentByte.SetLineWidth(UnitConverter.FromPixel(line.Thickness).Point);
contentByte.MoveTo(rectangle.Left ,rectangle.Top ); contentByte.RoundRectangle(rectangle.Left, rectangle.Bottom, rectangle.Width, rectangle.Height, CornerRadius);
contentByte.LineTo(rectangle.Left, rectangle.Top - rectangle.Height);
contentByte.LineTo(rectangle.Left + rectangle.Width, rectangle.Top - rectangle.Height);
contentByte.LineTo(rectangle.Left + rectangle.Width, rectangle.Top);
contentByte.LineTo(rectangle.Left, rectangle.Top);
BaseShape.FinishShape(contentByte); BaseShape.FinishShape(contentByte);
} else {
BaseShape.FillBackGround(contentByte,style,rectangle);
} }
} }
public int CornerRadius {get;set;}
} }
} }

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/AggregateFunctionsFixture.cs

@ -15,7 +15,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests
{ {
[TestFixture] [TestFixture]
[SetCulture("de-DE")] // [SetCulture("de-DE")]
public class AggregateFunctionsFromTableFixture public class AggregateFunctionsFromTableFixture
{ {
@ -100,6 +100,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests
public void Can_Sum_Double () public void Can_Sum_Double ()
{ {
const string expression = "=sum(amount)"; const string expression = "=sum(amount)";
//var s = this.evaluator.Evaluate(expression);
Assert.That(this.evaluator.Evaluate(expression), Assert.That(this.evaluator.Evaluate(expression),
Is.EqualTo(this.doubleResult.ToString())); Is.EqualTo(this.doubleResult.ToString()));
} }
@ -112,6 +113,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests
public void Can_Look_For_MaxValue() public void Can_Look_For_MaxValue()
{ {
const string expression = "=max(amount)"; const string expression = "=max(amount)";
//var s = this.evaluator.Evaluate(expression);
Assert.That(this.evaluator.Evaluate(expression), Assert.That(this.evaluator.Evaluate(expression),
Is.EqualTo("400,5")); Is.EqualTo("400,5"));
} }

8
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/CodeCompletion/CompletionWindowBase.cs

@ -159,6 +159,11 @@ namespace ICSharpCode.AvalonEdit.CodeCompletion
void TextViewScrollOffsetChanged(object sender, EventArgs e) void TextViewScrollOffsetChanged(object sender, EventArgs e)
{ {
// Workaround for crash #1580 (reproduction steps unknown):
// NullReferenceException in System.Windows.Window.CreateSourceWindow()
if (!sourceIsInitialized)
return;
IScrollInfo scrollInfo = this.TextArea.TextView; IScrollInfo scrollInfo = this.TextArea.TextView;
Rect visibleRect = new Rect(scrollInfo.HorizontalOffset, scrollInfo.VerticalOffset, scrollInfo.ViewportWidth, scrollInfo.ViewportHeight); Rect visibleRect = new Rect(scrollInfo.HorizontalOffset, scrollInfo.VerticalOffset, scrollInfo.ViewportWidth, scrollInfo.ViewportHeight);
// close completion window when the user scrolls so far that the anchor position is leaving the visible area // close completion window when the user scrolls so far that the anchor position is leaving the visible area
@ -257,6 +262,8 @@ namespace ICSharpCode.AvalonEdit.CodeCompletion
} }
} }
bool sourceIsInitialized;
/// <inheritdoc/> /// <inheritdoc/>
protected override void OnSourceInitialized(EventArgs e) protected override void OnSourceInitialized(EventArgs e)
{ {
@ -267,6 +274,7 @@ namespace ICSharpCode.AvalonEdit.CodeCompletion
} else { } else {
SetPosition(this.TextArea.Caret.Position); SetPosition(this.TextArea.Caret.Position);
} }
sourceIsInitialized = true;
} }
/// <inheritdoc/> /// <inheritdoc/>

2
src/Main/Base/Project/Src/Gui/Components/ExtTreeView/ExtTreeNode.cs

@ -217,7 +217,7 @@ namespace ICSharpCode.SharpDevelop.Gui
isDisposed = true; isDisposed = true;
foreach (TreeNode node in Nodes) { foreach (TreeNode node in Nodes) {
if (node is IDisposable) { if (node is IDisposable) {
((ExtTreeNode)node).Dispose(); ((IDisposable)node).Dispose();
} }
} }
} }

2
src/Main/Base/Project/Src/Internal/Doozers/OptionPanelDoozer.cs

@ -18,7 +18,7 @@ namespace ICSharpCode.SharpDevelop
/// <attribute name="label" use="required"> /// <attribute name="label" use="required">
/// Caption of the dialog panel. /// Caption of the dialog panel.
/// </attribute> /// </attribute>
/// <children childTypes="IOptionPanel"> /// <children childTypes="OptionPanel">
/// In the SharpDevelop options, option pages can have subpages by specifying them /// In the SharpDevelop options, option pages can have subpages by specifying them
/// as children in the AddInTree. /// as children in the AddInTree.
/// </children> /// </children>

7
src/Main/Base/Project/Src/Services/Tasks/ErrorPainter.cs

@ -1,9 +1,10 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) // 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) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using ICSharpCode.Core;
using System; using System;
using System.Windows.Media; using System.Windows.Media;
using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Debugging; using ICSharpCode.SharpDevelop.Debugging;
using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Editor;
@ -132,7 +133,9 @@ namespace ICSharpCode.SharpDevelop
if (task.Line >= 1 && task.Line <= textEditor.Document.TotalNumberOfLines) { if (task.Line >= 1 && task.Line <= textEditor.Document.TotalNumberOfLines) {
LoggingService.Debug(task.ToString()); LoggingService.Debug(task.ToString());
int offset = textEditor.Document.PositionToOffset(task.Line, task.Column); int offset = textEditor.Document.PositionToOffset(task.Line, task.Column);
int length = textEditor.Document.GetWordAt(offset).Length; int endOffset = TextUtilities.GetNextCaretPosition(DocumentUtilitites.GetTextSource(textEditor.Document), offset, System.Windows.Documents.LogicalDirection.Forward, CaretPositioningMode.WordBorderOrSymbol);
if (endOffset < 0) endOffset = textEditor.Document.TextLength;
int length = endOffset - offset;
if (length < 2) { if (length < 2) {
// marker should be at least 2 characters long, but take care that we don't make // marker should be at least 2 characters long, but take care that we don't make

26
src/Main/Base/Test/CancelLongRunningAppTestFixture.cs

@ -4,8 +4,10 @@
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using NUnit.Framework; using System.Threading;
using ICSharpCode.SharpDevelop.Util; using ICSharpCode.SharpDevelop.Util;
using NUnit.Framework;
namespace ICSharpCode.SharpDevelop.Tests namespace ICSharpCode.SharpDevelop.Tests
{ {
@ -13,6 +15,28 @@ namespace ICSharpCode.SharpDevelop.Tests
//[Ignore("Ignoring since need to run ConsoleApp.exe")] //[Ignore("Ignoring since need to run ConsoleApp.exe")]
public class CancelLongRunningAppTestFixture : ConsoleAppTestFixtureBase public class CancelLongRunningAppTestFixture : ConsoleAppTestFixtureBase
{ {
Mutex mutex;
[TestFixtureSetUp]
public void FixtureSetUp()
{
// Avoid test failure on build server when unit tests for several branches are run concurrently.
bool createdNew;
mutex = new Mutex(true, "CancelLongRunningAppTestFixture", out createdNew);
if (!createdNew) {
if (!mutex.WaitOne(10000)) {
throw new Exception("Could not acquire mutex");
}
}
}
[TestFixtureTearDown]
public void FixtureTearDown()
{
mutex.ReleaseMutex();
mutex.Dispose();
}
ProcessRunner runner; ProcessRunner runner;
[SetUp] [SetUp]

8
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/DefaultProjectContent.cs

@ -711,11 +711,13 @@ namespace ICSharpCode.SharpDevelop.Dom
} }
} }
} }
lock (namespaces) {
Dictionary<string, NamespaceStruct> dict = GetNamespaces(language); Dictionary<string, NamespaceStruct> dict = GetNamespaces(language);
foreach (var namespaceStruct in dict.Values) { foreach (var namespaceStruct in dict.Values) {
AddNamespaceStructContents(list, namespaceStruct, language, lookInReferences); AddNamespaceStructContents(list, namespaceStruct, language, lookInReferences);
} }
} }
}
/// <summary> /// <summary>
/// Adds the contents of the specified <paramref name="nameSpace"/> to the <paramref name="list"/>. /// Adds the contents of the specified <paramref name="nameSpace"/> to the <paramref name="list"/>.
@ -735,12 +737,14 @@ namespace ICSharpCode.SharpDevelop.Dom
} }
} }
lock (namespaces) {
Dictionary<string, NamespaceStruct> dict = GetNamespaces(language); Dictionary<string, NamespaceStruct> dict = GetNamespaces(language);
if (dict.ContainsKey(nameSpace)) { if (dict.ContainsKey(nameSpace)) {
NamespaceStruct ns = dict[nameSpace]; NamespaceStruct ns = dict[nameSpace];
AddNamespaceStructContents(list, ns, language, lookInReferences); AddNamespaceStructContents(list, ns, language, lookInReferences);
} }
} }
}
void AddNamespaceStructContents(List<ICompletionEntry> list, NamespaceStruct ns, LanguageProperties language, bool lookInReferences) void AddNamespaceStructContents(List<ICompletionEntry> list, NamespaceStruct ns, LanguageProperties language, bool lookInReferences)
{ {
@ -812,8 +816,10 @@ namespace ICSharpCode.SharpDevelop.Dom
} }
} }
lock (namespaces) {
return GetNamespaces(language).ContainsKey(name); return GetNamespaces(language).ContainsKey(name);
} }
}
bool MatchesRequest(SearchTypeRequest request, ref SearchTypeResult result) bool MatchesRequest(SearchTypeRequest request, ref SearchTypeResult result)
{ {
@ -900,7 +906,7 @@ namespace ICSharpCode.SharpDevelop.Dom
} }
if (defaultImports != null) { if (defaultImports != null) {
if (SearchTypeInUsing(defaultImports, request, ref result)); if (SearchTypeInUsing(defaultImports, request, ref result))
return result; return result;
} }
return result; return result;

11
src/Tools/BuildAddinDocumentation/MainClass.cs

@ -10,6 +10,7 @@ using System.Diagnostics;
using System.IO; using System.IO;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Xml; using System.Xml;
using System.Xml.Schema;
namespace BuildAddinDocumentation namespace BuildAddinDocumentation
{ {
@ -71,6 +72,13 @@ namespace BuildAddinDocumentation
XmlDocument doc = new XmlDocument(); XmlDocument doc = new XmlDocument();
doc.Load(Path.Combine(srcDir, "..\\data\\schemas\\Addin.xsd")); doc.Load(Path.Combine(srcDir, "..\\data\\schemas\\Addin.xsd"));
UpdateSchema(doc, doozers, conditions); UpdateSchema(doc, doozers, conditions);
// Test the schema
int errors = 0;
ValidationEventHandler validation = (sender, e) => { Debug.WriteLine(e.Message); errors++; };
XmlSchema.Read(new XmlNodeReader(doc.DocumentElement), validation).Compile(validation);
if (errors == 0) {
// save only if correct
using (XmlTextWriter writer = new XmlTextWriter(Path.Combine(srcDir, "..\\data\\schemas\\Addin.xsd"), System.Text.Encoding.UTF8)) { using (XmlTextWriter writer = new XmlTextWriter(Path.Combine(srcDir, "..\\data\\schemas\\Addin.xsd"), System.Text.Encoding.UTF8)) {
writer.Formatting = Formatting.Indented; writer.Formatting = Formatting.Indented;
writer.IndentChar = '\t'; writer.IndentChar = '\t';
@ -78,6 +86,9 @@ namespace BuildAddinDocumentation
doc.Save(writer); doc.Save(writer);
} }
Debug.WriteLine("Finished"); Debug.WriteLine("Finished");
} else {
Debug.WriteLine("Finished (with errors)");
}
} }
static void RecursiveInsertDoozerList(XmlElement e, List<XmlElement> doozers, List<XmlElement> conditionList) static void RecursiveInsertDoozerList(XmlElement e, List<XmlElement> doozers, List<XmlElement> conditionList)

Loading…
Cancel
Save