From 9e49517949cdc78cb03ef8638badb5155cb335cd Mon Sep 17 00:00:00 2001 From: Bill Henning Date: Thu, 22 Feb 2024 13:58:57 -0500 Subject: [PATCH] Updates for v24.1.0. --- .github/workflows/integration-build.yml | 4 +- Build/Build.csproj | 2 +- Documentation/api-filter.yml | 14 + Documentation/docfx.json | 25 +- .../topics/bars/extensible-rendering.md | 25 +- .../bars/images/bar-controls-custom-red.gif | Bin 22244 -> 0 bytes .../bars/images/bar-controls-custom-tan.gif | Bin 21730 -> 0 bytes .../images/bar-controls-office-2003-blue.gif | Bin 11716 -> 0 bytes .../bar-controls-office-2003-olive-green.gif | Bin 12390 -> 0 bytes .../bar-controls-office-2003-royale.gif | Bin 11681 -> 0 bytes .../bar-controls-office-2003-royale.png | Bin 7254 -> 0 bytes .../bar-controls-office-2003-silver.gif | Bin 11784 -> 0 bytes .../bar-controls-visual-studio-2002.gif | Bin 9678 -> 0 bytes .../bar-controls-visual-studio-2005.gif | Bin 11681 -> 0 bytes .../images/bar-controls-windows-classic.gif | Bin 11392 -> 0 bytes ...esign-time-customize-form-commands-tab.gif | Bin 24889 -> 0 bytes ...stomize-form-selected-command-link-tab.gif | Bin 18746 -> 0 bytes ...esign-time-customize-form-toolbars-tab.gif | Bin 21787 -> 0 bytes .../bar-design-time-new-command-form.gif | Bin 7792 -> 0 bytes .../bars/images/bar-keyboard-shortcuts.gif | Bin 15275 -> 0 bytes .../images/bar-run-time-customize-form.gif | Bin 17662 -> 0 bytes .../topics/bars/images/bar-test-app.gif | Bin 24290 -> 0 bytes .../topics/bars/images/bar-test-app2.gif | Bin 28202 -> 0 bytes Documentation/topics/bars/index.md | 2 +- .../topics/conversion/converting-to-v23-1.md | 2 +- .../topics/conversion/converting-to-v24-1.md | 165 +++++ Documentation/topics/conversion/index.md | 2 + .../topics/docking/extensible-rendering.md | 34 +- Documentation/topics/docking/index.md | 2 +- .../docking/tabstrip/extensible-rendering.md | 27 +- Documentation/topics/licensing.md | 76 ++- .../topics/navigation/extensible-rendering.md | 18 +- .../images/navigationbar-xp-royale.png | Bin 7189 -> 0 bytes Documentation/topics/navigation/index.md | 2 +- Documentation/topics/quick-starts.md | 45 +- Documentation/topics/recent-updates.md | 6 + .../topics/shared/global-renderers.md | 12 +- .../topics/supported-technologies.md | 7 +- .../dotnet-languages-addon/csharp/index.md | 2 +- .../topics/syntaxeditor/free-languages.md | 2 +- ...language-designer-classification-types.png | Bin 78327 -> 77675 bytes .../language-creation/loading-lang-def.md | 26 +- .../language-designer-tool/live-test.md | 7 +- .../other-config-panes.md | 20 +- .../editor-view/current-line-highlighting.md | 24 +- .../user-interface/editor-view/index.md | 2 +- .../intelliprompt/image-source-providers.md | 5 + .../user-interface/styles/dark-themes.md | 453 +++++++++++++ .../styles/highlighting-style-registries.md | 101 ++- .../user-interface/styles/index.md | 8 + Documentation/topics/toc.yml | 6 + Documentation/topics/troubleshooting.md | 25 + .../topics/visual-studio-designer.md | 4 +- License.md | 2 +- Readme.md | 3 +- .../ActiproSoftware.References.props | 22 + .../Demo/Features/MainForm.Designer.cs | 90 ++- .../BarsSamples/Demo/Features/MainForm.cs | 164 ++--- .../BarsSamples/Demo/Features/MainForm.resx | 612 +++++++++++++----- .../Demo/DockingFeatures/MainForm.Designer.cs | 38 +- .../Demo/DockingFeatures/MainForm.cs | 53 +- .../TabStripFeatures/MainControl.Designer.cs | 18 +- .../Demo/TabStripFeatures/MainControl.cs | 32 +- .../Demo/Features/MainControl.Designer.cs | 2 +- .../Demo/Features/MainControl.cs | 90 ++- .../Common/SyntaxEditorHelper.cs | 73 +-- .../PythonAddonPythonEditor/MainControl.cs | 1 + .../SdiCodeEditor/MainControl.Designer.cs | 21 +- .../Demo/SdiCodeEditor/MainControl.cs | 20 +- .../Languages/Definitions/Assembly.langdef | 71 +- .../Languages/Definitions/BatchFile.langdef | 62 +- .../Languages/Definitions/C.langdef | 181 +++--- .../Languages/Definitions/CSharp.langdef | 27 +- .../Languages/Definitions/Cpp.langdef | 181 +++--- .../Languages/Definitions/Css.langdef | 72 +-- .../Definitions/CustomFormula.langdef | 25 +- .../Languages/Definitions/Ebnf.langdef | 20 +- .../Languages/Definitions/Html.langdef | 114 ++-- .../Languages/Definitions/IniFile.langdef | 56 +- .../Languages/Definitions/Java.langdef | 103 +-- .../Languages/Definitions/JavaScript.langdef | 95 +-- .../Languages/Definitions/Lua.langdef | 121 ++-- .../Languages/Definitions/Markdown.langdef | 82 +-- .../Languages/Definitions/Msil.langdef | 87 +-- .../Languages/Definitions/Pascal.langdef | 61 +- .../Languages/Definitions/Perl.langdef | 78 +-- .../Languages/Definitions/Php.langdef | 18 +- .../Languages/Definitions/PowerShell.langdef | 87 +-- .../Languages/Definitions/Python.langdef | 111 ++-- .../Languages/Definitions/Rtf.langdef | 20 +- .../Languages/Definitions/Ruby.langdef | 29 +- .../Definitions/Simple-Advanced.langdef | 8 +- .../Definitions/Simple-Basic.langdef | 11 +- .../Languages/Definitions/Sql.langdef | 92 +-- .../Languages/Definitions/VB.langdef | 21 +- .../Languages/Definitions/VBScript.langdef | 85 +-- .../Languages/Definitions/Xaml.langdef | 24 +- .../Languages/Definitions/Xml.langdef | 22 +- .../Languages/Projects/Assembly.langproj | 15 +- .../Languages/Projects/BatchFile.langproj | 14 +- .../Languages/Projects/C.langproj | 19 +- .../Languages/Projects/CSharp.langproj | 27 +- .../Languages/Projects/Cpp.langproj | 19 +- .../Languages/Projects/Css.langproj | 12 +- .../Languages/Projects/CustomFormula.langproj | 13 +- .../Languages/Projects/Html.langproj | 22 +- .../Languages/Projects/IniFile.langproj | 12 +- .../Languages/Projects/Java.langproj | 17 +- .../Languages/Projects/JavaScript.langproj | 13 +- .../Languages/Projects/Lua.langproj | 21 +- .../Languages/Projects/Markdown.langproj | 28 +- .../Languages/Projects/Msil.langproj | 15 +- .../Languages/Projects/Pascal.langproj | 13 +- .../Languages/Projects/Perl.langproj | 12 +- .../Languages/Projects/Php.langproj | 18 +- .../Languages/Projects/PowerShell.langproj | 19 +- .../Languages/Projects/Python.langproj | 15 +- .../Languages/Projects/Rtf.langproj | 10 +- .../Languages/Projects/Ruby.langproj | 19 +- .../Projects/Simple-Advanced.langproj | 8 +- .../Languages/Projects/Simple-Basic.langproj | 11 +- .../Languages/Projects/Sql.langproj | 22 +- .../Languages/Projects/VB.langproj | 21 +- .../Languages/Projects/VBScript.langproj | 23 +- .../Languages/Projects/Xaml.langproj | 24 +- .../Languages/Projects/Xml.langproj | 22 +- .../MainControl.Designer.cs | 16 +- .../CurrentLineHighlighting/MainControl.cs | 22 +- .../CurrentLineHighlighting/MainControl.resx | 15 +- .../ISimpleClassificationTypeProvider.g.cs | 2 +- .../SimpleClassificationTypeProvider.g.cs | 2 +- .../SimpleExampleTextProvider.g.cs | 2 +- .../GettingStarted03b/SimpleLexer.g.cs | 2 +- .../SimpleLexicalStateId.g.cs | 2 +- .../SimpleSyntaxLanguage.g.cs | 2 +- .../GettingStarted03b/SimpleTokenId.g.cs | 2 +- .../GettingStarted03b/SimpleTokenTagger.g.cs | 2 +- .../SimpleTokenTaggerProvider.g.cs | 2 +- .../SimpleTokenTaggerProvider.cs | 2 +- .../Ast/AssignmentStatement.g.cs | 2 +- .../Ast/BinaryOperatorExpression.g.cs | 2 +- .../GettingStarted04d/Ast/BlockStatement.g.cs | 2 +- .../Ast/CompilationUnit.g.cs | 2 +- .../GettingStarted04d/Ast/Expression.g.cs | 2 +- .../Ast/FunctionAccessExpression.g.cs | 2 +- .../Ast/FunctionDeclaration.g.cs | 2 +- .../Ast/LiteralExpression.g.cs | 2 +- .../Ast/ParenthesizedExpression.g.cs | 2 +- .../Ast/ReturnStatement.g.cs | 2 +- .../Ast/SimpleAstNodeId.g.cs | 2 +- .../GettingStarted04d/Ast/SimpleName.g.cs | 2 +- .../GettingStarted04d/Ast/Statement.g.cs | 2 +- .../Ast/VariableDeclarationStatement.g.cs | 2 +- .../GoToLineOverlay/GoToLineOverlayPane.cs | 7 +- .../PrintingOptions/MainControl.Designer.cs | 1 + .../SampleBrowser/Properties/AssemblyInfo.cs | 6 +- .../SampleBrowser/Properties/licenses.licx | 2 +- Samples/SampleBrowser/SampleBrowser.csproj | 23 +- .../Documents/ReleaseHistory.html | 135 +++- .../SampleBrowser/Models/ProductData.xml | 4 +- .../SampleBrowser/SampleBrowser/RootForm.cs | 2 +- 161 files changed, 3225 insertions(+), 1900 deletions(-) delete mode 100644 Documentation/topics/bars/images/bar-controls-custom-red.gif delete mode 100644 Documentation/topics/bars/images/bar-controls-custom-tan.gif delete mode 100644 Documentation/topics/bars/images/bar-controls-office-2003-blue.gif delete mode 100644 Documentation/topics/bars/images/bar-controls-office-2003-olive-green.gif delete mode 100644 Documentation/topics/bars/images/bar-controls-office-2003-royale.gif delete mode 100644 Documentation/topics/bars/images/bar-controls-office-2003-royale.png delete mode 100644 Documentation/topics/bars/images/bar-controls-office-2003-silver.gif delete mode 100644 Documentation/topics/bars/images/bar-controls-visual-studio-2002.gif delete mode 100644 Documentation/topics/bars/images/bar-controls-visual-studio-2005.gif delete mode 100644 Documentation/topics/bars/images/bar-controls-windows-classic.gif delete mode 100644 Documentation/topics/bars/images/bar-design-time-customize-form-commands-tab.gif delete mode 100644 Documentation/topics/bars/images/bar-design-time-customize-form-selected-command-link-tab.gif delete mode 100644 Documentation/topics/bars/images/bar-design-time-customize-form-toolbars-tab.gif delete mode 100644 Documentation/topics/bars/images/bar-design-time-new-command-form.gif delete mode 100644 Documentation/topics/bars/images/bar-keyboard-shortcuts.gif delete mode 100644 Documentation/topics/bars/images/bar-run-time-customize-form.gif delete mode 100644 Documentation/topics/bars/images/bar-test-app.gif delete mode 100644 Documentation/topics/bars/images/bar-test-app2.gif create mode 100644 Documentation/topics/conversion/converting-to-v24-1.md delete mode 100644 Documentation/topics/navigation/images/navigationbar-xp-royale.png create mode 100644 Documentation/topics/syntaxeditor/user-interface/styles/dark-themes.md create mode 100644 Documentation/topics/troubleshooting.md create mode 100644 Samples/SampleBrowser/ActiproSoftware.References.props diff --git a/.github/workflows/integration-build.yml b/.github/workflows/integration-build.yml index df98b25..1c8e535 100644 --- a/.github/workflows/integration-build.yml +++ b/.github/workflows/integration-build.yml @@ -18,13 +18,13 @@ jobs: env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} - LICENSEKEY: ${{ secrets.ACTIPRO_CONTROLS_WINFORMS_V23_1_LICENSEKEY }} + LICENSEKEY: ${{ secrets.ACTIPRO_CONTROLS_WINFORMS_V24_1_LICENSEKEY }} steps: - name: Cancel duplicate runs uses: fkirc/skip-duplicate-actions@v5 - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Run build project diff --git a/Build/Build.csproj b/Build/Build.csproj index a6882d2..28bf2d6 100644 --- a/Build/Build.csproj +++ b/Build/Build.csproj @@ -16,7 +16,7 @@ ActiproSoftware.Tools.Builds Actipro Software LLC Actipro Software LLC - Copyright (c) 2020-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2020-2024 Actipro Software LLC. All rights reserved. false diff --git a/Documentation/api-filter.yml b/Documentation/api-filter.yml index 0ea18a5..f1f4751 100644 --- a/Documentation/api-filter.yml +++ b/Documentation/api-filter.yml @@ -1,5 +1,19 @@ apiRules: +# Exclude Obsolete in Actipro namespaces +- exclude: + uidRegex: ^ActiproSoftware\. + hasAttribute: + uid: System.ObsoleteAttribute + +# Include EditorBrowsableState.Never in Actipro namespaces (excluded by default) +- include: + uidRegex: ^ActiproSoftware\. + hasAttribute: + uid: System.ComponentModel.EditorBrowsableAttribute + ctorArguments: + - System.ComponentModel.EditorBrowsableState.Never + # Exclude compatibility and core product code - exclude: uidRegex: ^ActiproSoftware\.Compatibility$ diff --git a/Documentation/docfx.json b/Documentation/docfx.json index 97a85f0..1630e5b 100644 --- a/Documentation/docfx.json +++ b/Documentation/docfx.json @@ -5,24 +5,8 @@ { "src": "../../Deploy/Build/AssembliesDocFX", "files": [ - "ActiproSoftware.Shared.WinForms.dll", - "ActiproSoftware.Bars.WinForms.dll", - "ActiproSoftware.Docking.WinForms.dll", - "ActiproSoftware.Navigation.WinForms.dll", - "ActiproSoftware.SyntaxEditor.Addons.DotNet.WinForms.dll", - "ActiproSoftware.SyntaxEditor.Addons.JavaScript.WinForms.dll", - "ActiproSoftware.SyntaxEditor.Addons.Python.WinForms.dll", - "ActiproSoftware.SyntaxEditor.Addons.Xml.WinForms.dll", - "ActiproSoftware.SyntaxEditor.WinForms.dll", - "ActiproSoftware.Text.Addons.DotNet.WinForms.dll", - "ActiproSoftware.Text.Addons.DotNet.Roslyn.WinForms.dll", - "ActiproSoftware.Text.Addons.JavaScript.WinForms.dll", - "ActiproSoftware.Text.Addons.Python.WinForms.dll", - "ActiproSoftware.Text.Addons.Xml.WinForms.dll", - "ActiproSoftware.Text.LLParser.WinForms.dll", - "ActiproSoftware.Text.WinForms.dll", - "ActiproSoftware.Wizard.WinForms.dll" - // "**.csproj" + // Actipro assemblies + "ActiproSoftware.*.dll" ] } ], @@ -36,6 +20,7 @@ "src": "topics", "files": [ "**.md", + "api/ActiproSoftware.yml", "api/ActiproSoftware.*.yml", "api/toc.yml", "toc.yml" @@ -68,10 +53,10 @@ "_appTitle": "Actipro WinForms Controls Docs", "_docsCompanyHref": "https://www.actiprosoftware.com/products/controls/windowsforms", "_docsCompanyName": "Actipro Software LLC", - "_docsCopyrightYears": "1999-2023", + "_docsCopyrightYears": "1999-2024", "_docsProductHref": "https://www.actiprosoftware.com/products/controls/windowsforms", "_docsProductName": "WinForms Controls", - "_docsProductVersion": "23.1", + "_docsProductVersion": "24.1", "_disableContribution": true, "_enableNewTab": true, "_gitContribute": { diff --git a/Documentation/topics/bars/extensible-rendering.md b/Documentation/topics/bars/extensible-rendering.md index b514f34..e846921 100644 --- a/Documentation/topics/bars/extensible-rendering.md +++ b/Documentation/topics/bars/extensible-rendering.md @@ -9,39 +9,40 @@ All the bar controls use an extensible rendering model that is based on our comm This object model allows for three levels of rendering customization. Choose which level of customization you wish to use: -- Use Built-In Renderers As-Is - Use the built-in rendering styles without any changes, which include all Visual Studio and Office styles. +- Use Built-In Renderers As-Is - Use the built-in rendering styles without any changes, which include several Metro, Visual Studio, and Office styles. - Modify Properties on Built-In Renderers - Use the built-in renderers but modify the various properties on the renderers to easily create a customized appearance. - Create Custom Renderers - Implement the [IBarRenderer](xref:@ActiproUIRoot.Controls.Bars.IBarRenderer) or [IStatusBarRenderer](xref:@ActiproUIRoot.Controls.Bars.IStatusBarRenderer) interfaces or inherit our [BarRenderer](xref:@ActiproUIRoot.Controls.Bars.BarRenderer) or [StatusBarRenderer](xref:@ActiproUIRoot.Controls.Bars.StatusBarRenderer) classes to do all the measuring and drawing of the controls and their elements yourself. These are some sample rendering styles that come with [BarManager](xref:@ActiproUIRoot.Controls.Bars.BarManager) and [StatusBar](xref:@ActiproUIRoot.Controls.Bars.StatusBar): -![Screenshot](images/bar-controls-metro-light.png)![Screenshot](images/bar-controls-office-2007-blue.png)![Screenshot](images/bar-controls-office-2007-silver.png)![Screenshot](images/bar-controls-office-2007-black.png)![Screenshot](images/bar-controls-office-2003-blue.png)![Screenshot](images/bar-controls-office-2003-olive-green.png)![Screenshot](images/bar-controls-office-2003-silver.png)![Screenshot](images/bar-controls-office-2003-royale.png)![Screenshot](images/bar-controls-windows-classic.png)![Screenshot](images/bar-controls-visual-studio-2002.png)![Screenshot](images/bar-controls-visual-studio-2005.png) +![Screenshot](images/bar-controls-metro-light.png)![Screenshot](images/bar-controls-office-2007-blue.png)![Screenshot](images/bar-controls-office-2007-silver.png)![Screenshot](images/bar-controls-office-2007-black.png)![Screenshot](images/bar-controls-office-2003-blue.png)![Screenshot](images/bar-controls-office-2003-olive-green.png)![Screenshot](images/bar-controls-office-2003-silver.png)![Screenshot](images/bar-controls-windows-classic.png)![Screenshot](images/bar-controls-visual-studio-2002.png)![Screenshot](images/bar-controls-visual-studio-2005.png) ## Use Built-In Renderers As-Is -Bars includes these built-in renderers, which support Metro Light, Metro Dark, Office, and Visual Studio styles: +Bars includes these built-in renderers, which support Metro, Visual Studio, Office, and other classic styles: | Renderer | Description | |-----|-----| | [MetroBarRenderer](xref:@ActiproUIRoot.Controls.Bars.MetroBarRenderer) | Capable of drawing Metro styles (Light and Dark) for bar controls. To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Bars.MetroBarRenderer.BaseColorSchemeType). | | [MetroStatusBarRenderer](xref:@ActiproUIRoot.Controls.Bars.MetroStatusBarRenderer) | Capable of drawing Metro styles (Light and Dark) for statusbar controls. To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Bars.MetroStatusBarRenderer.BaseColorSchemeType). | -| [Office2003BarRenderer](xref:@ActiproUIRoot.Controls.Bars.Office2003BarRenderer) | Capable of drawing all Office 2007 styles (Blue, Silver, Black), Office 2003 styles (Blue, Olive, Silver, Royale, and Windows Classic), as well as the Visual Studio 2005 style for bar controls. To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Bars.Office2003BarRenderer.BaseColorSchemeType). | -| [Office2003StatusBarRenderer](xref:@ActiproUIRoot.Controls.Bars.Office2003StatusBarRenderer) | Capable of drawing all Office styles for statusbar controls. | -| [VisualStudio2002BarRenderer](xref:@ActiproUIRoot.Controls.Bars.VisualStudio2002BarRenderer) | Capable of drawing Visual Studio 2002 bar controls. | -| [VisualStudio2002StatusBarRenderer](xref:@ActiproUIRoot.Controls.Bars.VisualStudio2002StatusBarRenderer) | Capable of drawing Visual Studio 2002 statusbar controls. | -| [VisualStudio2005StatusBarRenderer](xref:@ActiproUIRoot.Controls.Bars.VisualStudio2005StatusBarRenderer) | Capable of drawing Visual Studio 2005 statusbar controls. | +| [OfficeClassicBarRenderer](xref:@ActiproUIRoot.Controls.Bars.OfficeClassicBarRenderer) | Capable of drawing all Office classic styles (Blue, Silver, Black), Luna styles (Blue, Olive Green, Silver), and Windows Classic, as well as the Visual Studio classic style for bar controls. To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Bars.OfficeClassicBarRenderer.BaseColorSchemeType). | +| [OfficeClassicStatusBarRenderer](xref:@ActiproUIRoot.Controls.Bars.OfficeClassicStatusBarRenderer) | Capable of drawing all Office styles for statusbar controls. | +| [VisualStudioBarRenderer](xref:@ActiproUIRoot.Controls.Bars.VisualStudioBarRenderer) | Capable of drawing Visual Studio bar controls. | +| [VisualStudioClassicStatusBarRenderer](xref:@ActiproUIRoot.Controls.Bars.VisualStudioClassicStatusBarRenderer) | Capable of drawing Visual Studio classic statusbar controls. | +| [WindowsClassicBarRenderer](xref:@ActiproUIRoot.Controls.Bars.WindowsClassicBarRenderer) | Capable of drawing Windows classic bar controls. | +| [WindowsClassicStatusBarRenderer](xref:@ActiproUIRoot.Controls.Bars.WindowsClassicStatusBarRenderer) | Capable of drawing Windows classic statusbar controls. | ## Color Tinting Color Schemes -With one line of code, any `WindowsColorScheme` can be tinted so that all of the colors are altered. For instance, you can easily create a tan or red color scheme and then use those color schemes with the [Office2003BarRenderer](xref:@ActiproUIRoot.Controls.Bars.Office2003BarRenderer) class like this: +With one line of code, any `WindowsColorScheme` can be tinted so that all of the colors are altered. For instance, you can easily create a tan or red color scheme and then use those color schemes with the [OfficeClassicBarRenderer](xref:@ActiproUIRoot.Controls.Bars.OfficeClassicBarRenderer) class like this: ![Screenshot](images/bar-controls-custom-tan.png)![Screenshot](images/bar-controls-custom-red.png) -This code shows how to load a custom tan-tinted color scheme (displayed in the screenshot above) that is based on the built-in Windows XP blue theme: +This code shows how to load a custom tan-tinted color scheme (displayed in the screenshot above) that is based on the built-in Luna blue theme: ```csharp -WindowsColorScheme scheme = new WindowsColorScheme("Tan", WindowsColorSchemeType.WindowsXPBlue, Color.Tan); -barManager.Renderer = new Office2003BarRenderer(scheme); +var scheme = new WindowsColorScheme("Tan", WindowsColorSchemeType.LunaBlue, Color.Tan); +barManager.Renderer = new OfficeClassicBarRenderer(scheme); ``` ## Customizing Specific Colors in a Color Scheme diff --git a/Documentation/topics/bars/images/bar-controls-custom-red.gif b/Documentation/topics/bars/images/bar-controls-custom-red.gif deleted file mode 100644 index 227b893df0096e1cc2a8fb40089f73d8949c4815..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22244 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 DB<~xG diff --git a/Documentation/topics/bars/images/bar-controls-custom-tan.gif b/Documentation/topics/bars/images/bar-controls-custom-tan.gif deleted file mode 100644 index 2d1f7ad2a8887ac2e9827f7f756fd9f790c46162..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21730 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 JyS)Pf06SKk)dTd=dhb0z=q*50 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 Um*0Qy5fVileiqe>Z~{;N2i#tn<^TWy diff --git a/Documentation/topics/bars/images/bar-controls-office-2003-olive-green.gif b/Documentation/topics/bars/images/bar-controls-office-2003-olive-green.gif deleted file mode 100644 index c862109a3f924379db9af0eb64dbb78db7535d67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12390 zcmV-sFqzLsNk%w1VL1VW0QUd@V}M(kncLyuy7Kkf-QBTqZ)FEF*SpGC^?Cj>@u;uUX?5wDmC)6v;kum^U>wf?M0Al(Bbp7q}(&lYX?CR9t z+{#k``vI5v?(ErDh4xh3SLWr$@9y3L6NqY+_5oS->gdq2+NA&gnc&^fO8@}q<H>+NG1s(NiF*{{R30Nbvz3p|9xE0ZP>YL(cA`v9d(6z4w7_XpUo*tswcO^s+1l9vfPl*8$EV8h+19`}XPBU% zqie6$_xj?cXhpz!hzM2Oq_%;wva)BH%mXdLNV5FoxRU$ z^5&n-;*0=Q>)7M9<>lI2TU-9Yvf|>toag@k;m800{uXNP>FD6`@$UgW-9nJck3mvE zKzk%=^_j>1#N)h|sd6KD`Rwc89)|zy>e?A!<Eo=ln*(pz&FGu}8qUMSuMR&Q$jEii&4cdltR`UO z|G&Wy@UrvSq!?G^O~E!o*KM z60#%|L|V|O(({Vj%brcUw(Z-vbJPC7ySMM(z=I1PPQ1AB-7 zvSc@)Cqt3UVKNiX4M}X0MH1*NSniPjG*SAr`Sa+TH`l_xz5Dm@a+tN8W&SnJ0)A8+*pLw<@=%9oaYUrVeCaUP7j3#KqFgDl_0~3^1YQd$KTGER*OW2UmqmfQp zDW#ZZx@o5_+R(@YE41qB1uMY+dcmx;?w|*bYu2D6jdwIL!LPsuE9?X&HEQg!$R?}o zvdlKiES5no97vsjHi! z-7x_~rA^?(zWnZcZ%Kd#Ebzbt^Xcrt2q%0jw3qntEw$EKOX@8V{KKscel+}WxZ+mq z;y)`epvbu)ufXcMuU_E8KL)@Rixu;N*F-<};wy;0S2{r~Nd@=p^UpvBE%eYt5ByII z(S{nas7zc+@jnM1oixWxJ6*9(AfwBG$?d)xtI90LJFg^IBy_Jsq~VOg+H31vV4X$B zE%)4X*KN0*M`Nt?wWV7B4Rt?xJ8b5Zeq(JitBrunF0B73LhH(D?h(r#HN?_#O*9Yd z#6N7ez4J(hltU#bT=<+qI8y>)ry-1l5c)oNo<8Lmp%5K9>87Lpj}Wp?8N%H_Cm2Ww z%!WRt5QpYHZPl1sV#%c*mrHG=ga7lq1y_5JwaHYv8!MHMhb=kGlaoF31Sh1QzS^C; zO;YHJ=vs~{g^PXpkr$z0B)Ek`h zo@O|%t)P3~n-Z=6z$S?sy-Zh90Utp0}ap*ELees z0h|IK8aT59-OmnO#KImH*udN|fQzRCVL$i~4gP7+Pg+!9KYI7ZJmqmue>@N$#*hR8 z^2vn|lbEGsI74hz?1m6K+9DZgJxBhdhwK6$_=X5Mu~|+M3IPNYsX&D%Zmx3}kRn5F zFuy&VP7!;!Lm;RmgqV~A2#oj#5MmOOGg{#ehNu(ktkeiDm>?#nTSq7i!6HM<@_2^u zpC5e32j4|gchJn^4SMG~UV8JJ(d+^U!}&&XdZ2gv;AJlVK{{6M(h$|;T^FW_ziQ$S znY!y{IhH{G%VDN2nqj!$IKR10UCy$W_X|Nm-#N%6yaSxx{D%dWrpQdqaEBF(i9{oI zw5rX}dNs_R;@V}UAKDHza2<%Sl1f0R!5)rDiW&qW8lkvp z5=!9=14N{uRhURW7{P!D{7XE{JI1)nB?itr?)R=Mg`u*x%kYt?H5t-uJN z_Je_atzra(5m#_Nwt+egL^0=A14%#@sttXpTMe<%rH#r0nz(34|Dn-|T1%3aO06Y8 z`ZSsU`~y~9+oVZRno{y5u?Y})=@W+qEa=?81gwmoPl0NJ`^_#1$+f~e?(mL<1lFO) z%&z|cD8P0=L^}|fcGNq&2I(g3qM~9 z!vuSXuOf`v&^W61A9i3bg6CV`Rtlq`XPtsDj=RmcQY69?zUdgIU;qpsH?$a$C=)1J zDNQgz6Pj4YG9KZHia|uguT|uUQLBl6thmLjB`t0MvdeBBnVcALixDJb@CbC;bbSUf%1*;%mLXwrN9qw`j$Z7@SR@l#Ty}`O0+Kc3- z0KuVt@|_h8!ZW^m!S=ql0U{0RIgdHuqPBR2$twg*pQFo$7Il{^Ibtu#TE&n55JtsX z{k)Ph%^awnb;>h(16;cbh!@Z;5q}-*SV+RY&r$M{c{2fHx8dl@{(#WW4P_Jz9Kkop zr5zA`?y6UFAI@e3*2`fByCy*rH>mmzzF`3rynv9^oVwKG_;5SC1KuD+L1U-j*(<&> z87aU;*{ja?bI(=Y4gZG(<9LIHPP~|M-})8hj^4n#9o~w-yWXEYU=%=@5e>xl-<{6Z ztY@C_Q(zz$+6U-rN8^?b3t)5k@ zfatDG`e0>M__ZV`=kuFPN6AVjI+BwdecouhO3tW3)TgwB3JTZ&T0s5(m;b@;E{Kt@ zVXu1ccBlPycAo+5emsKL{|{$ap%=5 zS0#%Itmk?uRu9S0 z53`qomx6nPhK3(dhkeK!OGs8#z#DeRZzuqUg{X#XNQZX+*l!;|g?|_UR)7L* zs8g0W3U^QgRbYuIFo%}-h@@ZzYq)P-Xop^Sf+(nZ*K>QfcXF_o4BSC`D8P!CVkt4F zVlFs~O?F#7C@b#bV^n~A$+vtfl~mcr8_6*n#$k!aK^$>t9HZbH&UhRE$N*Ikjn7yd z*I0<#_>Ipvjlm&~!f_hUsExwWP}LY5|L_jIa0`9oJgM~vkKlqg-~oH^54_Qi@7O%3 zHA5?AkN8N7zUX5Hc~ZpqYeT3+hR|$Upp2ZsjGMt36xkaS`Hjip8y6`Y83~ab`5V{x z4jYLa;Mh9>0FEe`k}8RkqC-gQ2pqU@3+;dmw@{Nd=?OUh=?TIh4E?|$6~h}bIg>Vd zlR3GQJ&6Ss<7~sAG6%U^!?-dxP>js?b54eB9}tJjAR8;Wm0TGdo9F>u`5SylieXun zW_cWg2#LdC151Dk5%8998J9IeBN4y`HozNf>6URRmk}_Rb$OR4U;{gFe1ut;hDn$^ zU<2MN;H??Q4kFOQWNAkC_HhV=$W4Cxt{FVp6>ac z@EM=-IiK{2o=W5a_nDtMp`ZAc@kI;KQWre=DkXqu*IiUVxgrf&MCaQdb!FsF1{r*>MWUy!GI zx~DMEr+)gUfBFQ1I;ez7s5Ee>h?=M!u&9jx+Ng^P29O%5k_raDMm{b2qBEMQ3s4Q4 zs-vE|qYFR)p*pHUTBZN1) zt71w7Ga#(Qs;0(D1UP`K%9^Zk+N^IH1UPV~(u${hTCHCIsMzYKg}SYSnyB7N1CAQ5 z9WbfnTB((DshOIto%*TlDylsis-_yRs5-B#%BliDq_G;Si=d>oYOA@brMt?jy~?G) zTCl@Z}gSrqdd+U%&#^%BR_it=!73->RtM+Nk6@spe`qE}E`0+Nqq% zuAj=I@CvW-TB`N>viN$h`3kGE+OJgq`mX>humfwbze=nKtFUXjunhaK4$A`38nJg; zu@-x=fts;}y0M7bu^#)eks7k-Dx*k#{sbuP|$*_xh?c+obzSt2R5O zIE$qLJFs8Mvt;_SKpV6}OSEwctw)QrcuKKKd#y~{v`*WtPz$b7`>0e4sa89(SUaOJ zB~v=HwOs49UkkQlYp*hUwokgRYb&K~>$W=Et8yEx2s^BGYq!gaw{RK+M$5N$`nP!+ zxPm*lPf)mqd$@_KxRPM0j2oj9;JBM(C6Oz+lv}w$imIu4xnvu&n#-^J+PP8sxm&uW zaJvnoOS;8+x(mC#%&NN23bC&LOQ#bHyRxgTv@58#d$@?3xQmOaz6-pZ(>@a*x$dd~ zl~4>UYrH-xwnb{cY5=pY+Pt#LxzM`^(mTD?YrSB)0hQne2J5rgtG(Tux(qA^-pjgs z8@@`*z^qWdeR{s=i>MAT!X&J|$sW|zfm;5I;sIYK*BYE1`t3C5Ks*I`=c;S z!VWM9{aeG8pa%Zis?6J@_KOLNKn~E536+2e&s)Gadk8+j!w#Sd)f=Yv>%b38w`Dp5 z4D1FtpaEMT1w=pyTVM(e%)Jdu1YfMWdh5CsJf|F7tsLyZFaW}}E5cOVu_KJQBmA)` zjI~8(N-XR-o~i*iT%$1mN&xnY!})8xjXb1YP`0Arze762t(v(_s>FjJ07opVY74z> zy9R5J#i8q~3*5k448dng4qI>qL{I_{@CR(%z-+p#6kG`w?8dE&v>YtQmB0#g9L#o% z$BF6y$IQol3&n&X;E6qSH)Q>AuE^O3^45RkD)My~p1r5nT+@s)J$(2yfLY&n^yv|K33a*?3 z`TW<)jSdh09no>10dc^#{H)4ZybWT!)DA4hXbcNH5YWOpw-Icn8xRNeZPLYX(hOYA zZcxko?ccUc(pT`^reNQ3;HGe_%fMU<%6$NpaM7%w0%j})vkk(Bip+Yf(>vYFJ-ypk z`_n-UQ(1e+S)I*Tz0Ewj$d%j3{kzqFoz<93wq4DnqEH8!5C@(d-AzoZ1Rww<01VFH z4wR4ye?Z=COV?k#4J3`m4!q=PY}W-H--d0vt-J+j@CP_h0)xQV79HRZuFE*kRb4%MBnqVNC?P~`UO=tVxO8UPKd zU<4&l0E1xUINQ&Ay$E?-2vyw&ejVNEunmL&4N@TARPN9aAO$$^01z?!Tb3eM7%klA|5z;7Pmlik7D`UE(wu{W*fx9g}S+yNX8vK}7I zfj%t8hHQq8=r@YU_*7Roqs3pmIgGrYfAGs6%42V{&wuvOFa4~qy>`FGcaQzG4-hN_4kS46 z%Rz(*zrbMF(4oU85hYHXNWtKy}eotXZ}8;o8-!*KJ(4 zjU`KV##yv!)y^QomMsyuaplg1i=!?PyEydj<=eM!5WNKj7yQCPp~8oW8&YH}5#wVT z9VK@VS(&6slqz3tmN~OCPS7-aj@~KMbWo#9RV#feO6u#WSF38Jef8`AZLodH?q1vb zY+K-O=?;&ZH!ohl$^8alfn)G4y$o z-QKlR*s!h6u1y;^?y$OdoAup0IB@{+y307_3d8|0=b#g;FzFDYE-~vE!|o#Ow&M;Y z?=lNdJebHc4=40SQ_nP`igHi2*5Zo~EBflg>OTDR+i#ox*7{Gl0OvAJKm!eAE|>UjXW}(KQ(NL4rG&6c3Ebdb@o|kqm_1AYOA&OT5Pk;w%1IV8*Eo_!)-MrQ#Tyo zTy)b_cU^Ydb@yF(42y-5rF;`sSYZGbcKF_e=B}&VvOr87_)<`QQ_k>()f7fkKZu)WGN<)A{dfecKKzPE2toVJYZJgmHYPCoXrpb$`3<9`&}V2Bgob&7nm=a$Lk_63*81aLy53raiv4}= zYqHBWyXB4l+%OxqL;iw498#f=U`T;wVQNYCwgMq~sc5c&asIGGv+LWG0>G z4N!U`4(yXd4m){DRC00zIuPOzDUdyxH6WFlOu!Pkp}0tZ;2Y=Q1_w~tuvzBeA0Tj_ z(b&+vQqJ;*bQ^;{yJx0I_dT5h_|ClESpVLXYbyAX;C_^o_fDUb*vJCqSXh92l$qgMsp>9)XLl3dc zx1G+5iDuRH3%CTQ0xBhHmuIq7AdCKJuWCl7b)r9H>AZ zI3Utxj=^Xkz(pPkAkssy6sT{gKmmeLfHeSBp~9>i2ncvLZ@fXIvS5ZUp0NsE)Gn)8 zt-v*a%0aM#^*Ku2=OGI5&qHW{kq#JyB%Of4Kcsc7q`-t)G1%5hIH3mUuq#{Lx>u!E z6rnA-Mq#f(H^Uk>aiJ7tH@fjn2qf13u#Lo^WUrA?9h~6|*~{KDE6@PTUW24`GbtPN zK?-g-!?F#N?A4?YfY$~f9o;*s9A+EZYcTa6?~AA$Mu1z^;YMj^43bwFqb%MxrPSiuWUux{BWQ4oM2hYVJ5BPooH z5o{o{8CJvwI^5xoKA-|opzspkz&KEzqZ_E@MmH$jFb0S3dF&H`9J+U5Y{*y+S0wEl z3UG}J!x+bJuz?=*@H0I~0mljd4xdTqCeCl@0hDpLuq^TzkFN288Cy<30@%6aOf*2u zVIH%XpQB*6Ex50w$N@I`>VO)c0RnBN1q9Ggi8hxPzKx9YoZY-uILo=s47Tuv4_u8X zBsye?W^|$#8_GC17P5_|v;!#3=n-`IhaTlL1xkowfNEvqjUg_ zmIpZmKxRlxLBeYl)Hw%e*a8`%pzbJG;}h`K^PJypXM4*V z-tgA9y)SL)TpyazZo72PC%mFtiT9>J#tYSS(G17bhVe=?30={aRD&0 zk)_ZLYqu_|uJA_*12WWt2kKxn*P|fk{0_nz zB_Kt8$)0Gl8)NKc_cy~SeQ0as-5PY$yWZt6K1e%u2|4V0;SKM1MQmE)B`5(jsBw5} zaD!)wZ~z1nUVw9`xEqFVSl_7;fXUen1mz$B22{?DmLDGG|CmQjRaSvSJm3L`@BHEQ zkoP!5KJTfAJQ#KV2mw9R?HfyYLmoD7cvmPrf(h7mR0;4n)1^^S{-L1U9IE zVA!}iC;|I-8bivwzqG9AhQ1Z=^7C^~5C2LBs@Ux=UxqKB)(GFkY6AK--s z@IR{~Fsplx_;VZi%e(lqxEhSY^rJy)u)-I&i!iRKRn909lv-_elf^|>NCU>B zfMD1|1eCHk;6J>9fB-1N_`4-3$izI@86EULSBND5pa-nt1y@))=C@X zy0Ju9j73?DzeCFaTXY*+%*71Yu|w=d2+&1f48~j(vjV7tUn1*W{fM*PVNDP2yj7MFB zv`CXcd9=kdpa%dbfCk`4e{29@1b_wr03{U29vF;!Oh|=XNQMl?TFgbd3C3|G$KPv6 ze5AquTy(|*(5!G|NOe?5cJxS#RL5yJ0Ck*&j|9e$491kSNSBPqDiNHJ?9 zx*5plm`r%AY(mqfAPrOv;&DN~e5Es0_+8h)Sxg%Blnati(z| z`Uk9RfKwQZ0|-m8980n+OS3#nv`kC2B+ElvOOq@~xHL(*EJ?Rq%eYiax)jU2tV_4N zOS_y)z~oE898AK*%M1X33J^%FP2c>@-6R(O zj#15O08ZmPPUK8Za`J7MsM9(}>C+u;B5xCF#>`(uU&wnVF5hwrxEl>kJ zPy|g-1zk`EZBPe&Pza4s37t?1txyZSPz=pb4JA-82+-6d&jKg{5gkzyEm0FaQ4~#4 z6u_3*pDCN;A^-?oEQ#4IeHC@yHCA}gE z$fXE_1Ua2kM8H5q_=hq5P%33pKJ8OK{Zl~w(ti+vH$6Cs5&=X7fjiv+Jl#<}?a@Gu zR7sswN;T6f0)aw}1QE~&Fi2EI{Rd@eR4G-PJ*`wzJyldqRUo}0NbppB_yH?=KuEaL zUl3I?RaIQgRb36#D?)?^{8bQ`(^;ieTYc0r-Bn~wR%Ol7D~bd}cvfhQ);j%%Feuh3 zh16xuR&CwZFuhYDO$9M^)N4IfZY@`H-Bu8Y1ZA+UZEM$d{efSQfN&jE4Jp-gy;pqI zRWKFOdA-$q{a1jkR5yjwU=`L`wNq;)RcsAdhHY3jZPrXZI7AhJPi55qJRMhu%~*}K z)PDejOr2Oyz0**=ScN6mjXhbEWl~mk)mH_9UnN$Ot=EN3S(>fcF#QK#jj&DF1S_Ib zm=)KOwOOGZS|4pzX+2sIpw@(yS(7DNr>)sf{nmap)~Bsnn@!hsbyuy0S9x7p@UT~_ z4O_9Lo0$FD5Y17vOEuronQK`U;DjZ{LNoDPzE@F121TSa*0!e9bf_`;8QqY1WsTDPT(GB zU3QuG)`mxHD2Q~{(*mBV>pguHFje; zu46mCV?35)Ixc_-I08TZV?U-FKn7$%9^^p&2SfJb7hYsWZe$T?;TVqMNUq|KpyDdF z;u`J%E$(7Y7Gp8aV^D@;Iu7Mf9%WKKWmGQZHx7mgAOlx^WmlGfe}H9JmStLgWm~>w zGT725?o^7EVoR>#4Nw4Gpkyqr;fu&&ZSa9ocmf=L00+2)FYx3qPUTcKWou3$R$yan zwq_vU0x_^=aXw=@W@R%tXLLSi36OwvPUm%QXLNpNcs2uG{!m};)F`$EXV3*I7J(G{ zgi7FNEVkiI#^DlZW*nx0NJuYMpyn|iXH`aHK$8OhJWio-UgK`|2S?cGjh+NN{^pBD zV<2z=K`3J(sDhA&=s8~H2>=I|cIjN;Gk$n!nqFs`u4xIl>6f+}LQsHka8gK4R1p|I zQYdCB9%fyjSW3>~WZqd@*a9h_0WMzVIdEu|2IY*dgl*n{Ex3X^PN7!d<~J5;a0X?N zR^x9D1&aRWvcBq-_6Js$0lAjzW|##TkbnoU>$#rmNRWWN-s`^p>$$Gy@kCU77J*1W z>VE#`N&x7$a)3Difkna~Dd>Ro(uGYJKL;QMR>+4Em;|eK>pRZsa6X2v_J_%KB!AFs z)lO}?@_{+<2SR{qGtOv#IP2SXfsOX+k=|(klI4rh=q?%dvJ_AA;pgwG*rsQG%1O@m69*FGpvWG2D z0?Af@R`_fh;A$o4ggV&p2PlPU_GHl>?XfoFN(k%Ao^7ul=8*nyTR4H(*5(iQhZzU& zG(KzVj_rLAgdD$ZE@%Z8i0yA4ZXoCF=05HpcY!zHg6uBi5EzA#j_pkd1tDkhvi{~G z_wg+M=54ldRz^86U+?oSfms*=2e=3SlsofCAafF!1vF1{C5VLeHgl9K^DQWcf3O30 z5O5wSa0-Y3c|g)~@#REK?0{bE#%^q427?6$v>H%?&)x)E;DJYX*(cCuY94VrmW2{8 zuN52Bsu7yenXKjA!D{z9?He*h|@hiV_C4coMA95zY?%hW6R+#QN*zW6=gyG(1 zP;dbwpY>YjXh(PhTc_?bZuKt*a}qFf3?hYR=kIAhZ*ov?YJYYDoA35Uxf7@XJn!iM z|7md-^be)jD~>S5R`&*P@DrEpL~n(i4T2zu^iFsJLiqM8=!6f4fi$LffDd?qA9#W< zc!LjkP9OME=jtms1&gM4BH(KODRB5oAayYaf`@m4BG>{kI0c0N2Z9IbAQ1VH_5(?{ z_-_sYlpc92&+dWe^(z>17npcjzj#P+fsU_vmUnr27x{uu_+}4t{+6g}uXcaNcA?jW zNN{#;CxL%hhi|6_0r%;D=xGfw_wh{kD^4MShIfDl=vIJtdw}sAX6OyjgHt#LN|1sl z`0R&1a)g}d4pl!A@bsm@mj}Lge4|#A7 zf*#+8R|s|~V0j>~d|C%`z!!Lt_xPIkhkfw%wx;r(7k1E>1kDHd95?vJ4|1=nVU zr4GNyMjW¥fAI%+Uby>!FLmY^KPhl+F?eizD0TmS|BF|9DL9aT zFMr3s_>sTvD*y-_Asi8uBxYd2C0xV+aZylAkRU)7MwGZv2tf;66hf5f(2>D?85cHu zSQ2E%ioE^>2{wTkOc}(Q%_1g2!pxd5n>lb$V`onX_nPtOSu^N8Vkde|BBX$vf^h$w zO8sZ`D%Px4t4Oj^BbI?jcQ%nN3&Lz!NM*}*ItA%%r%s#v`72TC6kfbv9*`1qsv_VX zf(H{WZ1^zZ#DatW{P<`1)L=xA5D^a2qmktxe{p1njDxS3!i*g&CXAy8;1GgR3&L@l zFl5D=QCohEdhkSuv~LfN-CK0y9xlOwlOdyc@ten&69=ap`ElYmi$`Cs^*Z+K|G0Vu zEA}mTNN&fwh151L`t*5^`6%TJZ;uBKq);wx|33c0!SnNXGUxDq{9#1U6+H~-NP+zE zH<23(8Wx;OW=J@pgjP{Vp#=Y2IAMkxR;V3_*>U$(Sa(o%qG5=fh=>s^vSQB$7k!kfe^m6)*uAQA!zQhEq=Yj|5gqiKUiN zhWMpcBYJoL#|~whd8U~ysJTN6Y@(?qoN>xIrx$hFc_*HE>bWPMefs(5o-F`6Xq|%I zX(*wIDw=2>1w)NGX{3)*3aO=+YPu<>k&0QOpUQ|jsxn@Xda9^!C<6zpt-AUu ztg*^EE3LKKdMmEE>bfhhz1sRuqrnI}EV0EJdn~faD!Z((pNfShw9!f{ZJX7)IVZN+ zYP&7B-Fo{ixZ#RBF1h3y!DhMXs%z(`?TGabyz#boz${rdYazyS+9 zFu?^Id@#ZZ8!X8l-5JnMJ6L2fF~t*0axumkYrHYX9eeyS$RUe7GRY;Id@{-@tGqJH zDI3s3a1B<-JTuKT+k7+5IqSSL&prG6GtfZ`Jv7lp8+|m=JjYxE(@i`5G}KW`JvG%; YTYWXwS!=yD*Ij%4HP~T`ZFN8ZI}=2EmH+?% diff --git a/Documentation/topics/bars/images/bar-controls-office-2003-royale.gif b/Documentation/topics/bars/images/bar-controls-office-2003-royale.gif deleted file mode 100644 index 0d05acf8eb9e09c1aaf304e6fe2fdfcd79fc233a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11681 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 diff --git a/Documentation/topics/bars/images/bar-controls-office-2003-silver.gif b/Documentation/topics/bars/images/bar-controls-office-2003-silver.gif deleted file mode 100644 index fe628f1e4fa7087009c19732ae1800f87ef1d2f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11784 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 diff --git a/Documentation/topics/bars/images/bar-controls-windows-classic.gif b/Documentation/topics/bars/images/bar-controls-windows-classic.gif deleted file mode 100644 index fe8ecb8504b893e62779447de1267c89566e210b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11392 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 M*$$`a^l(7*f2vd>!2kdN diff --git a/Documentation/topics/bars/images/bar-design-time-customize-form-commands-tab.gif b/Documentation/topics/bars/images/bar-design-time-customize-form-commands-tab.gif deleted file mode 100644 index 86482642aaf10952cf1566a870d2aa3360daf50b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24889 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 diff --git a/Documentation/topics/bars/images/bar-design-time-customize-form-toolbars-tab.gif b/Documentation/topics/bars/images/bar-design-time-customize-form-toolbars-tab.gif deleted file mode 100644 index 4111bc5c3e4ce130f7d70cfb7114273d1ad69f3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21787 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 O!#mu=KRmz#0suR8Mm)a& diff --git a/Documentation/topics/bars/images/bar-design-time-new-command-form.gif b/Documentation/topics/bars/images/bar-design-time-new-command-form.gif deleted file mode 100644 index 0f502b818e787b6d29857df12244ee09db2c91e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7792 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 C$AzH) diff --git a/Documentation/topics/bars/images/bar-keyboard-shortcuts.gif b/Documentation/topics/bars/images/bar-keyboard-shortcuts.gif deleted file mode 100644 index 46f15fcd3b47144e7e69bf23d76ecd1e9d171272..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15275 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 diff --git a/Documentation/topics/bars/images/bar-run-time-customize-form.gif b/Documentation/topics/bars/images/bar-run-time-customize-form.gif deleted file mode 100644 index 2040771aa8753935a6c61efb754722cf6de937ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17662 zcmV)WK(4<>Nk%w1VTb{I0rvm^0Al)M0BQF2@|CygU0zwd{QlvNB1T4;|G#wq$2kIO z{s36*%;Egn+L-O^=DO4N@$v29Q!Cx;{z#nQmDThA;hc28|J(4%tI6=;+{&3#ZFEl* z088QkTJ)V#kipgZ=4nd!`1X;Tob>e5m9g8Vr>Xq>`!Q<8x!INjW%0Dn^U&u0K9>Lf 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 diff --git a/Documentation/topics/bars/images/bar-test-app.gif b/Documentation/topics/bars/images/bar-test-app.gif deleted file mode 100644 index 2998895388d5adf78ca2da625ebf83a57ae15baa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24290 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 diff --git a/Documentation/topics/bars/images/bar-test-app2.gif b/Documentation/topics/bars/images/bar-test-app2.gif deleted file mode 100644 index c2bf321675a8094026d31d3efadc699c644bba37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28202 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 diff --git a/Documentation/topics/bars/index.md b/Documentation/topics/bars/index.md index 271856b..e40e251 100644 --- a/Documentation/topics/bars/index.md +++ b/Documentation/topics/bars/index.md @@ -23,7 +23,7 @@ Out of the box, the bar controls have [rendering capabilities](extensible-render ## Feature List -- Built-in [rendering styles](extensible-rendering.md) include Metro Light, Metro Dark, Visual Studio, and Office styles. +- Built-in [rendering styles](extensible-rendering.md) include Metro, Visual Studio, Office, and Windows Classic styles. - Robust rendering interface allows for totally customized rendering. diff --git a/Documentation/topics/conversion/converting-to-v23-1.md b/Documentation/topics/conversion/converting-to-v23-1.md index 6867834..fcfe4f4 100644 --- a/Documentation/topics/conversion/converting-to-v23-1.md +++ b/Documentation/topics/conversion/converting-to-v23-1.md @@ -49,7 +49,7 @@ The [TabbedMdiWindowContextMenuEventArgs](xref:@ActiproUIRoot.Controls.Docking.T ## Modern DockGuides -Docking support for [DockGuideStyle](xref:@ActiproUIRoot.Controls.Docking.DockGuideStyle).[Sunken](xref:@ActiproUIRoot.Controls.Docking.DockGuideStyle.Sunken) (previous default) and [DockGuideStyle](xref:@ActiproUIRoot.Controls.Docking.DockGuideStyle).[Raised](xref:@ActiproUIRoot.Controls.Docking.DockGuideStyle.Raised) (old Windows XP-era style) has been removed and replaced by [DockGuideStyle](xref:@ActiproUIRoot.Controls.Docking.DockGuideStyle).[Modern](xref:@ActiproUIRoot.Controls.Docking.DockGuideStyle.Modern) (new default). The old values are still defined but have been marked as obsolete and will use the `Modern` style when used. No changes are necessary at this time, but any references to the old values should be replaced with `Modern` to avoid IDE warnings and eventual breaking changes when the obsolete values are removed in a future release. +Docking support for [DockGuideStyle](xref:@ActiproUIRoot.Controls.Docking.DockGuideStyle).`Sunken` (previous default) and [DockGuideStyle](xref:@ActiproUIRoot.Controls.Docking.DockGuideStyle).`Raised` (old Windows XP-era style) has been removed and replaced by [DockGuideStyle](xref:@ActiproUIRoot.Controls.Docking.DockGuideStyle).[Modern](xref:@ActiproUIRoot.Controls.Docking.DockGuideStyle.Modern) (new default). The old values are still defined but have been marked as obsolete and will use the `Modern` style when used. No changes are necessary at this time, but any references to the old values should be replaced with `Modern` to avoid IDE warnings and eventual breaking changes when the obsolete values are removed in a future release. The `Sunken` and `Raised` styles were based on image resources that could be customized using `ActiproSoftware.Products.Docking.AssemblyInfo.Instance.ImageProviderFunc`. Since the `Modern` guides are built dynamically at run-time, there are no images to customize and the `ImageProviderFunc` property has been removed. The colors used for `Modern` guides can be customized using various properties on [IWindowsColorScheme](xref:@ActiproUIRoot.Drawing.IWindowsColorScheme) (e.g., [IWindowsColorScheme](xref:@ActiproUIRoot.Drawing.IWindowsColorScheme).[DockGuideArrowBack](xref:@ActiproUIRoot.Drawing.IWindowsColorScheme.DockGuideArrowBack) changes the background color of the arrow). See the [Extensible Rendering](../docking/extensible-rendering.md) topic for more details on customizing a color scheme. diff --git a/Documentation/topics/conversion/converting-to-v24-1.md b/Documentation/topics/conversion/converting-to-v24-1.md new file mode 100644 index 0000000..3bee32c --- /dev/null +++ b/Documentation/topics/conversion/converting-to-v24-1.md @@ -0,0 +1,165 @@ +--- +title: "Converting to v24.1" +page-title: "Converting to v24.1 - Conversion Notes" +order: 6 +--- +# Converting to v24.1 + +All of the breaking changes are detailed or linked below. + +## SyntaxEditor Native Dark Theme Support + +Support for dark themes is now integrated directly into [SyntaxEditor](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditor). Refer to the [Dark Themes](../syntaxeditor/user-interface/styles/dark-themes.md) topic for details on concepts like [SyntaxEditorThemeManager](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager) or [IHighlightingStyleColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleColorPalette). + +### Switching Themes + +Previously, switching between light and dark themes would require multiple steps like: +1. Unregistering all classification types in a registry. +1. Re-registering all the classification types from multiple providers. +1. Re-loading language definition *.langdef* files. +1. For dark theme, importing a *.vssettings* file with colors configured for a dark theme. +1. Changing the [CommonImageSourceProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.Implementation.CommonImageSourceProvider).[DefaultImageSet](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.Implementation.CommonImageSourceProvider.DefaultImageSet) between light and dark color sets. + +A new [SyntaxEditorThemeManager](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager) class now takes care of all of those settings by default, and most developers will not have to do anything to support changing themes. Check for any custom code that handles theme changes and remove any SyntaxEditor logic related to the previous technique of switching themes. + +If custom registries are used instead of [AmbientHighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.AmbientHighlightingStyleRegistry), those registries can be configured to automatically switch themes by calling [SyntaxEditorThemeManager](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager).[Manage](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager.Manage*) and passing the custom registry. + +If any developer does not want the default functionality provided by [SyntaxEditorThemeManager](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager), the following code will disable the default features: + +```csharp +// Disable automatically switching between light/dark color palettes +SyntaxEditorThemeManager.Unmanage(AmbientHighlightingStyleRegistry.Instance); + +// Ensure the light color palette is the default (in case a dark theme was active before being unmanaged) +AmbientHighlightingStyleRegistry.Instance.CurrentColorPalette = AmbientHighlightingStyleRegistry.Instance.LightColorPalette; + +// Disable changing image sets +SyntaxEditorThemeManager.IsCommonImageSetSynchronizationEnabled = false; +``` + +### Dark Colors + +If a custom *.vssettings* file was used with preferred dark colors, those colors may not match the new defaults. A special dark color palette can be initialized with preferred colors to use in dark themes on a per-registry basis. The following example code demonstrates how to configure the default dark colors for the ambient registry: + +```csharp +IHighlightingStyleRegistry registry = AmbientHighlightingStyleRegistry.Instance; +registry.DarkColorPalette.SetForeground("String", Color.FromArgb(255, 214, 157, 133)); +registry.DarkColorPalette.SetForeground("PlainText", Color.FromArgb(255, 220, 220, 220)); +registry.DarkColorPalette.SetBackground("PlainText", Color.FromArgb(255, 30, 30, 30)); +``` + +> [!NOTE] +> Configuring the dark color palette is only necessary if languages are not updated with explicit dark styles. + +### Language Updates + +The [Language Designer Tool](../syntaxeditor/language-designer-tool/index.md) has been updated to support the configuration and preview of dark styles for classification types. Developers are encouraged to use the tool to configure appropriate dark colors instead of explicitly populating the dark color palette, and many dark colors will be automatically configured based on built-in classification types and a pre-defined mapping of common light colors to dark colors. + +All Actipro-provided languages have been updated with the new dark style configuration. + +### New IHighlightingStyleRegistry Interface Properties + +The [IHighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry) interface added the [CurrentColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry.CurrentColorPalette), [DarkColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry.DarkColorPalette), and [LightColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry.LightColorPalette) properties. Any custom classes that implement this interface without deriving from [HighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.Implementation.HighlightingStyleRegistry) will need to implement the new properties. + +## SyntaxEditor Enhancements + +The following changes were made to enhance the capabilities of SyntaxEditor and might impact some applications. +- The default colors for several [IClassificationType](xref:ActiproSoftware.Text.IClassificationType) instances on [DisplayItemClassificationTypeProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider) have been changed to be more consistent with modern code editor expectations. Some classification types were updated to remove opacity from the default color and, instead, always apply an opacity when the color is rendered. + - [SelectedText](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.SelectedText) background from #99CCFF to #0078D7. + - [InactiveSelectedText](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.InactiveSelectedText) background from #CCDDEE to #BFCDDB. + - [LineNumbers](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.LineNumbers) foreground from #2B91AF to #7A7A7A. + - [BreakpointEnabled](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.BreakpointEnabled) background from #AB616B to #963A46. + - [BreakpointDisabled](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.BreakpointDisabled) border from #AB616B to #000000. + - [IndicatorMargin](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.IndicatorMargin) background from #F0F0F0 to #E6E7E8. + - [CurrentLine](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.CurrentLine) border from #30A0A0A0 to #EAEAF2; 30% opacity automatically applied when rendered. + - [DelimiterMatching](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeKeys.DelimiterMatching) background from #30A0A0A0 to #DBE0CC with 75% opacity automatically applied when rendered. + - [FindMatchHighlight](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.FindMatchHighlight) background from #C8F4A721 to #F4A721 with 75% opacity automatically applied when rendered. + - [CollapsibleRegion](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.CollapsibleRegion) foreground from #80D7DDE8 to #D7DDE8 with 50% opacity automatically applied when rendered. Background from #80EDEFF5 to #F6F7FA. + - [ColumnGuides](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.ColumnGuides) background from #F0F0F0 to #D0D0D0. + - [IndentationGuides](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.IndentationGuides) background from #F0F0F0 to #D0D0D0. +- The [Punctuation](xref:ActiproSoftware.Text.ClassificationTypes.Punctuation) classification type was added to all appropriate Actipro languages. + - Implement the [IDotNetClassificationTypeProvider](xref:ActiproSoftware.Text.Languages.DotNet.IDotNetClassificationTypeProvider).[Punctuation](xref:ActiproSoftware.Text.Languages.DotNet.IDotNetClassificationTypeProvider.Punctuation) property for classes that implement the interface without deriving from the [DotNetClassificationTypeProvider](xref:ActiproSoftware.Text.Languages.DotNet.Implementation.DotNetClassificationTypeProvider) class. + - Implement the [IJavaScriptClassificationTypeProvider](xref:ActiproSoftware.Text.Languages.JavaScript.IJavaScriptClassificationTypeProvider).[Punctuation](xref:ActiproSoftware.Text.Languages.JavaScript.IJavaScriptClassificationTypeProvider.Punctuation) property for classes that implement the interface without deriving from the [JavaScriptClassificationTypeProvider](xref:ActiproSoftware.Text.Languages.JavaScript.Implementation.JavaScriptClassificationTypeProvider) class. + - Implement the [IPythonClassificationTypeProvider](xref:ActiproSoftware.Text.Languages.Python.IPythonClassificationTypeProvider).[Punctuation](xref:ActiproSoftware.Text.Languages.Python.IPythonClassificationTypeProvider.Punctuation) property for classes that implement the interface without deriving from the [PythonClassificationTypeProvider](xref:ActiproSoftware.Text.Languages.Python.Implementation.PythonClassificationTypeProvider) class. +- The [SyntaxEditor](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditor) `ForeColor` and `BackColor` properties are no longer used as the default foreground and background colors for a printer view. If non-default colors are desired, register a style with the [PlainText](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.PlainText) classification type on the editor's highlighting style registry. + +## Theme Updates + +Several changes were made to theme-related classes. Generally speaking, the following changes were made: +- A new "Visual Studio Blue" theme is available based on Visual Studio 2022's Blue theme. +- "Visual Studio 2005" is now referred to as "Visual Studio Classic". +- "Office 2007" and "Office 2003" are now referred to as "Office Classic". +- "Windows XP" is now referred to as "Luna". +- The "Visual Studio 2005 Beta 2" renderers have been deprecated and will be removed in a future release. +- The `WindowsXPRoyale` color scheme has been deprecated since it duplicates other classic color schemes and will be removed in a future release. +- Several previously deprecated renderers were removed. + +> [!IMPORTANT] +> Every effort was made to ensure a seamless upgrade by maintaining binary compatibility with the previous release. After upgrading to this release, your IDE should display warnings for the use of any deprecated values. This should allow developers to slowly migrate to the new values, but do not ignore the warnings as the values will be removed in a future release. + +See below for the specific details on theme-related changes. + +### Color Scheme Changes + +The following changes were made to color schemes: +- [WindowsColorSchemeType](xref:@ActiproUIRoot.Drawing.WindowsColorSchemeType).`VisualStudio2005` and [WindowsColorScheme](xref:@ActiproUIRoot.Drawing.WindowsColorScheme).`VisualStudio2005` will be referred to as `VisualStudioClassic` going forward. The original `VisualStudio2005` values have been deprecated and will be removed in a future release. Use `VisualStudioClassic` instead. +- [WindowsColorSchemeType](xref:@ActiproUIRoot.Drawing.WindowsColorSchemeType).`Office2007Blue` and [WindowsColorScheme](xref:@ActiproUIRoot.Drawing.WindowsColorScheme).`Office2007Blue` will be referred to as `OfficeClassicBlue` going forward. The original `Office2007Blue` values have been deprecated and will be removed in a future release. Use `OfficeClassicBlue` instead. +- [WindowsColorSchemeType](xref:@ActiproUIRoot.Drawing.WindowsColorSchemeType).`Office2007Black` and [WindowsColorScheme](xref:@ActiproUIRoot.Drawing.WindowsColorScheme).`Office2007Black` will be referred to as `OfficeClassicBlack` going forward. The original `Office2007Black` values have been deprecated and will be removed in a future release. Use `OfficeClassicBlack` instead. +- [WindowsColorSchemeType](xref:@ActiproUIRoot.Drawing.WindowsColorSchemeType).`Office2007Silver` and [WindowsColorScheme](xref:@ActiproUIRoot.Drawing.WindowsColorScheme).`Office2007Silver` will be referred to as `OfficeClassicSilver` going forward. The original `Office2007Silver` values have been deprecated and will be removed in a future release. Use `OfficeClassicSilver` instead. +- [WindowsColorSchemeType](xref:@ActiproUIRoot.Drawing.WindowsColorSchemeType).`WindowsXPBlue` and [WindowsColorScheme](xref:@ActiproUIRoot.Drawing.WindowsColorScheme).`WindowsXPBlue` will be referred to as `LunaBlue` going forward. The original `WindowsXPBlue` values have been deprecated and will be removed in a future release. Use `LunaBlue` instead. +- [WindowsColorSchemeType](xref:@ActiproUIRoot.Drawing.WindowsColorSchemeType).`WindowsXPOliveGreen` and [WindowsColorScheme](xref:@ActiproUIRoot.Drawing.WindowsColorScheme).`WindowsXPOliveGreen` will be referred to as `LunaOliveGreen` going forward. The original `WindowsXPOliveGreen` values have been deprecated and will be removed in a future release. Use `LunaOliveGreen` instead. +- [WindowsColorSchemeType](xref:@ActiproUIRoot.Drawing.WindowsColorSchemeType).`WindowsXPSilver` and [WindowsColorScheme](xref:@ActiproUIRoot.Drawing.WindowsColorScheme).`WindowsSilver` will be referred to as `LunaSilver` going forward. The original `WindowsXPSilver` values have been deprecated and will be removed in a future release. Use `LunaSilver` instead. +- [WindowsColorSchemeType](xref:@ActiproUIRoot.Drawing.WindowsColorSchemeType).`WindowsXPRoyale` and [WindowsColorScheme](xref:@ActiproUIRoot.Drawing.WindowsColorScheme).`WindowsXPRoyale` have been deprecated since they duplicate other classic color schemes and will be removed in a future release. Use one of the other classic color schemes instead, like `VisualStudioClassic`. + +### UIRenderer Changes + +The following renderers are being renamed. In each scenario, the original renderer was recreated to derive from the class of the new name and has been marked as deprecated for removal in a future release. Migrate to the new renderer names to avoid future breaking changes. + +- `WindowsXPScrollBarRenderer` will be referred to as `WindowsScrollBarRender` going forward. +- `Office2003NavigationBarRenderer` will be referred to as `OfficeLunaNavigationBarRenderer` going forward. +- `Office2007NavigationBarRenderer` will be referred to as `OfficeClassicNavigationBarRenderer` going forward. +- `VisualStudio2002BarRenderer` will be referred to as `WindowsClassicBarRenderer` going forward. +- `Office2003BarRenderer` will be referred to as `OfficeClassicBarRenderer` going forward. +- `VisualStudio2002StatusBarRenderer` will be referred to as `WindowsClassicStatusBarRenderer` going forward. +- `VisualStudio2005StatusBarRenderer` will be referred to as `VisualStudioClassicStatusBarRenderer` going forward. +- `Office2003StatusBarRenderer` will be referred to as `OfficeClassicStatusBarRenderer` going forward. +- `VisualStudio2002DockRenderer` will be referred to as `WindowsClassicDockRenderer` going forward. +- `VisualStudio2002DocumentWindowTabStripRenderer` will be referred to as `WindowsClassicDocumentWindowTabStripRenderer` going forward. +- `VisualStudio2002ToolWindowTabStripRenderer` will be referred to as `WindowsClassicToolWindowTabStripRenderer` going forward. +- `VisualStudio2005DockRenderer` will be referred to as `VisualStudioClassicDockRenderer` going forward. +- `VisualStudio2005DocumentWindowTabStripRenderer` will be referred to as `VisualStudioClassicDocumentWindowTabStripRenderer` going forward. +- `VisualStudio2005ToolWindowTabStripRenderer` will be referred to as `VisualStudioClassicToolWindowTabStripRenderer` going forward. +- `Office2003DockRenderer` will be referred to as `OfficeClassicDockRenderer` going forward. +- `Office2003DocumentWindowTabStripRenderer` will be referred to as `OfficeClassicDocumentWindowTabStripRenderer` going forward. +- `Office2003ToolWindowTabStripRenderer` will be referred to as `OfficeClassicToolWindowTabStripRenderer` going forward. + +The following renders have been deprecated and will be removed in a future release. Migrate to different renderers to avoid future breaking changes. +- `Office2003VisualStudio2005Beta2DockRenderer` +- `Office2003VisualStudio2005Beta2ToolWindowTabStripRenderer` +- `VisualStudio2005Beta2DockRenderer` +- `VisualStudio2005Beta2ToolWindowTabStripRenderer` + +The following renderers were previously deprecated and removed in this release: +- Removed `MetroLightBarRenderer`. Use [MetroBarRenderer](xref:@ActiproUIRoot.Controls.Bars.MetroBarRenderer) instead. +- Removed `MetroLightDockRenderer`. Use [MetroDockRenderer](xref:@ActiproUIRoot.Controls.Docking.MetroDockRenderer) instead. +- Removed `MetroLightDocumentWindowTabStripRenderer`. Use [MetroDocumentWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.MetroDocumentWindowTabStripRenderer) instead. +- Removed `MetroLightToolWindowTabStripRenderer`. Use [MetroToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.MetroToolWindowTabStripRenderer) instead. +- Removed `MetroLightNavigationBarRenderer`. Use [MetroNavigationBarRenderer](xref:@ActiproUIRoot.Controls.Navigation.MetroNavigationBarRenderer) instead. + +## UIColor Updates + +The [UIColor](xref:@ActiproUIRoot.Drawing.UIColor) class has been updated with additional support, and some existing properties/methods are being deprecated to keep the public consistent and avoid ambiguity. The original properties/methods will be removed in a future release. +- `Hue` property replaced by [HlsHue](xref:@ActiproUIRoot.Drawing.UIColor.HlsHue). + - Note that the original `Hue` property is based on values from `0` to `1`, and the new [HlsHue](xref:@ActiproUIRoot.Drawing.UIColor.HlsHue) property is based on values from `0` to `360`, so conversion will be necessary. +- `Saturation` property replaced by [HlsSaturation](xref:@ActiproUIRoot.Drawing.UIColor.HlsSaturation). +- `Brightness` property replaced by [HlsLightness](xref:@ActiproUIRoot.Drawing.UIColor.HlsLightness). +- [FromArgb](xref:@ActiproUIRoot.Drawing.UIColor.FromArgb*) method overload with `System.Drawing.Color` argument replaced by [FromColor](xref:@ActiproUIRoot.Drawing.UIColor.FromColor*). +- [FromArgb](xref:@ActiproUIRoot.Drawing.UIColor.FromArgb*) method overload without alpha argument replaced by [FromRgb](xref:@ActiproUIRoot.Drawing.UIColor.FromRgb*). +- [FromAhsb](xref:@ActiproUIRoot.Drawing.UIColor.FromAhsb*) method overload without alpha argument replaced by [FromHsb](xref:@ActiproUIRoot.Drawing.UIColor.FromHsb*). + +## Previously Deprecated Items Removed + +The following members were deprecated in previous releases have been removed in this release. + +- (Docking) [AssemblyInfo](xref:ActiproSoftware.Products.Docking.AssemblyInfo).`GetImage` method that did not accept a scale factor was removed. Use the [GetImage](xref:ActiproSoftware.Products.Docking.AssemblyInfo.GetImage*) method that accepts a scale factor. +- (SyntaxEditor) [IntelliPromptSessionTypes](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.IntelliPromptSessionTypes).`CodeSnippet` was removed. Use the [CodeSnippetTemplate](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.IntelliPromptSessionTypes.CodeSnippetTemplate) property instead. \ No newline at end of file diff --git a/Documentation/topics/conversion/index.md b/Documentation/topics/conversion/index.md index d43ed64..a3797d9 100644 --- a/Documentation/topics/conversion/index.md +++ b/Documentation/topics/conversion/index.md @@ -9,6 +9,8 @@ Occasionally during large updates to a product, some breaking changes are necess Read the following topics that are appropriate for your scenario if you are converting from an older version to the latest version. +- [Converting to v24.1](converting-to-v24-1.md) + - [Converting to v23.1](converting-to-v23-1.md) - [Converting to v22.1](converting-to-v22-1.md) diff --git a/Documentation/topics/docking/extensible-rendering.md b/Documentation/topics/docking/extensible-rendering.md index d7a89f3..d509d2d 100644 --- a/Documentation/topics/docking/extensible-rendering.md +++ b/Documentation/topics/docking/extensible-rendering.md @@ -9,7 +9,7 @@ The Dock controls use an extensible rendering model that is based on our common This object model allows for three levels of rendering customization. Choose which level of customization you wish to use: -- Use Built-In Renderers As-Is - Use the built-in rendering styles without any changes, which include all Visual Studio and Office styles. +- Use Built-In Renderers As-Is - Use the built-in rendering styles without any changes, which include many Metro, Visual Studio, and Office styles. - Modify Properties on Built-In Renderers - Use the built-in renderers but modify the various properties on the renderers to easily create a customized appearance. @@ -23,23 +23,23 @@ These are some sample rendering styles that come with [DockManager](xref:@Actipr ![Screenshot](images/dock-controls-visual-studio-2005.png) -*Visual Studio 2005-themed Dock controls* +*Visual Studio Classic-themed Dock controls* ![Screenshot](images/dock-controls-office-2003-blue.png) -*Office 2003 blue-themed Dock controls* +*Office Classic blue-themed Dock controls* ![Screenshot](images/dock-controls-office-2003-olive-green.png) -*Office 2003 olive green-themed Dock controls* +*Office Classic olive green-themed Dock controls* ![Screenshot](images/dock-controls-office-2003-silver.png) -*Office 2003 blue-themed Dock controls* +*Office Classic blue-themed Dock controls* ![Screenshot](images/dock-controls-office-2003-black.png) -*Office 2003 black-themed Dock controls* +*Office Classic black-themed Dock controls* ## DockManager Renderers @@ -53,27 +53,27 @@ The [DockManager](xref:@ActiproUIRoot.Controls.Docking.DockManager) component us ## Use Built-In Renderers As-Is -Dock includes these built-in renderers, which support Metro Light, Metro Dark, Office, and Visual Studio styles: +Dock includes these built-in renderers, which support Metro, Visual Studio, Office, and other classic styles: | Renderer | Description | |-----|-----| | [MetroDockRenderer](xref:@ActiproUIRoot.Controls.Docking.MetroDockRenderer) | Capable of drawing Metro styles (Light and Dark) for dock controls. To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Docking.MetroDockRenderer.BaseColorSchemeType). | -| [Office2003DockRenderer](xref:@ActiproUIRoot.Controls.Docking.Office2003DockRenderer) | Capable of drawing all Office 2007 styles (Blue, Silver, Black) and Office 2003 styles (Blue, Olive, Silver, Royale, and Windows Classic). To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Navigation.Office2003NavigationBarRenderer.BaseColorSchemeType). | -| [VisualStudio2002DockRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudio2002DockRenderer) | Capable of drawing Visual Studio 2002 dock controls. | -| [VisualStudio2005DockRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudio2005DockRenderer) | Capable of drawing Visual Studio 2005 dock controls. | -| [VisualStudio2005Beta2DockRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudio2005Beta2DockRenderer) | Capable of drawing Visual Studio 2005 Beta 2 dock controls. | +| [OfficeClassicDockRenderer](xref:@ActiproUIRoot.Controls.Docking.OfficeClassicDockRenderer) | Capable of drawing all Office classic styles (Blue, Silver, Black), Luna styles (Blue, Olive Green, Silver), and Windows Classic). To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Docking.OfficeClassicDockRenderer.BaseColorSchemeType). | +| [VisualStudioDockRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudioDockRenderer) | Capable of drawing Visual Studio classic dock controls. | +| [VisualStudioClassicDockRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudioClassicDockRenderer) | Capable of drawing Visual Studio classic dock controls. | +| [WindowsClassicDockRenderer](xref:@ActiproUIRoot.Controls.Docking.WindowsClassicDockRenderer) | Capable of drawing Windows classic dock controls. | ## Color Tinting Color Schemes -With one line of code, any `WindowsColorScheme` can be tinted so that all of the colors are altered. For instance, you can easily create a tan or red color scheme and then use those color schemes with the [Office2003DockRenderer](xref:@ActiproUIRoot.Controls.Docking.Office2003DockRenderer), [Office2003DocumentWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.Office2003DocumentWindowTabStripRenderer), and [Office2003ToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.Office2003ToolWindowTabStripRenderer) classes like this: +With one line of code, any `WindowsColorScheme` can be tinted so that all of the colors are altered. For instance, you can easily create a tan or red color scheme and then use those color schemes with the [OfficeClassicDockRenderer](xref:@ActiproUIRoot.Controls.Docking.OfficeClassicDockRenderer), [OfficeClassicDocumentWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.OfficeClassicDocumentWindowTabStripRenderer), and [OfficeClassicToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.OfficeClassicToolWindowTabStripRenderer) classes like this: -This code shows how to load a custom tan-tinted color scheme (displayed in the screenshot above) that is based on the built-in Windows XP blue theme: +This code shows how to load a custom tan-tinted color scheme (displayed in the screenshot above) that is based on the built-in Luna blue theme: ```csharp -WindowsColorScheme scheme = new WindowsColorScheme("Tan", WindowsColorSchemeType.WindowsXPBlue, Color.Tan); -dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DockRenderer(scheme); -dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DocumentWindowTabStripRenderer(scheme); -dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003ToolWindowTabStripRenderer(scheme); +var scheme = new WindowsColorScheme("Tan", WindowsColorSchemeType.LunaBlue, Color.Tan); +dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDockRenderer(scheme); +dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDocumentWindowTabStripRenderer(scheme); +dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicToolWindowTabStripRenderer(scheme); ``` ## Customizing Specific Colors in a Color Scheme diff --git a/Documentation/topics/docking/index.md b/Documentation/topics/docking/index.md index 1e8f74a..3a1aa07 100644 --- a/Documentation/topics/docking/index.md +++ b/Documentation/topics/docking/index.md @@ -21,7 +21,7 @@ Out of the box, the dock controls have [rendering capabilities](extensible-rende ## Feature List -- Built-in rendering styles include Metro Light, Metro Dark, Visual Studio, and Office styles. +- Built-in rendering styles include Metro, Visual Studio, Office, and Windows Classic styles. - Robust rendering interface allows for totally [customized rendering](extensible-rendering.md). - Dock [tool windows](tool-windows.md) on all sides of a central client area. - Multiple styles of docking guides which easily control drop locations. diff --git a/Documentation/topics/docking/tabstrip/extensible-rendering.md b/Documentation/topics/docking/tabstrip/extensible-rendering.md index dce9603..ad5b4af 100644 --- a/Documentation/topics/docking/tabstrip/extensible-rendering.md +++ b/Documentation/topics/docking/tabstrip/extensible-rendering.md @@ -9,7 +9,7 @@ order: 9 This object model allows for three levels of rendering customization. Choose which level of customization you wish to use: -- Use Built-In Renderers As-Is - Use the built-in rendering styles without any changes, which include Metro Light, Metro Dark, Visual Studio, and Office for tool/document windows. +- Use Built-In Renderers As-Is - Use the built-in rendering styles without any changes, which include several Metro, Visual Studio, and Office styles for tool/document windows. - Modify Properties on Built-In Renderers - Use the built-in renderers but modify the various properties on the renderers to easily create a customized appearance. - Create Custom Renderers - Implement the [ITabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.ITabStripRenderer) interface or inherit our [TabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.TabStripRenderer) class to do all the measuring and drawing of the controls and their elements yourself. @@ -35,24 +35,25 @@ Dock includes these built-in renderers: |-----|-----| | [MetroToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.MetroToolWindowTabStripRenderer) | Capable of drawing a Metro styles (Light and Dark) for a tool window. To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Docking.MetroToolWindowTabStripRenderer.BaseColorSchemeType). | | [MetroDocumentWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.MetroDocumentWindowTabStripRenderer) | Capable of drawing a Metro styles (Light and Dark) for document window. To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Docking.MetroDocumentWindowTabStripRenderer.BaseColorSchemeType). | -| [VisualStudio2005ToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudio2005ToolWindowTabStripRenderer) | Capable of drawing a Visual Studio 2005 tool window. | -| [VisualStudio2005DocumentWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudio2005DocumentWindowTabStripRenderer) | Capable of drawing a Visual Studio 2005 document window. | -| [VisualStudio2005Beta2ToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudio2005Beta2ToolWindowTabStripRenderer) | Capable of drawing a Visual Studio 2005 Beta 2 tool window. | -| [VisualStudio2002ToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudio2002ToolWindowTabStripRenderer) | Capable of drawing a Visual Studio 2002 tool window. | -| [VisualStudio2002DocumentWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudio2002DocumentWindowTabStripRenderer) | Capable of drawing a Visual Studio 2002 document window. | -| [Office2003ToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.Office2003ToolWindowTabStripRenderer) | Capable of drawing all Office styles (Blue, Olive, Silver, and Windows Classic) for a tool window. To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Docking.Office2003ToolWindowTabStripRenderer.BaseColorSchemeType). | -| [Office2003DocumentWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.Office2003DocumentWindowTabStripRenderer) | Capable of drawing all Office styles (Blue, Olive, Silver, and Windows Classic) for a document window. To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Docking.Office2003DocumentWindowTabStripRenderer.BaseColorSchemeType). | -| [Office2003VisualStudio2005Beta2ToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.Office2003VisualStudio2005Beta2ToolWindowTabStripRenderer) | Capable of drawing all Office styles (Blue, Olive, Silver, and Windows Classic) for a tool window, using a style similar to the Visual Studio 2005 Beta 2 style. To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Docking.Office2003ToolWindowTabStripRenderer.BaseColorSchemeType). | +| [OfficeClassicToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.OfficeClassicToolWindowTabStripRenderer) | Capable of drawing all Office classic styles (Blue, Black, Silver), Luna styles (Blue, Olive Green, Silver), and Windows Classic for a tool window. To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Docking.OfficeClassicToolWindowTabStripRenderer.BaseColorSchemeType). | +| [OfficeClassicDocumentWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.OfficeClassicDocumentWindowTabStripRenderer) | Capable of drawing all Office classic styles (Blue, Black, Silver), Luna styles (Blue, Olive Green, Silver), and Windows Classic for a document window. To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Docking.OfficeClassicDocumentWindowTabStripRenderer.BaseColorSchemeType). | +| [VisualStudioToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudioToolWindowTabStripRenderer) | Capable of drawing a Visual Studio tool window. | +| [VisualStudioDocumentWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudioDocumentWindowTabStripRenderer) | Capable of drawing a Visual Studio document window. | +| [VisualStudioClassicToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudioClassicToolWindowTabStripRenderer) | Capable of drawing a Visual Studio classic tool window. | +| [VisualStudioClassicDocumentWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudioClassicDocumentWindowTabStripRenderer) | Capable of drawing a Visual Studio classic document window. | +| [WindowsClassicToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.WindowsClassicToolWindowTabStripRenderer) | Capable of drawing a Windows classic tool window. | +| [WindowsClassicDocumentWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.WindowsClassicDocumentWindowTabStripRenderer) | Capable of drawing a Windows classic document window. | + ## Color Tinting Color Schemes -With one line of code, any `WindowsColorScheme` can be tinted so that all of the colors are altered. For instance, you can easily create a custom color scheme and then use those color schemes with the [Office2003DocumentWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.Office2003DocumentWindowTabStripRenderer) and [Office2003ToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.Office2003ToolWindowTabStripRenderer) classes. +With one line of code, any `WindowsColorScheme` can be tinted so that all of the colors are altered. For instance, you can easily create a custom color scheme and then use those color schemes with the [OfficeClassicDocumentWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.OfficeClassicDocumentWindowTabStripRenderer) and [OfficeClassicToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.OfficeClassicToolWindowTabStripRenderer) classes. -This code shows how to load a custom purple-tinted color scheme that is based on the built-in Windows XP blue theme: +This code shows how to load a custom purple-tinted color scheme that is based on the built-in Luna blue theme: ```csharp -WindowsColorScheme scheme = new WindowsColorScheme("Purple", WindowsColorSchemeType.WindowsXPBlue, Color.Purple); -tabStrip.Renderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DocumentWindowTabStripRenderer(scheme); +var scheme = new WindowsColorScheme("Purple", WindowsColorSchemeType.LunaBlue, Color.Purple); +tabStrip.Renderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDocumentWindowTabStripRenderer(scheme); ``` ## Customizing Specific Colors in a Color Scheme diff --git a/Documentation/topics/licensing.md b/Documentation/topics/licensing.md index 0dc54ca..0f8bc08 100644 --- a/Documentation/topics/licensing.md +++ b/Documentation/topics/licensing.md @@ -33,7 +33,7 @@ Blueprint licenses enable access to product source code. The term of Blueprint ## Free Subscriptions and Free New Products -All of the non-evaluation licenses described above for our WinForms products include **one full year** of free upgrades to any new versions that are released within that timeframe. +All the non-evaluation licenses described above for our @@PlatformName control products include **one full year** of free upgrades to any new versions that are released within that timeframe. In addition, customers with active WinForms Studio subscriptions will receive any new products added to the suite for free while the subscription is active. @@ -54,15 +54,18 @@ There are two ways to apply licensing once you have purchased licenses for Actip > [!NOTE] > Each `major.minor` version has its own distinct license information that can be obtained for licensed versions on [your Actipro account](https://www.actiprosoftware.com/support/account)'s page for your organization. -The first licensing option is to make a method call at app startup before any UI is referenced to register your license information. This option is quick and easy, and works best for scenarios where Actipro [NuGet packages](nuget.md) or build servers are used. See the "Licensing Via a RegisterLicense Call" section below for detailed information on this option. +1. **RegisterLicense Call** - Make a method call at app startup before any UI is referenced to register your license information. This option is quick and easy, and works best for scenarios where Actipro [NuGet packages](nuget.md) or build servers are used. See the "Licensing Via a RegisterLicense Call" section below for detailed information on this option. -The second licensing option is to provide licensing via a *licenses.licx* file. This option is only available for classic .NET Framework applications that have direct assembly references and is what Actipro exclusively used prior to v21.1. See the "Licensing Via a Licenses.licx File" section below for detailed information on this option. +1. **Licenses.licx File** - Provide licensing via a *licenses.licx* file. This option is only available for classic .NET Framework applications that have direct assembly references and is what Actipro exclusively used prior to v21.1. See the "Licensing Via a Licenses.licx File" section below for detailed information on this option. ## Licensing Via a RegisterLicense Call -This licensing option is required when Actipro [NuGet packages](nuget.md) are used. It is also ideal when build servers are used for classic .NET Framework applications with direct assembly references. +This licensing option is the easiest to apply and has the most predictable results, so it is the recommended for most users. -In this licensing option, we make a single code-based call to the `ActiproLicenseManager.RegisterLicense` method at application startup, before any UI is referenced. This static call registers your license information globally throughout your application. +- This method is required when using Actipro [NuGet packages](nuget.md). +- This method does not rely on a build machine configuration, so it is ideal when build servers are used for applications with direct Actipro assembly references. + +In this licensing option, you make a single code-based call to the `ActiproLicenseManager.RegisterLicense` method at application startup *before any UI is referenced*. This static call registers your license information globally throughout your application. Since the license is embedded in the application code, there are no other dependencies to apply the license. The following code calls the `ActiproLicenseManager.RegisterLicense` method using `licensee` and `licenseKey` variables containing string values that must exactly match the license information in your license e-mail: @@ -76,20 +79,25 @@ public static void Main() { } ``` -When using this licensing option, do NOT include any Actipro entries in your application's *licenses.licx* file. - -> [!NOTE] +> [!IMPORTANT] > It is important to protect your licensee and license key combination from decompilers. We highly recommend using some form of string encryption on the `licensee` and `licenseKey` values passed into the `ActiproLicenseManager.RegisterLicense` method. Many obfuscators include string encryption as an option, or you can use other custom logic to scramble/descramble the strings. +> [!WARNING] +> When using this licensing option, *do not* include any Actipro entries in your application's *licenses.licx* file. + ## Licensing Via a Licenses.licx File -This licensing option is only available for classic .NET Framework applications and is what Actipro exclusively used prior to v21.1. Note that .NET Framework applications with direct assembly references can either use this licensing option or the `RegisterLicense` call licensing option described above. +This legacy licensing option is only available for applications that target the classic .NET Framework and is what Actipro exclusively used prior to v21.1. + +> [!TIP] +> Applications that target .NET Framework and use direct assembly references can still use the `RegisterLicense` call described above, which is easier to apply. ### Summary of Licenses.licx File Licensing Steps -- Enter your *Licensee* and *License Key* during install. -- Compile our sample project to see if you entered them correctly. -- Update your project's *licenses.licx* file and you should be done. +- Download and run the installer. +- When prompted by the installer, enter your *Licensee* and *License Key*. +- Compile and run the Sample Browser application included with the installer to see if the license was applied correctly. +- Update your own project's *licenses.licx* file and you should be done. ### Detailed Licenses.licx File Licensing Steps @@ -113,11 +121,11 @@ The following detailed steps indicate how to install and license Actipro product - Review the configuration options that you'd like to install. For build servers, the documentation, samples, tools, and designer integration install options may be turned off. - - Complete the install. + - Complete the installation. -1. After completing the installation, we highly recommend that you open one of our sample projects for the product and try to rebuild its solution and run it. If it runs without any license popup window displaying, then you installed the control correctly. If it displays a license popup window, then you most likely did not enter the Licensee or License Key correctly in the previous step and need to reinstall. Again, ensure both of them match exactly with what is in our license e-mail. +1. After completing the installation, we highly recommend that you open our Sample Browser application and try to rebuild its solution and run it. If it runs without any license popup window displaying, then you installed the license correctly. If it displays a license popup window, then you most likely did not enter the *Licensee* or *License Key* correctly in the previous step and need to reinstall. Again, ensure both values match exactly with what is in our license e-mail. Copying and pasting from the email is recommended. -1. When adding products to your application the first time... +1. When adding products to your application for the first time... - Add references to the Actipro product assemblies that are being used. Default assembly install paths are indicated in the Readme file. Please note that the *ActiproSoftware.Shared.WinForms.dll* assembly is always required since all products depend on it. @@ -133,42 +141,50 @@ The following detailed steps indicate how to install and license Actipro product 1. In Visual Studio, execute **Clean Solution** and then **Rebuild Solution**. -After following these steps, licensing will be properly applied to your application. +After following these steps, licensing should be properly applied to your application. ### Licenses.licx Files and Valid Entries A *licenses.licx* file is a file that Visual Studio maintains to know what third-party licensed components and controls are included in a project. Visual Studio then uses that information to know what license data it needs to include in the output assembly for your project. Therefore, if you use a third-party component and don't have the proper entries in your project's *licenses.licx* file, no licensing information will be included in your project's output assembly and licensing popup windows will display when your application is run on end user computers. -The contents of a *licenses.licx* file are pretty simple. It needs a single line that supplies license information to all Actipro @@PlatformName control products for which you are licensed. Make sure that the version numbers, including build, match exactly with the version number of the control that is installed. +The contents of a *licenses.licx* file are pretty simple. It needs a single line that supplies license information to all Actipro @@PlatformName control products for which you are licensed. This single line (update the version to match the one you use) should be added to the *licenses.licx* file in any project that uses Actipro @@PlatformName control or SyntaxEditor add-on products: ``` -ActiproSoftware.Products.ActiproLicenseToken, ActiproSoftware.Shared.WinForms, Version=23.1.3.0, Culture=neutral, PublicKeyToken=c27e062d3c1a4763 +ActiproSoftware.Products.ActiproLicenseToken, ActiproSoftware.Shared.WinForms, Version=24.1.0.0, Culture=neutral, PublicKeyToken=c27e062d3c1a4763 ``` +> [!IMPORTANT] +> Make sure that the version numbers, including build, match exactly with the version number of the control that is installed. + ### Notes on Build Machines When Using Licenses.licx Files -Just like when compiling on developer machines, build machines need to be able to locate license information, so that Visual Studio and/or MSBuild can embed it in your application. Therefore, after licensing the product, it must be installed using the already-licensed option at least once on any build machine that will be compiling your application. This process installs the license information into the machine's registry. The install can be done with minimal options and can be uninstalled immediately after. The license information will remain in the machine's registry. +Just like when compiling on developer machines, build machines need to be able to locate license information, so that Visual Studio and/or MSBuild can embed it in your application. Therefore, after licensing the product, it must be installed using the already-licensed option at least once on any build machine that will be compiling your application. This process installs the license information into the machine's registry. The installation can be done with minimal options and can be uninstalled immediately after. The license information will remain in the machine's registry. + +This process is only necessary once per major/minor version (e.g., 23.1). It doesn't need to be repeated for maintenance releases, and it doesn't need to be done at all if you use the `RegisterLicense` call licensing option. -This process is only necessary once per major/minor version (e.g., 2021.1). It doesn't need to be repeated for maintenance releases. And it doesn't need to be done at all if you use the `RegisterLicense` call licensing option. +> [!TIP] +> You can use the `RegisterLicense` licensing method (instead of the *licenses.licx* file method) to avoid the need to perform any licensing configuration on build machines. -We do not charge additional licensing fees for build machines. +Actipro does not charge additional licensing fees for build machines. ### Troubleshooting -#### I've purchased licenses and followed the steps above but a license popup window says 'Error: The licensee or license key that was entered is invalid'. +The legacy *licenses.licx* licensing method can be problematic and easily misconfigured, which is why we strongly recommend using the `RegisterLicense` licensing method instead. For those who need or prefer the *licenses.licx* method, the following can help troubleshooting any licensing issues. -This means that you didn't enter the Licensee and License Key exactly as specified in our license e-mail. Reinstall the product and be sure that both of those items match exactly with what is in our license e-mail. The most common licensing mistake is when the Licensee (organization name) doesn't match what is in the license e-mail. +#### I've purchased licenses and followed the steps above, but a license popup window says 'Error: The licensee or license key that was entered is invalid'. + +This typically indicates that the *Licensee* and *License Key* do not exactly match the values specified in the license e-mail. Reinstall the product and be sure that both of those items match exactly with what is in our license e-mail. The most common licensing mistake is when the *Licensee* (organization name) doesn't match what is in the license e-mail. Copying and pasting values from the e-mail is recommended. #### No licenses.licx file exists in my project. -If you don't see a *licenses.licx* file in your Visual Studio project (generally in the "Properties" folder), first ensure that the "Show All Files" option is set. The "Show All Files" command is in the Visual Studio Solution Explorer tool window's toolbar. If you still don't see one, follow these steps: +If you don't see a *licenses.licx* file in your Visual Studio project (generally in the **Properties** folder), first ensure that the **Show All Files** option is set. The **Show All Files** command is in the Visual Studio **Solution Explorer** tool window's toolbar. If you still don't see one, follow these steps: - Right click on your project and select **Add > Add New Item**. - Select a **Text File** template and name it *licenses.licx*. - Ensure its **Build Action** is set to *Embedded Resource*. This can be done in the Visual Studio **Properties** tool window when the *licenses.licx* file is selected. -- Copy the line from the sample *licenses.licx* file above into it. +- Copy the line from the sample *licenses.licx* file above into the new file and save it. #### A licenses.licx file exists but there is no entry for the Actipro Software product I purchased. @@ -180,17 +196,19 @@ Make sure the *licenses.licx* file is included as an "Embedded Resource" in your #### A licenses.licx file exists and there is an entry for the Actipro Software products, however the version number is wrong. -This situation could occur if you upgraded to a new version. Be sure that you update the version number in the *licenses.licx* in every project that uses the product. The version number should be the same as the version number of the product that is used. Also ensure that the "PublicKeyToken" entry matches with the entry in the sample *licenses.licx* file above. +This situation can occur if you upgraded to a new version. Be sure that you update the version number in the *licenses.licx* in every project that uses the product. The version number should be the same as the version number of the product that is used. Also ensure that the "PublicKeyToken" entry matches with the entry in the sample *licenses.licx* file above. + +Entries in the *licenses.licx* file must be updated with every maintenance release since the build number portion of the version changes with each release. -#### I've purchased licenses, installed using the already licensed option, and followed the steps above but a license popup window says 'Evaluation Release'. +#### I've purchased licenses, installed using the "already licensed" option, and followed the steps above, but a license popup window says 'Evaluation Release'. Windows has a feature where it may virtualize registry entries that are made by the evaluation release of our products post-installation. This is called the "VirtualStore". What happens is that an evaluation registry gets cached in the virtual store and Visual Studio may choose to use that instead of a full release license key that you installed in the setup program. To clear this up, use "regedit", go to this key and remove it: ``` -HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\\Actipro Software\WinForms Controls\ +HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\Actipro Software\WinForms Controls\ ``` -The "Wow6432Node" part of the path above is only used on 64-bit machines, leave it out on 32-bit machines. Then rebuild your project and it should pull in the correct license key you entered during installation. +The `WOW6432Node` part of the path above is only used on 64-bit machines, leave it out on 32-bit machines. Then rebuild your project and it should pull in the correct license key you entered during installation. ## Licensing Questions? diff --git a/Documentation/topics/navigation/extensible-rendering.md b/Documentation/topics/navigation/extensible-rendering.md index 2f4fedd..5a154c4 100644 --- a/Documentation/topics/navigation/extensible-rendering.md +++ b/Documentation/topics/navigation/extensible-rendering.md @@ -9,7 +9,7 @@ Both [NavigationBar](xref:@ActiproUIRoot.Controls.Navigation.NavigationBar) and This object model allows for three levels of rendering customization. Choose which level of customization you wish to use: -- Use Built-In Renderers As-Is - Use the built-in rendering styles without any changes, which include Metro Light, Metro Dark, Office 2007 styles (Blue, Silver, Black) and 2003 styles (Blue, Olive, Silver, and Windows Classic). +- Use Built-In Renderers As-Is - Use the built-in rendering styles without any changes, which include several Metro, Visual Studio, and Office styles. - Modify Properties on Built-In Renderers - Use the built-in renderers but modify the various properties on the renderers to easily create a customized appearance. @@ -17,7 +17,7 @@ This object model allows for three levels of rendering customization. Choose wh These are some sample rendering styles that come with [NavigationBar](xref:@ActiproUIRoot.Controls.Navigation.NavigationBar): -![Screenshot](images/navigationbar-metro-light.png)![Screenshot](images/navigationbar-metro-dark.png)![Screenshot](images/navigationbar-office-2007-blue.png)![Screenshot](images/navigationbar-office-2007-silver.png)![Screenshot](images/navigationbar-xp-blue.png)![Screenshot](images/navigationbar-xp-olive-green.png)![Screenshot](images/navigationbar-xp-silver.png)![Screenshot](images/navigationbar-xp-royale.png) +![Screenshot](images/navigationbar-metro-light.png)![Screenshot](images/navigationbar-metro-dark.png)![Screenshot](images/navigationbar-office-2007-blue.png)![Screenshot](images/navigationbar-office-2007-silver.png)![Screenshot](images/navigationbar-xp-blue.png)![Screenshot](images/navigationbar-xp-olive-green.png)![Screenshot](images/navigationbar-xp-silver.png) ## Use Built-In Renderers As-Is @@ -25,21 +25,21 @@ Navigation includes the following built-in renderers: | Renderer | Description | |-----|-----| -| [MetroNavigationBarRenderer](xref:@ActiproUIRoot.Controls.Navigation.MetroNavigationBarRenderer) | Capable of drawing in a Metro style (Light and Dark). To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Navigation.Office2003NavigationBarRenderer.BaseColorSchemeType). | -| [Office2007NavigationBarRenderer](xref:@ActiproUIRoot.Controls.Navigation.Office2007NavigationBarRenderer) | Capable of drawing all Office 2007 styles (Blue, Silver, and Black). To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Navigation.Office2003NavigationBarRenderer.BaseColorSchemeType). | -| [Office2003NavigationBarRenderer](xref:@ActiproUIRoot.Controls.Navigation.Office2003NavigationBarRenderer) | Capable of drawing all Office 2003 styles (Blue, Olive, Silver, and Windows Classic). To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Navigation.Office2003NavigationBarRenderer.BaseColorSchemeType). | +| [MetroNavigationBarRenderer](xref:@ActiproUIRoot.Controls.Navigation.MetroNavigationBarRenderer) | Capable of drawing in a Metro style (Light and Dark). To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Navigation.OfficeLunaNavigationBarRenderer.BaseColorSchemeType). | +| [OfficeClassicNavigationBarRenderer](xref:@ActiproUIRoot.Controls.Navigation.OfficeClassicNavigationBarRenderer) | Capable of drawing all Office classic styles (Blue, Silver, and Black). To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Navigation.OfficeLunaNavigationBarRenderer.BaseColorSchemeType). | +| [OfficeLunaNavigationBarRenderer](xref:@ActiproUIRoot.Controls.Navigation.OfficeLunaNavigationBarRenderer) | Capable of drawing all Office Luna styles (Blue, Olive Green, Silver), and Windows Classic. To change to a different style, change the [BaseColorSchemeType](xref:@ActiproUIRoot.Controls.Navigation.OfficeLunaNavigationBarRenderer.BaseColorSchemeType). | ## Color Tinting Color Schemes -With one line of code, any `WindowsColorScheme` can be tinted so that all of the colors are altered. For instance, you can easily create a purple color scheme and then use those color schemes with the [Office2007NavigationBarRenderer](xref:@ActiproUIRoot.Controls.Navigation.Office2007NavigationBarRenderer) or [Office2003NavigationBarRenderer](xref:@ActiproUIRoot.Controls.Navigation.Office2003NavigationBarRenderer) classes like this: +With one line of code, any `WindowsColorScheme` can be tinted so that all of the colors are altered. For instance, you can easily create a purple color scheme and then use those color schemes with the [OfficeClassicNavigationBarRenderer](xref:@ActiproUIRoot.Controls.Navigation.OfficeClassicNavigationBarRenderer) or [OfficeLunaNavigationBarRenderer](xref:@ActiproUIRoot.Controls.Navigation.OfficeLunaNavigationBarRenderer) classes like this: ![Screenshot](images/navigationbar-custom-purple.gif) -This code shows how to load a custom purple-tinted color scheme (displayed in the screenshot above) that is based on the built-in Office 2007 blue theme: +This code shows how to load a custom purple-tinted color scheme (displayed in the screenshot above) that is based on the built-in Office classic blue theme: ```csharp -WindowsColorScheme scheme = new WindowsColorScheme("Purple", WindowsColorSchemeType.WindowsXPBlue, Color.Purple); -navigationBar.Renderer = new Office2007NavigationBarRenderer(scheme); +var scheme = new WindowsColorScheme("Purple", WindowsColorSchemeType.OfficeClassicBlue, Color.Purple); +navigationBar.Renderer = new OfficeClassicNavigationBarRenderer(scheme); ``` ## Customizing Specific Colors in a Color Scheme diff --git a/Documentation/topics/navigation/images/navigationbar-xp-royale.png b/Documentation/topics/navigation/images/navigationbar-xp-royale.png deleted file mode 100644 index 5901e1f5d8e43b2de220a61f393b338defa484bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7189 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 F{{kmzP!0e9 diff --git a/Documentation/topics/navigation/index.md b/Documentation/topics/navigation/index.md index 691ed29..0e4df3f 100644 --- a/Documentation/topics/navigation/index.md +++ b/Documentation/topics/navigation/index.md @@ -26,7 +26,7 @@ The [NavigationBar](xref:@ActiproUIRoot.Controls.Navigation.NavigationBar) contr ## Feature List - Complete implementation of Navigation Bar functionality found in Outlook. -- Built-in [rendering styles](extensible-rendering.md). include Metro Light, Metro Dark, Office (Black, Blue, Olive, Silver), and Windows Classic. +- Built-in [rendering styles](extensible-rendering.md). include Metro, Office (Black, Blue, Olive Green, Silver), and Windows Classic. - Robust rendering interface allows for totally [customized rendering](extensible-rendering.md). - [Buttons](run-time-usage.md) provide single-click access to each pane. - Buttons can be collapsed to an overflow area, allowing for more client area real estate. diff --git a/Documentation/topics/quick-starts.md b/Documentation/topics/quick-starts.md index f2b7b2e..ff375cd 100644 --- a/Documentation/topics/quick-starts.md +++ b/Documentation/topics/quick-starts.md @@ -5,19 +5,50 @@ order: 22 --- # Sample Code and QuickStarts -Actipro WinForms Studio includes many demos and QuickStarts in the sample project. +The **Sample Browser** is the main sample project for evaluating Actipro WinForms Studio, and the [full source is available on GitHub](open-source.md). It is designed to provide information, comprehensive demos, and detailed samples for all the Actipro @@PlatformName products. -## What is a Demo? +This source code is invaluable for learning how to use the various control products. -A demo is a large sample that shows the combination of many product features together to create a finished product. +> [!TIP] +> The offline product installer can also be used to install a pre-compiled **Sample Browser** application and the full source code. -Demos are intended to show some ideas of what you can do with our products when you use them in your own applications. +## Downloading the Sample Browser -## What is a QuickStart? +Visit [https://github.com/Actipro/WinForms-Controls](https://github.com/Actipro/WinForms-Controls) and download our repository's source code. The repository contains the full source for the **Sample Browser** project. -A QuickStart is a small sample that is focused on a particular feature area or how to perform a certain task. +GitHub offers several download options including: +- [Cloning the repo with Git](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) using this URL: + - `git clone https://github.com/Actipro/WinForms-Controls.git` +- Downloading a ZIP of the source code's current state. -QuickStarts are the place to go to quickly learn how to get a specific feature working without having to navigate around unrelated code needed to support other features. +> [!TIP] +> It is recommended to clone the repository with the URL so that you can easily pull in future updates. + +## Running the Sample Browser + +Once the repository's source code has been downloaded to a folder, open the `Samples/SampleBrowser/SampleBrowser.sln` file in Visual Studio. + +The projects in that sample are preconfigured to reference our product [NuGet packages](nuget.md). Run the solution to open the **Sample Browser** application. + +> [!IMPORTANT] +> Our **Sample Browser** project requires the .NET SDK (even for .NET Framework targets), and this component may not be installed by default. +> +>If the .NET SDK is not installed, a warning similar to "One or more projects in the solution were not loaded correctly." may be displayed with an error message similar to "The project file cannot be opened. Unable to locate the .NET SDK." displayed in the Visual Studio **Output Window**. +> +> Use the **Visual Studio Installer** to add the .NET SDK component and reload the solution. + +### Changing the Actipro Product Version + +The `Samples/SampleBrowser/ActiproSoftware.References.props` file contains an `ActiproVersion` property that defines the version of the Actipro product NuGet packages to reference. Update that value if you wish to use an alternate version. + +> [!NOTE] +> The samples always are intended to work with the current Actipro product version, and may not compile if used with other versions. However, adjustments to the Actipro product version can be useful when testing prerelease builds. + +## Types of Samples + +Most samples involve one or more simple examples that are focused on a particular feature area or show how to perform a certain task. These kinds of samples, called QuickStarts, are the place to quickly learn how to get a specific feature working without having to navigate around the unrelated code needed to support other features. + +On the other hand, a demo is a large sample that shows the combination of many product features together to create a finished product. Demos are intended to show some ideas of what you can do with our products when you use them in your own applications. ## Reusing Sample Source Code diff --git a/Documentation/topics/recent-updates.md b/Documentation/topics/recent-updates.md index b17d7f3..45214b0 100644 --- a/Documentation/topics/recent-updates.md +++ b/Documentation/topics/recent-updates.md @@ -9,6 +9,12 @@ WinForms Studio's documentation has frequent updates, so this topic is the best If you are looking for a list of recently-added major new features to WinForms Studio products, please see the **Sample Browser**'s Release History pages instead. +## Updates for v24.1.0 + +- **All:** Added [Troubleshooting (General)](troubleshooting.md) topic. + +- **All:** Updated [Sample Code and QuickStarts](quick-starts.md) topic. + ## Updates for v23.1.3 - **SyntaxEditor:** Added the [Overlay Panes](syntaxeditor/user-interface/editor-view/overlay-panes.md) topic for developing custom overlay panes. diff --git a/Documentation/topics/shared/global-renderers.md b/Documentation/topics/shared/global-renderers.md index ce2696d..44c5759 100644 --- a/Documentation/topics/shared/global-renderers.md +++ b/Documentation/topics/shared/global-renderers.md @@ -20,10 +20,10 @@ The [UIRendererManager](xref:@ActiproUIRoot.Controls.UIRendererManager) tracks a Once you have determined which color scheme you'd like to use, set it to the static [UIRendererManager](xref:@ActiproUIRoot.Controls.UIRendererManager).[ColorScheme](xref:@ActiproUIRoot.Controls.UIRendererManager.ColorScheme) property, and all the global renderers will attempt update to use that color scheme. -This code demonstrates how to set the color scheme to a built-in Visual Studio 2005 theme: +This code demonstrates how to set the color scheme to a built-in Metro Light theme: ```csharp -UIRendererManager.ColorScheme = WindowsColorScheme.VisualStudio2005; +UIRendererManager.ColorScheme = WindowsColorScheme.MetroLight; ``` ## Using the UIRendererManager Component @@ -37,16 +37,16 @@ This means that you can drop an instance of [UIRendererManager](xref:@ActiproUIR ## Setting a Custom Global Renderer Factory -There may be certain cases where you'd like to use a global renderer that isn't available by default. For instance, say you'd like to use the [VisualStudio2002ToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudio2002ToolWindowTabStripRenderer) by default for all standalone [TabStrip](xref:@ActiproUIRoot.Controls.Docking.TabStrip) controls in your application. There is no color scheme that will use that renderer since the color schemes default to using the newer Visual Studio renderers instead. Therefore, you have to create a class which implements [IUIRendererFactory](xref:@ActiproUIRoot.Controls.IUIRendererFactory). +There may be certain cases where you'd like to use a global renderer that is different than the default. For instance, say you'd like to use the [VisualStudioToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudioToolWindowTabStripRenderer) by default for all standalone [TabStrip](xref:@ActiproUIRoot.Controls.Docking.TabStrip) controls in your application. You can create a class which implements [IUIRendererFactory](xref:@ActiproUIRoot.Controls.IUIRendererFactory). The [IUIRendererFactory](xref:@ActiproUIRoot.Controls.IUIRendererFactory).[CreateRenderer](xref:@ActiproUIRoot.Controls.IUIRendererFactory.CreateRenderer*) method implemented on the custom factory class is responsible for returning an instance if [IUIRenderer](xref:@ActiproUIRoot.Controls.IUIRenderer), which is the interface that all renderers implement. -This code demonstrates how to implement a renderer factory for our Visual Studio 2002 [TabStrip](xref:@ActiproUIRoot.Controls.Docking.TabStrip) renderer: +This code demonstrates how to implement a renderer factory for our Visual Studio [TabStrip](xref:@ActiproUIRoot.Controls.Docking.TabStrip) renderer: ```csharp public class CustomTabStripRendererFactory : IUIRendererFactory { IUIRenderer IUIRendererFactory.CreateRenderer() { - return new VisualStudio2002ToolWindowTabStripRenderer(); + return new VisualStudioToolWindowTabStripRenderer(); } } ``` @@ -60,7 +60,7 @@ UIRendererManager.RegisterRendererFactory(typeof(ITabStripRenderer), new CustomTabStripRendererFactory(), overwrite: true); ``` -At this point any standalone [TabStrip](xref:@ActiproUIRoot.Controls.Docking.TabStrip) control that doesn't have a control-specific renderer assigned to it will use the global [VisualStudio2002ToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudio2002ToolWindowTabStripRenderer) instance created by the factory. +At this point any standalone [TabStrip](xref:@ActiproUIRoot.Controls.Docking.TabStrip) control that doesn't have a control-specific renderer assigned to it will use the global [VisualStudioToolWindowTabStripRenderer](xref:@ActiproUIRoot.Controls.Docking.VisualStudioToolWindowTabStripRenderer) instance created by the factory. ## Renderer vs. RendererResolved Properties diff --git a/Documentation/topics/supported-technologies.md b/Documentation/topics/supported-technologies.md index 41a837f..ab58c72 100644 --- a/Documentation/topics/supported-technologies.md +++ b/Documentation/topics/supported-technologies.md @@ -33,4 +33,9 @@ The products work best at design-time with the following IDEs: - Visual Studio 2022 - Visual Studio 2019 -- Visual Studio 2017 + +> [!NOTE] +> Older versions of Visual Studio should also work when building applications that use Actipro @@PlatformName controls but may not fully support all designer features and are not actively tested with new releases. Please understand that Actipro Support may not be able assist with issues arising from the use of unsupported IDEs. + +> [!IMPORTANT] +> Our [Sample Browser](quick-starts.md) application requires the .NET SDK. \ No newline at end of file diff --git a/Documentation/topics/syntaxeditor/dotnet-languages-addon/csharp/index.md b/Documentation/topics/syntaxeditor/dotnet-languages-addon/csharp/index.md index 5b041c0..3dc9ce1 100644 --- a/Documentation/topics/syntaxeditor/dotnet-languages-addon/csharp/index.md +++ b/Documentation/topics/syntaxeditor/dotnet-languages-addon/csharp/index.md @@ -10,7 +10,7 @@ The advanced C# syntax language implementation in the SyntaxEditor .NET Language ![Screenshot](../../images/dotnet-addon-csharp.png) > [!IMPORTANT] -> The syntax language and its parser supports C# 8.0 syntax. +> The syntax language and its parser supports C# 9.0 syntax. ## Features diff --git a/Documentation/topics/syntaxeditor/free-languages.md b/Documentation/topics/syntaxeditor/free-languages.md index 9727620..871dddb 100644 --- a/Documentation/topics/syntaxeditor/free-languages.md +++ b/Documentation/topics/syntaxeditor/free-languages.md @@ -22,7 +22,7 @@ The languages each have a language project that can be opened and edited using t `\ProductSamples\SyntaxEditorSamples\Languages\Projects` > [!IMPORTANT] -> The language projects all specify a code generation output path that is valid on our development machines. The Language Designer will warn you with an error when building the language projects if the path does not exist on your machine. In that case, simply change to the code generation output path to another location that is valid for your machine. +> The language projects all specify a relative code generation output path that may not be present on other machines. The Language Designer will warn you with an error when building the language projects if the path does not exist on your machine. In that case, simply change to the code generation output path to another location that is valid for your machine. Each of the languages that have language projects in the folder above have had a language definition file code-generated by the [Language Designer](language-designer-tool/index.md) tool. The language definition files can be distributed with your applications and [loaded at run-time](language-creation/loading-lang-def.md). Language definition files are located in this folder relative to the Sample Browser project's root: diff --git a/Documentation/topics/syntaxeditor/images/language-designer-classification-types.png b/Documentation/topics/syntaxeditor/images/language-designer-classification-types.png index 1e7385e773a45150b61898da9df8553d5f8ea764..47ae7c86663f39c20f9b3c1e74f880bf92dd1dcd 100644 GIT binary patch literal 77675 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

j6G;8-_W8n^j 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.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 SJjd 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 literal 78327 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

+H2^0{RHL(;UN~bnuP)Pr$iEUL`e(E{#3Jm{ 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 NytIl`4fs>g{{fhJT-5*o diff --git a/Documentation/topics/syntaxeditor/language-creation/loading-lang-def.md b/Documentation/topics/syntaxeditor/language-creation/loading-lang-def.md index 4bc6c0e..235ab3f 100644 --- a/Documentation/topics/syntaxeditor/language-creation/loading-lang-def.md +++ b/Documentation/topics/syntaxeditor/language-creation/loading-lang-def.md @@ -18,7 +18,7 @@ The benefit of distributing the language definition as a file with your applicat This code creates a syntax language object based on an *ECMAScript.langdef* file: ```csharp -SyntaxLanguageDefinitionSerializer serializer = new SyntaxLanguageDefinitionSerializer(); +var serializer = new SyntaxLanguageDefinitionSerializer(); string path = @"C:\ECMAScript.langdef"; ISyntaxLanguage language = serializer.LoadFromFile(path); ``` @@ -32,7 +32,7 @@ A language definition can also be distributed in any other form, such as an embe This code creates a syntax language object based on a `Stream` in the variable `stream`: ```csharp -SyntaxLanguageDefinitionSerializer serializer = new SyntaxLanguageDefinitionSerializer(); +var serializer = new SyntaxLanguageDefinitionSerializer(); ISyntaxLanguage language = serializer.LoadFromStream(stream); ``` @@ -60,7 +60,7 @@ public class EcmaScriptSyntaxLanguage : SyntaxLanguage { The language can then be instantiated like this: ```csharp -EcmaScriptSyntaxLanguage language = new EcmaScriptSyntaxLanguage(); +var language = new EcmaScriptSyntaxLanguage(); ``` The [SyntaxLanguageDefinitionSerializer](xref:ActiproSoftware.Text.Implementation.SyntaxLanguageDefinitionSerializer) class has: @@ -70,3 +70,23 @@ The [SyntaxLanguageDefinitionSerializer](xref:ActiproSoftware.Text.Implementatio } - An [InitializeFromStream](xref:ActiproSoftware.Text.Implementation.SyntaxLanguageDefinitionSerializer.InitializeFromStream*) method for initializing an existing syntax language from a `Stream` + +## Using Built-in Classification Types + +When a language definition is loaded, the classification types in the *.langdef* are registered with their associated [highlighting styles](../user-interface/styles/highlighting-styles.md). If a classification type with the same key has not already been registered, the styles defined in the *.langdef* will be used. If a classification type was already defined, the previously registered styles will be used instead. + +There are several built-in classification types (e.g., [Comment](xref:@ActiproUIRoot.Controls.SyntaxEditor.BuiltInClassificationTypeProvider.Comment) or [String](xref:@ActiproUIRoot.Controls.SyntaxEditor.BuiltInClassificationTypeProvider.String)) available from the [BuiltInClassificationTypeProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.BuiltInClassificationTypeProvider) class that are pre-defined with common styles supporting light and [dark themes](../user-interface/styles/dark-themes.md), but these classification types are only used, by default, if they were previously registered. When loading a *.langdef*, you can instruct the serializer to use built-in classification types, if available, for any of the classification types defined by the language even if that classification type was not previously registered. Simply set the [UseBuiltInClassificiationTypes](xref:ActiproSoftware.Text.Implementation.SyntaxLanguageDefinitionSerializer.UseBuiltInClassificiationTypes) property to `true` and the built-in classification types and their styles will be preferred over those defined in the *.langdef* file. + +> [!TIP] +> Language definition files created before version 24.1 will not have the `DarkStyle` data used to define foreground and background colors for use with a dark theme, so using built-in classification types will allow older files to use pre-defined dark colors for certain classification types and improve their appearance in a dark theme. + +The following code demonstrates loading a language from a file using built-in classification types, when available: + +```csharp +var serializer = new SyntaxLanguageDefinitionSerializer(); +serializer.UseBuiltInClassificiationTypes = true; +ISyntaxLanguage language = serializer.LoadFromFile(@"C:\MyFile.langdef"); +``` + +> [!IMPORTANT] +> To use built-in classification types, make sure the keys used in the *.langdef* file match those defined by [ClassificationTypeKeys](xref:ActiproSoftware.Text.ClassificationTypeKeys). \ No newline at end of file diff --git a/Documentation/topics/syntaxeditor/language-designer-tool/live-test.md b/Documentation/topics/syntaxeditor/language-designer-tool/live-test.md index a6ec9ff..6eb2ebc 100644 --- a/Documentation/topics/syntaxeditor/language-designer-tool/live-test.md +++ b/Documentation/topics/syntaxeditor/language-designer-tool/live-test.md @@ -11,7 +11,7 @@ Click the **Live Test** button in the ribbon to open the **Live Test** pane. ## Features and Limitations -The **Live Test** can show syntax highlighting for a language that has a dynamic lexer and classification types defined. It does not yet work with other lexer types. There are a number of enhancements planned for this pane in the future. +The **Live Test** can show syntax highlighting for a language that has a dynamic lexer and classification types defined. It does not yet work with other lexer types. ## Status Bar Information @@ -21,4 +21,7 @@ The right side of the status bar indicates the current line, column, and charact ## Updating the Live Test -You can [build the language project](building-a-project.md) to update the language used in the **Live Test** pane. Changes made to the other configuration panes will not be picked up in **Live Test** until a project build occurs. +You can [build the language project](building-a-project.md) to update the language used in the **Live Test** pane. Most changes made to the other configuration panes will not be picked up in **Live Test** until a project build occurs. + +> [!TIP] +> If the **DefaultStyle** or **DarkStyle** of a classification type is modified after the live test is loaded, those changes should be applied in real time. Dock the **Live Test** and **Classification Types** tool windows side-by-side to easily preview how different styles affect the sample text. diff --git a/Documentation/topics/syntaxeditor/language-designer-tool/other-config-panes.md b/Documentation/topics/syntaxeditor/language-designer-tool/other-config-panes.md index 2e03417..d9a7436 100644 --- a/Documentation/topics/syntaxeditor/language-designer-tool/other-config-panes.md +++ b/Documentation/topics/syntaxeditor/language-designer-tool/other-config-panes.md @@ -25,19 +25,25 @@ Classifications provide the foundation for syntax highlighting. Ranges in text Classification types are used in conjunction with a lexer. Be sure to [define a Lexer](../language-creation/feature-services/lexer.md) as well since classifications are assigned to the various tokens generated by the lexer. -Common classification types are: +Examples of common classification types are: - Comment -- Delimiter - Identifier - Keyword - Number - Operator +- Punctuation - String ### Adding Classification Types -To add classification types, click the **Add** button in the ribbon. A dialog will appear asking you for the keys of the new classification types. Enter one key per line, where each key conforms to standard identifier syntax since they will be used in code generation. A new classification type is created for each key that you enter. +To add classification types, click the **Add** button in the ribbon. A dialog will appear asking you for the keys of the new classification types. Enter one key per line, where each key conforms to standard identifier syntax since they will be used in code generation. + +> [!TIP] +> Use the **Insert** button to select the key of a common classification type. + +A new classification type is created for each key that you enter. Any key that is recognized as common classification type will be prepopulated with a description and predefined colors, when available. + ### Updating Classification Types @@ -47,15 +53,17 @@ A **Description** is a verbose way of describing the classification type that is The **DefaultStyle** indicates the default highlighting style that should be used for syntax highlighting any text in SyntaxEditor that is classified with the classification type. Any `null` values for the style attributes will inherit whatever the default editor text style is. These style attributes can be edited: -- `Foreground` - The foreground brush of the highlighting style. -- `Background` - The background brush of the highlighting style. +- `Foreground` - The foreground brush of the highlighting style (typically for a light theme). +- `Background` - The background brush of the highlighting style (typically for a light theme). - `Bold` - Whether the highlighting style uses boldface. - `Italic` - Whether the highlighting style uses italics. - `BackgroundSpansVirtualSpace` - Whether the background should span virtual space when the styled range includes a line terminator. +The **DarkStyle** indicates just the `Foreground` and `Background` colors that should be used for a dark theme. Other properties (e.g., `Bold`) are unchanged from the **DefaultStyle**. + ### Previewing Classification Types -The **Preview** box below the list shows a preview of the classification type and its default style. +The **Light preview** and **Dark preview** boxes below the list show a preview of the classification type and its style when used with a light or dark theme. ### Removing Classification Types diff --git a/Documentation/topics/syntaxeditor/user-interface/editor-view/current-line-highlighting.md b/Documentation/topics/syntaxeditor/user-interface/editor-view/current-line-highlighting.md index ed6d272..03c6a2f 100644 --- a/Documentation/topics/syntaxeditor/user-interface/editor-view/current-line-highlighting.md +++ b/Documentation/topics/syntaxeditor/user-interface/editor-view/current-line-highlighting.md @@ -5,14 +5,30 @@ order: 11 --- # Current Line Highlighting -SyntaxEditor supports highlighting of the current editor view line, meaning the view line that currently contains the caret. +SyntaxEditor supports two methods of highlighting the current editor view line, meaning the view that currently contains the caret: +- Current line highlighting +- Current line number highlighting -## Activating Current Line Highlighting +## Current Line Highlighting The [SyntaxEditor](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditor).[IsCurrentLineHighlightingEnabled](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditor.IsCurrentLineHighlightingEnabled) property can be set to `true` to activate current line highlighting. It is off by default. -## Changing the Highlight Brush +When active, a border can be rendered above and below the entire line with an optional background brush. -The brush used to render the highlight can be adjusted by the end user since it is exposed via a special classification type's style in the highlighting style registry. +### Changing the Highlight Brush + +The brushes used to render the highlight can be adjusted by the end user since it is exposed via a special classification type's style in the highlighting style registry. See the "Special Classification Types" section in the [Highlighting Style Registries](../styles/highlighting-style-registries.md) topic for more information on how to modify the style. + +## Current Line Number Highlighting + +The [SyntaxEditor](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditor).[IsCurrentLineNumberHighlightingEnabled](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditor.IsCurrentLineHighlightingEnabled) property can be set to `true` to activate current line number highlighting. It is on by default. + +When active and the line number margin is displayed, the current line number will be rendered in a different style than the other line numbers. + +### Changing the Current Line Number Style + +The brushes used to render the line number can be adjusted by the end user since it is exposed via a special classification type's style in the highlighting style registry. + +See the "Special Classification Types" section in the [Highlighting Style Registries](../styles/highlighting-style-registries.md) topic for more information on how to modify the style. \ No newline at end of file diff --git a/Documentation/topics/syntaxeditor/user-interface/editor-view/index.md b/Documentation/topics/syntaxeditor/user-interface/editor-view/index.md index 4a53d77..32e1600 100644 --- a/Documentation/topics/syntaxeditor/user-interface/editor-view/index.md +++ b/Documentation/topics/syntaxeditor/user-interface/editor-view/index.md @@ -81,7 +81,7 @@ See the [Zooming](zooming.md) topic for more information. ## Current Line Highlighting -SyntaxEditor supports highlighting of the current editor view line, meaning the view line that currently contains the caret. +SyntaxEditor supports highlighting of the current editor view line or line number, meaning the view line that currently contains the caret. See the [Current Line Highlighting](current-line-highlighting.md) topic for more information. diff --git a/Documentation/topics/syntaxeditor/user-interface/intelliprompt/image-source-providers.md b/Documentation/topics/syntaxeditor/user-interface/intelliprompt/image-source-providers.md index fd8d338..5bfedb4 100644 --- a/Documentation/topics/syntaxeditor/user-interface/intelliprompt/image-source-providers.md +++ b/Documentation/topics/syntaxeditor/user-interface/intelliprompt/image-source-providers.md @@ -61,6 +61,11 @@ There are several image sets that are included with SyntaxEditor: To change the image set that is currently in effect, set the [CommonImageSourceProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.Implementation.CommonImageSourceProvider).[DefaultImageSet](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.Implementation.CommonImageSourceProvider.DefaultImageSet) property to a [CommonImageSet](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.Implementation.CommonImageSet) value. Note that some UI, such as for the [NavigableSymbolSelector](navigable-symbol-selector.md), may need to be reloaded following a change to this property. +```csharp +// Configure image set for dark theme +CommonImageSourceProvider.DefaultImageSet = CommonImageSet.MetroDark; +``` + ## Custom Image Source Providers It's easy to write your own custom image source provider if none of the implementations above work for your scenario. Simply create a class that implements [IImageSourceProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.IImageSourceProvider). diff --git a/Documentation/topics/syntaxeditor/user-interface/styles/dark-themes.md b/Documentation/topics/syntaxeditor/user-interface/styles/dark-themes.md new file mode 100644 index 0000000..410ea33 --- /dev/null +++ b/Documentation/topics/syntaxeditor/user-interface/styles/dark-themes.md @@ -0,0 +1,453 @@ +--- +title: "Dark Themes" +page-title: "Dark Theme - SyntaxEditor Theme and Highlighting Style Features" +order: 5 +--- +# Dark Themes + +[SyntaxEditor](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditor) supports the ability to easily switch between light and dark themes. + +All of the default styles registered by [DisplayItemClassificationTypeProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider) and [BuiltInClassificationTypeProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.BuiltInClassificationTypeProvider) as well as the built-in language implementations are designed to support either light or dark themes. However, any custom language implementations may require additional configuration to support a dark theme since most styles intended for use on a light background are not very appealing on a dark background. + +## Understanding Dark Themes + +There are several aspects that must be considered to fully support dark themes with [SyntaxEditor](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditor). + +@if (winforms) { +> [!TIP] +> The [SyntaxEditorThemeManager](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager) can manage many of these settings for you, but the concepts are still important to understand. +} +@if (wpf) { +> [!TIP] +> The [SyntaxEditorThemeManager](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager) can manage most of these settings for you, but the concepts are still important to understand. In most cases, the only step necessary to support dark themes is to ensure highlighting styles are using appropriate colors. +} + +@if (winforms) { +### UI Renderer + +The [ISyntaxEditorRenderer](xref:@ActiproUIRoot.Controls.SyntaxEditor.ISyntaxEditorRenderer) affects the appearance of UI elements like scrollbars that are used by the editor. For the best experience using the editor with a dark theme, ensure the editor is configured with a renderer that supports dark themes. + +The following code shows how to use the Metro Dark renderer with an individual instance of SyntaxEditor and synchronize the `ForeColor` and `BackColor` properties with the color scheme: + +```csharp +// Set the renderer +editor.Renderer = new MetroSyntaxEditorRenderer(WindowsColorSchemeType.MetroDark); + +// Configure default colors to match the color scheme +editor.ForeColor = editor.Renderer.ColorScheme.GetKnownColor(KnownColor.WindowText); +editor.BackColor = editor.Renderer.ColorScheme.GetKnownColor(KnownColor.Window); +``` + +The following code shows how to change the global color scheme to Metro Dark and sychronize the `ForeColor` and `BackColor` properties with the color scheme: + +```csharp +// Set the global color scheme +UIRendererManager.ColorScheme = WindowsColorSchemeType.MetroDark; + +// Configure default colors to match the color scheme +editor.ForeColor = UIRendererManager.ColorScheme.GetKnownColor(KnownColor.WindowText); +editor.BackColor = UIRendererManager.ColorScheme.GetKnownColor(KnownColor.Window); +``` + + +> [!IMPORTANT] +> By default, the special Plain Text classification type is registered with a style that does not explicitly define foreground and background colors for the style, so the editor's `ForeColor` and `BackColor` properties will be used for Plain Text unless the style is updated with explicit colors. + +See the [Global Renderers](../../../shared/global-renderers.md) topic for more details on working with renderers. + +} +@if (wpf) { +### Application Theme + +The overall application theme affects default foreground and background colors and the appearance of UI elements like scrollbars that are used by the editor. For the best experience using the editor with a dark theme, ensure the application theme is also configured with a dark theme. [Actipro Themes](../../../themes/index.md) can be used to set a dark theme like Metro Dark. + +```csharp +// Switch to the MetroDark application theme +ThemeManager.CurrentTheme = ThemeNames.MetroDark; +``` + +> [!IMPORTANT] +> By default, the special Plain Text classification type is registered with a style that does not explicitly define foreground and background colors for the style, so the editor's `Foreground` and `Background` properties will be used for Plain Text unless the style is updated with explicit colors. +} + +### Common Image Source Provider + +The static [CommonImageSourceProvider.DefaultImageSet](../intelliprompt/image-source-providers.md) property indicates which set of images will be used in [IntelliPrompt](../intelliprompt/index.md). For dark themes, the [MetroDark](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.Implementation.CommonImageSet.MetroDark) images are designed with colors that are appropriate for dark themes. + +```csharp +// Switch to the MetroDark image set +CommonImageSourceProvider.DefaultImageSet = CommonImageSet.MetroDark; +``` + +### Highlighting Styles + +[Highlighting Styles](highlighting-styles.md) are used to define colors that are associated with certain classifications of text (e.g., comment or keyword) or UI elements like [squiggle lines](../adornment/squiggle-lines.md) and [word wrap glyphs](../editor-view/word-wrap.md). By default, these styles assume the colors are intended for a light background and, without additional configuration, may not be very appealing on a dark background. + +The [Highlighting Style Registry](highlighting-style-registries.md) associated with the editor can be configured with either a light (default) or dark color palette, and switching the [IHighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry).[CurrentColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry.CurrentColorPalette) will update all of the styles to use colors from the selected color palette. + +```csharp +// Switch to the dark color palette +AmbientHighlightingStyleRegistry.Instance.CurrentColorPalette = AmbientHighlightingStyleRegistry.Instance.DarkColorPalette; +``` + +All of the default styles registered by [DisplayItemClassificationTypeProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider) and [BuiltInClassificationTypeProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.BuiltInClassificationTypeProvider) are designed with colors for either light or dark themes. Additionally, the built-in language implementations and all of the [free languages](../../free-languages.md) are similarly designed to support both themes. + +Any custom styles to be used in a dark theme may need to define additional colors if the default colors are not appealing on a dark background. + +## SyntaxEditor Theme Manager + +The [SyntaxEditorThemeManager](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager) class makes it easy to automatically manage the different aspects discussed in the "Understanding Dark Themes" topic above. + +@if (winforms) { +By default, [SyntaxEditorThemeManager](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager) watches the [UIRendererManager](xref:@ActiproUIRoot.Controls.UIRendererManager).[ColorSchemeChanged](xref:@ActiproUIRoot.Controls.UIRendererManager.ColorSchemeChanged) event to detect if the global renderer color scheme is changed between a light and dark color scheme. When a change is detected, the following changes are made:} +@if (wpf) { +By default, [SyntaxEditorThemeManager](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager) watches the [ThemeManager](xref:@ActiproUIRoot.Themes.ThemeManager).[CurrentThemeChanged](xref:@ActiproUIRoot.Themes.ThemeManager.CurrentThemeChanged) event to detect if the application theme is changed between a light and dark theme. When a change is detected, the following changes are made: +} +1. The [CommonImageSourceProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.Implementation.CommonImageSourceProvider).[DefaultImageSet](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.Implementation.CommonImageSourceProvider.DefaultImageSet) is set to either [MetroLight](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.Implementation.CommonImageSet.MetroLight) or [MetroDark](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.Implementation.CommonImageSet.MetroDark). +1. The [CurrentColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry.CurrentColorPalette) of any managed [IHighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry) is changed to either it's [LightColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry.LightColorPalette) or [DarkColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry.DarkColorPalette). This, in turn, will update the style colors. See the "Color Palettes" topic below for more detail. + + By default, the [AmbientHighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.AmbientHighlightingStyleRegistry) is automatically managed by [SyntaxEditorThemeManager](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager). Use the [Manage](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager.Manage*) method manage additional repositories. If automatic management of the [AmbientHighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.AmbientHighlightingStyleRegistry) is not desired, use the [Unmanage](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager.Unmanage*) method to remove it. + +The following sample code shows how to stop managing the [AmbientHighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.AmbientHighlightingStyleRegistry): + +```csharp +// Disable automatically switching between light/dark color palettes +SyntaxEditorThemeManager.Unmanage(AmbientHighlightingStyleRegistry.Instance); + +// Ensure the light color palette is the default (in case a dark theme was active before being unmanaged) +AmbientHighlightingStyleRegistry.Instance.CurrentColorPalette = AmbientHighlightingStyleRegistry.Instance.LightColorPalette; +``` + +If automatic changes to [CommonImageSourceProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.Implementation.CommonImageSourceProvider).[DefaultImageSet](xref:@ActiproUIRoot.Controls.SyntaxEditor.IntelliPrompt.Implementation.CommonImageSourceProvider.DefaultImageSet) are not desired (like in the case of a custom image provider), set the [IsCommonImageSetSynchronizationEnabled](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager.IsCommonImageSetSynchronizationEnabled) property to `false`, as shown in the following sample: + +```csharp +// Disable changing image sets +SyntaxEditorThemeManager.IsCommonImageSetSynchronizationEnabled = false; +``` + +@if (winforms) { +> [!WARNING] +> [SyntaxEditorThemeManager](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditorThemeManager) cannot set the `ForeColor` and `BackColor` properties of each [SyntaxEditor](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditor) control instance in response to theme changes. See the "Setting Explicit Plain Text Colors" section below for details on how to set light and dark colors for Plain Text instead of relying on the `ForeColor` and `BackColor` properties. +} + +## Color Palettes + +A [IHighlightingStyleColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleColorPalette) is a repository of colors intended for use with the color properties of a [IHighlightingStyle](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle) (e.g., [Foreground](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle.Foreground) and [Background](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle.Background)). Each [IHighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry) has a [LightColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry.LightColorPalette) and [DarkColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry.DarkColorPalette). The [CurrentColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry.CurrentColorPalette) property indicates which color palette is active. + +The colors in each color palette are associated with a unique key, which is typically the [IClassificationType](xref:ActiproSoftware.Text.IClassificationType).`Key` associated with a style. The following colors are available for a given key and are accessed through corresponding methods to get or set the color (e.g., [GetForeground](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleColorPalette.GetForeground*) and [SetForeground](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleColorPalette.SetForeground*)): +- Foreground +- Background +- Border +- Strikethrough +- Underline + +When the current color palette of a registry is changed, the colors of all styles in the registry are updated to the colors defined by the new color palette using the rules outlined in the "Applying a Color Palette to a Highlighting Style" section below. + +### Applying a Color Palette to a Highlighting Style + +In a [IHighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry), each registered [IHighlightingStyle](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle) is associated with a [IClassificationType](xref:ActiproSoftware.Text.IClassificationType). The [IClassificationType](xref:ActiproSoftware.Text.IClassificationType).`Key` is used to lookup colors in the color palette. + +- The [Foreground](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle.Foreground) is only updated if [IsForegroundEditable](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle.IsForegroundEditable) is `true`. +- The [Background](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle.Background) is only updated if [IsBackgroundEditable](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle.IsBackgroundEditable) is `true`. +- The [BorderColor](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle.BorderKind) is only updated if [BorderKind](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle.BorderKind) is not [None](xref:@ActiproUIRoot.Controls.Rendering.LineKind.None). +- The [StrikethroughColor](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle.StrikethroughColor) is only updated if [StrikethroughKind](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle.StrikethroughKind) is not [None](xref:@ActiproUIRoot.Controls.Rendering.LineKind.None). +- The [UnderlineColor](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle.UnderlineColor) is only updated if [UnderlineKind](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle.UnderlineKind) is not [None](xref:@ActiproUIRoot.Controls.Rendering.LineKind.None). + +> [!TIP] +> The [ApplyColorPaletteToStyle](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.HighlightingStyleRegistryExtensions.ApplyColorPaletteToStyle*) extension method on [IHighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry) can be used to apply the current color palette to a specific style. + +### Registering Styles Auto-Populate the Color Palettes + +When a [IHighlightingStyle](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle) is registered in a [HighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.Implementation.HighlightingStyleRegistry) instance, the color properties of that style will be used to initialize the light and dark color palettes using similar logic as outlined in the "Apply a Color Palette to a Highlighting Style" topic above. For example, if a style has an editable foreground, then the current foreground color will be used to initialize the color palettes; otherwise, the color is ignored. + +> [!IMPORTANT] +> If the same [IClassificationType](xref:ActiproSoftware.Text.IClassificationType).`Key` has already been registered to a style and the `overwriteExisting` flag was *not* set to `true` then no changes will be made to the color palettes. Additionally, if any color value (e.g. foreground or background) is already assigned for the same `Key`, none of the colors in that color palette will be updated. +> +> To force the light color palette to be updated, set the `overwriteExisting` flag to `true` when registering the style. To force the dark color palette to also be updated, call the [IHighlightingStyleColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleColorPalette).[ClearKey](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleColorPalette.ClearKey*) method on the dark color palette before registering the style with the `overwriteExisting` flag set to `true`. +> +> Alternatively, calling [IHighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry).[Unregister](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry.Unregister*) for the [IClassificationType](xref:ActiproSoftware.Text.IClassificationType) (with the `keepColorPalettes` flag to set `false`) will fully reset the configuration and allow the style to be re-registered with new colors. + +Any colors currently assigned to the style are always assumed to be appropriate for the light color palette even if the dark color palette is currently active, so those color values will be set on the light color palette. + +For the dark color palette, the style's color value will be adapted for use in a dark theme. See the "Adapting Light Color to Dark Color Palette" topic below for details. + +After the style is registered, the [IHighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry).[CurrentColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry.CurrentColorPalette) is applied to the style. This accomplishes two goals: +1. If a dark theme is currently active, then the colors from the dark color palette will be applied to the style even though it was registered with light colors assigned to the style. +2. If a color was already defined on a color palette before the style was registered, then the style will be updated to reflect the color defined by the color palette. + +> [!TIP] +> To ensure a specific dark color is used for a style, make sure the color is set in the dark color palette before the style is registered since registering a style will not replace any colors already defined in the color palettes. + +The following sample code demonstrates registering a highlighting style and allowing the default mapping of colors to the light and dark color palette: + +```csharp +// Create a classification type for a custom error +var classificationType = new ClassificationType("CustomError", "Custom Error"); + +// Create a style designed for light colors +var style = new HighlightingStyle() { + Foreground = Color.FromArgb(255, 255, 0, 0) // Red +}; + +// Register the style, allowing the Red color to be used on the light color palette +// and an adapted color to be used on the dark color palette +AmbientHighlightingStyleRegistry.Instance.Register(classificationType, style); +``` + +The following sample code demonstrates explicitly configuring the dark color palette before registration so that a specific color is used in dark themes instead of the default mapped color. This approach would also be used if the light color did not support an automatic mapping to a dark color. + +```csharp +// Create a classification type for a custom error +var classificationType = new ClassificationType("CustomError", "Custom Error"); + +var lightForeground = Color.FromArgb(255, 255, 0, 0); // Red +var darkForeground = Color.FromArgb(255, 197, 83, 143); // Pink + +// Create a style designed for light colors +var style = new HighlightingStyle() { + Foreground = lightForeground +}; + +// Preconfigure the dark color palette with the desired code for dark themes +AmbientHighlightingStyleRegistry.Instance.DarkColorPalette.SetForeground(classificationType.Key, darkForeground); + +// Register the style, allowing the Red color to be used on the light color palette +// and the pre-defined Pink color to be used on the dark color palette +AmbientHighlightingStyleRegistry.Instance.Register(classificationType, style); +``` + +### Setting Explicit Plain Text Colors + +@if (winforms) { +By default, the special [Plain Text](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.PlainText) classification type is registered with a style that does not explicitly define foreground and background colors for the style, so the editor's `ForeColor` and `BackColor` properties will be used for Plain Text instead. It can be problematic to synchronize these colors when switching between light and dark themes, so explicitly setting the foreground and background colors for Plain Text will result in the `ForeColor` and `BackColor` properties being ignored. +} +@if (wpf) { +By default, the special Plain Text classification type is registered with a style that does not explicitly define foreground and background colors for the style, so the editor's `Foreground` and `Background` properties will be used for Plain Text instead. If preferred, Plain Text can be configured to always use explicit colors for light and dark themes, thus ignoring the `Foreground` and `Backgroup` properties. +} + +The following code demonstrates setting explicit light and dark colors for Plain Text on the ambient registry: + +```csharp +IHighlightingStyleRegistry registry = AmbientHighlightingStyleRegistry.Instance; +string colorKey = DisplayItemClassificationTypeKeys.PlainText; + +// Light colors +registry.LightColorPalette.SetForeground(colorKey, Color.FromArgb(255, 255, 255, 255)); // Black +registry.LightColorPalette.SetBackground(colorKey, Color.FromArgb(255, 0, 0, 0)); // White + +// Dark colors +registry.DarkColorPalette.SetForeground(colorKey, Color.FromArgb(255, 220, 220, 220)); // Light Gray +registry.DarkColorPalette.SetBackground(colorKey, Color.FromArgb(255, 30, 30, 30)); // Dark Gray +``` + +### Modifying a Style Color + +During a style's registration, the colors of the current color palette are applied to the style's color property. After registration, any changes to the style's color properties will also update the corresponding color in the current color palette. This is common if an application allows the end-user to customize styles and will ensure the user can switch between the light and dark color palettes without losing their changes. + +> [!WARNING] +> Changing the color in a color palette will not have any effect on a style until the next time that color palette is applied. + +### Save and Restore Colors + +If an end-user is allowed to customize the colors of a highlighting style, they will typically expect those customizations to persist between application sessions. This can be accomplished by serializing the color data during application shutdown and restoring the color data during application startup. + +The [HighlightingStyleColorPaletteSerializer](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.Implementation.HighlightingStyleColorPaletteSerializer) class is used to serialize and deserialize color data. + +Use the [Serialize](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.Implementation.HighlightingStyleColorPaletteSerializer.Serialize*) method to generate an XML-formatted string of all the color data for a given color palette. During application shutdown, this string can be generated and stored with other application settings to be restored later. + +Use the [Deserialize](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.Implementation.HighlightingStyleColorPaletteSerializer.Deserialize*) method to populate a color palette with the colors defined by a previously serialized XML-formatted string of color data. Existing colors are not cleared before deserialization, but any deserialized colors will replace any colors that were already defined. This ensures colors that were not part of the serialized data are persisted. Call the [IHighlightingStyleColorPalette](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleColorPalette).[ClearAll](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleColorPalette.ClearAll*) method before deserialization if only the deserialized colors should be present after deserialization. + +> [!IMPORTANT] +> If your application supports both light and dark themes, you must serialize both the light and dark color palettes. + +The following code demonstrates saving color data during application shutdown: + +```csharp +// Save ambient registry colors during application shutdown and +// store this data with other persisted application settings +string lightColorData = HighlightingStyleColorPaletteSerializer.Serialize(AmbientHighlightingStyleRegistry.Instance.LightColorPalette); +string darkColorData = HighlightingStyleColorPaletteSerializer.Serialize(AmbientHighlightingStyleRegistry.Instance.DarkColorPalette); +``` + +The following code demonstrates restoring color data during application startup: + +```csharp +// Read previously serialized color data +string lightColorData = GetApplicationSetting("LightColors"); +string darkColorData = GetApplicationSetting("DarkColors"); + +// Restore the ambient registry colors during application startup +// before any styles are registered +if (lightColorData != null) + HighlightingStyleColorPaletteSerializer.Deserialize(AmbientHighlightingStyleRegistry.Instance.LightColorPalette, lightColorData); +if (darkColorData != null) + HighlightingStyleColorPaletteSerializer.Deserialize(AmbientHighlightingStyleRegistry.Instance.DarkColorPalette, darkColorData); + +// Register common classification types +new DisplayItemClassificationTypeProvider().RegisterAll(); +new BuiltInClassificationTypeProvider().RegisterAll(); +``` + +> [!WARNING] +> Color palette colors should be deserialized before styles are registered to ensure the colors are available to be applied to styles when they are registered. Otherwise, the colors may not be reflected until the next time the color palette is changed. + +## Language Definition Files (.langdef) + +When loading a language definition file, it is recommended to enable the use of built-in classification types if any *.langdef* file created prior to version 24.1 will be used. Older files will not have the `DarkStyle` color data, so using built-in classification types will improve the default dark theme experience with those files. + +See the [Loading a Language Definition File](../../language-creation/loading-lang-def.md) topic for more details and sample code. + +## Adapting Light Color for Dark Color Palette + +Most colors designed for use on a light background are not very appealing when used on a dark background. + +When a highlighting style is registered, any colors defined on the style are assumed to be appropriate for a light theme and will be adapted for use on a dark theme if the dark color palette does not already define a corresponding color. This helps improve the default experience on a dark theme for many commonly used colors. + +### Light to Dark Color Map + +The following table shows supported light colors and the corresponding dark color to which they will be mapped: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameLight ColorDark Color
White#FFFFFF#000000
Black#000000#FFFFFF
Red#FF0000#FC3E36
Orange#FF8500#773800
Orange (Alt)#F4A721#773800
Maroon#800000#D69D85
Maroon (Alt)#A31515#D69D85
Tan#D2B48C#DCDCAA
Tan (Alt)#74531F#DCDCAA
Yellow#FFFF00#EFF284
Yellow (Alt)#FFEE62#EFF284
Green#008000#57A64A
Dark Green#006400#608B4E
Teal#008080#4EC9B0
Teal (Alt)#2B91AF#4EC9B0
Blue#0000FF#569CD6
Navy#000080#55AAFF
Magenta#FF00FF#FFAAF9
Purple#800080#D8A0DF
Purple (Alt 1)#8F08C4#CA79EC
Purple (Alt 2)#951795#CA79EC
Gray#808080#9B9B9B
Gray (Alt 1)#C0C0C0#717171
Gray (Alt 2)#7A7A7A#8A8A8A
Gray (Alt 3)#555555#C8C8C8
+ +> [!NOTE] +> Only the red, green, and blue color components are considered when mapping a color from light to dark, and the mapped dark color will maintain the same transparency (alpha component) as the original color. For instance, the semi-transparent white color `#80FFFFFF` will be mapped as the semi-transparent black color `#80000000`. + +## Importing Visual Studio Settings + +Prior to version 24.1, the most common method of supporting dark themes was to import a Visual Studio Settings file (*.vssettings*) pre-configured with colors suitable for use with a dark theme. While importing a VS Settings file is still supported, it is no longer recommended since dark themes are natively supported. + +> [!WARNING] +> When a *.vssettings* file is imported, the color properties of the registered highlighting styles are replaced with the color values defined in the file, and any changes to a highlighting style's color will update the current color map. When importing settings intended for use with a dark theme, it is recommended to have a dark theme active before importing so the correct color map is updated. + +See the "Importing Visual Studio Settings" section of the [Highlighting Style Registries](highlighting-style-registries.md) topic for more information on importing a Visual Studio settings file. \ No newline at end of file diff --git a/Documentation/topics/syntaxeditor/user-interface/styles/highlighting-style-registries.md b/Documentation/topics/syntaxeditor/user-interface/styles/highlighting-style-registries.md index 181f346..bb99f9c 100644 --- a/Documentation/topics/syntaxeditor/user-interface/styles/highlighting-style-registries.md +++ b/Documentation/topics/syntaxeditor/user-interface/styles/highlighting-style-registries.md @@ -109,6 +109,36 @@ Only the foreground and background are editable in the default [IHighlightingSty +[CaretPrimary](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.CaretPrimary) Property + + + + +Gets the [IClassificationType](xref:ActiproSoftware.Text.IClassificationType) to use for the primary caret when multiple carets are active. + +Only the foreground is editable in the default [IHighlightingStyle](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle) that is registered for this classification type. + + + + + + + +[CaretSecondary](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.CaretSecondary) Property + + + + +Gets the [IClassificationType](xref:ActiproSoftware.Text.IClassificationType) to use for the secondary caret when multiple carets are active. + +Only the foreground is editable in the default [IHighlightingStyle](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle) that is registered for this classification type. + + + + + + + [CodeSnippetDependentField](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.CodeSnippetDependentField) Property @@ -304,6 +334,19 @@ Only the background is editable in the default [IHighlightingStyle](xref:@Actipr +[LineNumberCurrent](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.LineNumberCurrent) Property + + + + +Gets the [IClassificationType](xref:ActiproSoftware.Text.IClassificationType) to use for the current line in the line number margin when [IsCurrentLineNumberHighlightingEnabled](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditor.IsCurrentLineNumberHighlightingEnabled) is active. + + + + + + + [LineNumbers](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.LineNumbers) Property @@ -311,8 +354,6 @@ Only the background is editable in the default [IHighlightingStyle](xref:@Actipr Gets the [IClassificationType](xref:ActiproSoftware.Text.IClassificationType) to use for the line number margin. -Only the foreground and background are editable in the default [IHighlightingStyle](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle) that is registered for this classification type. - @@ -436,6 +477,21 @@ Only the foreground is editable in the default [IHighlightingStyle](xref:@Actipr + + + +[WordWrapGlyph](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider.WordWrapGlyph) Property + + + + +Gets the [IClassificationType](xref:ActiproSoftware.Text.IClassificationType) to use for word wrap glyphs. + +Only the foreground is editable in the default [IHighlightingStyle](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle) that is registered for this classification type. + + + + @@ -470,9 +526,15 @@ Back to the example scenario, for any [SyntaxEditor](xref:@ActiproUIRoot.Control This code creates a custom registry and assigns it to a console window SyntaxEditor: ```csharp -SyntaxEditor console = new SyntaxEditor(); +// Create a custom registry IHighlightingStyleRegistry consoleWindowRegistry = new HighlightingStyleRegistry(); consoleWindowRegistry.Description = "Console Window"; + +// Optionally manage the registry for automatic changes in light/dark themes +SyntaxEditorThemeManager.Manage(consoleWindowRegistry); + +// Configure the editor to use the custom registry +SyntaxEditor console = new SyntaxEditor(); console.DefaultHighlightingStyleRegistry = consoleWindowRegistry; ``` @@ -490,37 +552,6 @@ One possible scenario is if you wish to have some classification types that shou In these scenarios, it's possible to have an [IClassificationTag](xref:ActiproSoftware.Text.Tagging.IClassificationTag) specify an alternate [IHighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistry) to use. This is done by having the [IClassificationTag](xref:ActiproSoftware.Text.Tagging.IClassificationTag) implement the [IHighlightingStyleRegistryProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistryProvider) interface. The classification tag returns the custom registry via the [HighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyleRegistryProvider.HighlightingStyleRegistry) property. Classification taggers can use the [StyleRegistryClassificationTag](xref:ActiproSoftware.Text.Tagging.Implementation.StyleRegistryClassificationTag) class for this purpose. When the normal highlighting style registry is fine for use, use the smaller [ClassificationTag](xref:ActiproSoftware.Text.Tagging.Implementation.ClassificationTag) class instead. -@if (wpf) { - ## Switching to a Dark Theme -All of the default styles registered by [DisplayItemClassificationTypeProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider) and the built-in language implementations are intended to be used on an editor with a light background. However, in cases where a dark application theme has been applied, these default styles will not be very appealing. - -The [Actipro Themes](../../../themes/index.md) system supports dark themes, such as Metro Dark. You can attach to the [ThemeManager](xref:@ActiproUIRoot.Themes.ThemeManager).[CurrentThemeChanged](xref:@ActiproUIRoot.Themes.ThemeManager.CurrentThemeChanged) event to know when the current theme is changed by the end user. In this case, add some detection for whether the current theme has changed from a light to dark, or dark to light one. If a theme is changing but both the old and new themes were light background themes, nothing needs to be done. - -Let's see an example of how to reset the [AmbientHighlightingStyleRegistry](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.AmbientHighlightingStyleRegistry) instance. In cases where the end user is changing to a light theme from a dark theme, or vice versa, add this in the [CurrentThemeChanged](xref:@ActiproUIRoot.Themes.ThemeManager.CurrentThemeChanged) event handler: - -```csharp -// Unregister all classification types -var classificationTypes = AmbientHighlightingStyleRegistry.Instance.ClassificationTypes.ToArray(); -foreach (var classificationType in classificationTypes) - AmbientHighlightingStyleRegistry.Instance.Unregister(classificationType); - -// Re-register common classification types -new DisplayItemClassificationTypeProvider().RegisterAll(); - -// NOTE: Possibly load up syntax language instances you use so their various customized styles get registered -``` - -The above code unregisters all the registered classification types from the ambient registry. Then it re-registers the display item classification types and optionally loads up syntax languages that are used by the app so their customized classification types and styles get re-registered. At this point, the registry is ready to go for light themes. - -If a dark theme is becoming active, there is some additional work to do. Each of the styles that have been registered into the registry needs to be altered to look good on a dark background. - -One way to do this is to enumerate through the registered styles and update the foreground and background colors as appropriate. You could have stored some pre-defined colors in a custom data structure and used that to know how to update the styles. - -Alternatively, you could use the feature described in the "Importing Visual Studio Settings" section above. The Sample Browser shows an example of this. It has a pre-defined *Dark.vssettings* file that includes a number of style definitions that render well on dark editor backgrounds. After the code above is executed, this *Dark.vssettings* file is loaded and it will update the styles of any styles that have already been registered on the registry. - -> [!IMPORTANT] -> Don't forget to also update the static [CommonImageSourceProvider.DefaultImageSet](../intelliprompt/image-source-providers.md) property appropriately after a theme change to ensure the proper image theme is loaded for IntelliPrompt. - -} +See the [Dark Themes](dark-themes.md) topic for details on how to support switching to a dark theme. \ No newline at end of file diff --git a/Documentation/topics/syntaxeditor/user-interface/styles/index.md b/Documentation/topics/syntaxeditor/user-interface/styles/index.md index 9113313..1d68738 100644 --- a/Documentation/topics/syntaxeditor/user-interface/styles/index.md +++ b/Documentation/topics/syntaxeditor/user-interface/styles/index.md @@ -24,3 +24,11 @@ See the [Highlighting Style Registries](highlighting-style-registries.md) topic The `TextStylePreview` control is a small control that is used on options dialogs to show the end user a preview of how an [IHighlightingStyle](xref:@ActiproUIRoot.Controls.SyntaxEditor.Highlighting.IHighlightingStyle) will render. See the [TextStylePreview Control](text-style-preview.md) topic for more information. + +## Dark Themes + +[SyntaxEditor](xref:@ActiproUIRoot.Controls.SyntaxEditor.SyntaxEditor) supports the ability to easily switch between light and dark themes. + +All of the default styles registered by [DisplayItemClassificationTypeProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.DisplayItemClassificationTypeProvider) and [BuiltInClassificationTypeProvider](xref:@ActiproUIRoot.Controls.SyntaxEditor.BuiltInClassificationTypeProvider) as well as the built-in language implementations are designed to support either light or dark themes. However, any custom language implementations may require additional configuration to support a dark theme since most styles intended for use on a light background are not very appealing on a dark background. + +See the [Dark Themes](dark-themes.md) topic for more information. diff --git a/Documentation/topics/toc.yml b/Documentation/topics/toc.yml index 180e24e..3469597 100644 --- a/Documentation/topics/toc.yml +++ b/Documentation/topics/toc.yml @@ -394,6 +394,8 @@ items: href: syntaxeditor/user-interface/styles/highlighting-style-registries.md - name: "TextStylePreview Control" href: syntaxeditor/user-interface/styles/text-style-preview.md + - name: "Dark Themes" + href: syntaxeditor/user-interface/styles/dark-themes.md - name: "Adornment Features" href: syntaxeditor/user-interface/adornment/index.md items: @@ -745,6 +747,8 @@ items: items: - name: "Overview" href: conversion/index.md + - name: "Converting to v24.1" + href: conversion/converting-to-v24-1.md - name: "Converting to v23.1" href: conversion/converting-to-v23-1.md - name: "Converting to v22.1" @@ -755,6 +759,8 @@ items: href: conversion/converting-to-v20-1.md - name: "Converting to v12.1" href: conversion/converting-to-v12-1.md +- name: "Troubleshooting (General)" + href: troubleshooting.md - name: "Supported Technologies" href: supported-technologies.md - name: "GitHub Open-Source" diff --git a/Documentation/topics/troubleshooting.md b/Documentation/topics/troubleshooting.md new file mode 100644 index 0000000..bd36532 --- /dev/null +++ b/Documentation/topics/troubleshooting.md @@ -0,0 +1,25 @@ +--- +title: "Troubleshooting (General)" +page-title: "Troubleshooting (General)" +order: 40 +--- +# Troubleshooting (General) + +This topic provides several tips on common questions or issues that you may encounter on the products included in WinForms Studio. + +There also are some product-specific troubleshooting topics that provide information related to individual products: + +- [Bars Troubleshooting](bars/troubleshooting.md) +- [Wizard Troubleshooting](wizard/troubleshooting.md) + +## Licensing Issues + +Please refer to the "Troubleshooting" section of the [Licensing](licensing.md) topic. + +## Error: The SDK 'Microsoft.NET.Sdk.WindowsDesktop' specified could not be found. + +This message is typically displayed when attempting to open an SDK-style project in an older version of Visual Studio that does not support these projects. Make sure you are using Visual Studio 2019 or later when opening SDK-style projects and that the .NET SDK component is installed. + +## Error: The project file cannot be opened. Unabled to locate the .NET SDK. + +This message is typically displayed when attempting to open an SDK-style project in Visual Studio and the .NET SDK is not installed. Some older versions of Visual Studio may not install the .NET SDK by default. Use the Visual Studio Installer to add the .NET SDK component and reload the solution. \ No newline at end of file diff --git a/Documentation/topics/visual-studio-designer.md b/Documentation/topics/visual-studio-designer.md index 4460f2d..bc61576 100644 --- a/Documentation/topics/visual-studio-designer.md +++ b/Documentation/topics/visual-studio-designer.md @@ -86,6 +86,8 @@ The following outlines the compatibility of Actipro WinForms Controls with versi +*The above table if for .NET Core / .NET5+ only and does not apply to any version of .NET Framework.* + ### .NET Framework Designer Workaround If you are unable to use a WinForms Controls version that is compatible with the version of Visual Studio you are using, you may be able to use the .NET Framework designer support instead. @@ -107,7 +109,7 @@ In the following example, the .NET Framework designer capabilities will be used net462;net471;netcoreapp3.1;net60-windows ``` > [!WARNING] -> Starting with Visual Studio 2002 v17.6, mixing .NET Framework-based targets (e.g., `net48`) with .NET Core-based targets (e.g., `net6.0-windows`) is only supported if the .NET Framework-based target is listed first. This will force the .NET Framework designer functionality and requires the installer option mentioned in the ".NET Framework Support" section above. To continue using the .NET Core-based designer functionality in Visual Studio 17.6, all .NET Framework-based targets must be removed. +> Starting with Visual Studio 2022 v17.6, mixing .NET Framework-based targets (e.g., `net48`) with .NET Core-based targets (e.g., `net6.0-windows`) is only supported if the .NET Framework-based target is listed first. This will force the .NET Framework designer functionality and requires the installer option mentioned in the ".NET Framework Support" section above. To continue using the .NET Core-based designer functionality in Visual Studio 17.6, all .NET Framework-based targets must be removed. > [!IMPORTANT] > See the requirements noted above for .NET Framework or .NET Core / .NET 5+ based on which target framework will govern the designer capabilities of your project. diff --git a/License.md b/License.md index f156732..b30d895 100644 --- a/License.md +++ b/License.md @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2023 Actipro Software LLC. +Copyright (c) 2024 Actipro Software LLC. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Readme.md b/Readme.md index 6b6ef21..4ea402f 100644 --- a/Readme.md +++ b/Readme.md @@ -93,7 +93,8 @@ Use these packages for SyntaxEditor's premium language add-ons as needed, which - **Frameworks:** .NET 5+, .NET Core 3.1, and .NET Framework 4.6.2+ - **Architectures:** Any CPU, ARM64, x64, and x86 -- **IDEs:** Visual Studio 2017-2022 +- **IDEs:** Visual Studio 2019-2022 +- **SDKs:** .NET SDK required for sample projects ## Contributing diff --git a/Samples/SampleBrowser/ActiproSoftware.References.props b/Samples/SampleBrowser/ActiproSoftware.References.props new file mode 100644 index 0000000..e643a60 --- /dev/null +++ b/Samples/SampleBrowser/ActiproSoftware.References.props @@ -0,0 +1,22 @@ + + + + + + 24.1.0 + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/SampleBrowser/ProductSamples/BarsSamples/Demo/Features/MainForm.Designer.cs b/Samples/SampleBrowser/ProductSamples/BarsSamples/Demo/Features/MainForm.Designer.cs index 63cebe2..d3b1a2b 100644 --- a/Samples/SampleBrowser/ProductSamples/BarsSamples/Demo/Features/MainForm.Designer.cs +++ b/Samples/SampleBrowser/ProductSamples/BarsSamples/Demo/Features/MainForm.Designer.cs @@ -26,25 +26,23 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); ActiproSoftware.UI.WinForms.Controls.Bars.BarLabelCommand labelsTestLabelBarLabelCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarLabelCommand("Labels", "TestLabel", "User Interface Options", -1); ActiproSoftware.UI.WinForms.Controls.Bars.BarPopupButtonCommand newMenuNewMenuBarPopupButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarPopupButtonCommand("New Menu", "New Menu", "New Menu", -1); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeBlueBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOffice2003Blue", "Office 2003 (Blue)", 13); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeSilverBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOffice2003Silver", "Office 2003 (Silver)", 15); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeOliveGreenBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOffice2003OliveGreen", "Office 2003 (Olive Green)", 14); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererVisualStudioBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererVisualStudio2005", "Visual Studio 2005", 19); + ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeBlueBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOfficeLunaBlue", "Luna (Blue)", 13); + ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeSilverBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOfficeLunaSilver", "Luna (Silver)", 15); + ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeOliveGreenBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOfficeLunaOliveGreen", "Luna (Olive Green)", 14); + ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererVisualStudioBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererVisualStudioClassic", "Visual Studio (Classic)", 19); ActiproSoftware.UI.WinForms.Controls.Bars.BarPopupButtonCommand viewRendererBarPopupButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarPopupButtonCommand("View", "Renderer", "Renderer", -1); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlueBarButtonLink = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlueBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeOliveGreenBarButtonLink = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeOliveGreenBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeSilverBarButtonLink = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeSilverBarButtonCommand); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeRoyaleBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOffice2003Royale", "Office 2003 (Royale)", 16); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeRoyaleBarButtonLink = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeRoyaleBarButtonCommand); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeWindowsClassicBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOffice2003WindowsClassic", "Office 2003 (Windows Classic)", 17); + ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeWindowsClassicBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOfficeWindowsClassic", "Office Classic (Windows Classic)", 17); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeWindowsClassicBarButtonLink = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeWindowsClassicBarButtonCommand); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeBlackBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOffice2007Black", "Office 2007 (Black)", 15); + ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeBlackBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOfficeClassicBlack", "Office Classic (Black)", 15); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlackBarButtonLink = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlackBarButtonCommand); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeBlueBarButtonCommand2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOffice2007Blue", "Office 2007 (Blue)", 13); + ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeBlueBarButtonCommand2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOfficeClassicBlue", "Office Classic (Blue)", 13); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlueBarButtonLink2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlueBarButtonCommand2); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeSilverBarButtonCommand2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOffice2007Silver", "Office 2007 (Silver)", 16); + ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererOfficeSilverBarButtonCommand2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererOfficeClassicSilver", "Office Classic (Silver)", 16); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeSilverBarButtonLink2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeSilverBarButtonCommand2); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererVisualStudioBarButtonCommand2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererVisualStudio2002", "Visual Studio 2002", 18); + ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererVisualStudioBarButtonCommand2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererWindowsClassic", "Windows Classic", 17); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererVisualStudioBarButtonLink = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererVisualStudioBarButtonCommand2); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererVisualStudioBarButtonLink2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererVisualStudioBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererCustomTanBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererCustomTan", "Custom Tan", -1); @@ -114,7 +112,6 @@ private void InitializeComponent() { ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlueBarButtonLink3 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlueBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeOliveGreenBarButtonLink2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeOliveGreenBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeSilverBarButtonLink3 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeSilverBarButtonCommand); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeRoyaleBarButtonLink2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeRoyaleBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeWindowsClassicBarButtonLink2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeWindowsClassicBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererVisualStudioBarButtonLink3 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererVisualStudioBarButtonCommand2); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererVisualStudioBarButtonLink4 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererVisualStudioBarButtonCommand); @@ -163,6 +160,7 @@ private void InitializeComponent() { ActiproSoftware.UI.WinForms.Controls.Bars.BarComboBoxCommand formatFontSizeBarComboBoxCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarComboBoxCommand("Format", "FontSize", "Font Size", -1); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererMetroLightBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererMetroLight", "Metro Light", 27); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererMetroDarkBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererMetroDark", "Metro Dark", 27); + ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand viewRendererVisualStudioBlueBarButtonCommand = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonCommand("View", "RendererVisualStudioBlue", "Visual Studio (Blue)", 28); ActiproSoftware.UI.WinForms.Controls.Bars.DockableToolBar formatDockableToolBar = new ActiproSoftware.UI.WinForms.Controls.Bars.DockableToolBar("Format"); ActiproSoftware.UI.WinForms.Controls.Bars.BarComboBoxLink formatFontSizeBarComboBoxLink = new ActiproSoftware.UI.WinForms.Controls.Bars.BarComboBoxLink(formatFontSizeBarComboBoxCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink formatAlignLeftBarButtonLink = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(formatAlignLeftBarButtonCommand); @@ -207,10 +205,10 @@ private void InitializeComponent() { ActiproSoftware.UI.WinForms.Controls.Bars.BarPopupButtonLink viewRendererBarPopupButtonLink2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarPopupButtonLink(viewRendererBarPopupButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererMetroLightBarButtonLink = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererMetroLightBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererMetroDarkBarButtonLink = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererMetroDarkBarButtonCommand); + ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererVisualStudioBlueBarButtonLink = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererVisualStudioBlueBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlueBarButtonLink4 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlueBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeOliveGreenBarButtonLink3 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeOliveGreenBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeSilverBarButtonLink4 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeSilverBarButtonCommand); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeRoyaleBarButtonLink3 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeRoyaleBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeWindowsClassicBarButtonLink3 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeWindowsClassicBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlackBarButtonLink2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlackBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlueBarButtonLink5 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlueBarButtonCommand2); @@ -271,10 +269,10 @@ private void InitializeComponent() { ActiproSoftware.UI.WinForms.Controls.Bars.BarPopupButtonLink viewRendererBarPopupButtonLink3 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarPopupButtonLink(viewRendererBarPopupButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererMetroLightBarButtonLink2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererMetroLightBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererMetroDarkBarButtonLink2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererMetroDarkBarButtonCommand); + ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererVisualStudioBlueBarButtonLink2 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererVisualStudioBlueBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlueBarButtonLink6 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlueBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeOliveGreenBarButtonLink4 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeOliveGreenBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeSilverBarButtonLink6 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeSilverBarButtonCommand); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeRoyaleBarButtonLink4 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeRoyaleBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeWindowsClassicBarButtonLink4 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeWindowsClassicBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlackBarButtonLink3 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlackBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlueBarButtonLink7 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlueBarButtonCommand2); @@ -311,10 +309,10 @@ private void InitializeComponent() { ActiproSoftware.UI.WinForms.Controls.Bars.BarPopupButtonLink viewRendererBarPopupButtonLink4 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarPopupButtonLink(viewRendererBarPopupButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererMetroLightBarButtonLink3 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererMetroLightBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererMetroDarkBarButtonLink3 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererMetroDarkBarButtonCommand); + ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererVisualStudioBlueBarButtonLink3 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererVisualStudioBlueBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlueBarButtonLink8 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlueBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeOliveGreenBarButtonLink5 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeOliveGreenBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeSilverBarButtonLink8 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeSilverBarButtonCommand); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeRoyaleBarButtonLink5 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeRoyaleBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeWindowsClassicBarButtonLink5 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeWindowsClassicBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlackBarButtonLink4 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlackBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlueBarButtonLink9 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlueBarButtonCommand2); @@ -326,10 +324,10 @@ private void InitializeComponent() { ActiproSoftware.UI.WinForms.Controls.Bars.BarPopupButtonLink viewRendererBarPopupButtonLink5 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarPopupButtonLink(viewRendererBarPopupButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererMetroLightBarButtonLink4 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererMetroLightBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererMetroDarkBarButtonLink4 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererMetroDarkBarButtonCommand); + ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererVisualStudioBlueBarButtonLink4 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererVisualStudioBlueBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlueBarButtonLink10 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlueBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeOliveGreenBarButtonLink6 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeOliveGreenBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeSilverBarButtonLink10 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeSilverBarButtonCommand); - ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeRoyaleBarButtonLink6 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeRoyaleBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeWindowsClassicBarButtonLink6 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeWindowsClassicBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlackBarButtonLink5 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlackBarButtonCommand); ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink viewRendererOfficeBlueBarButtonLink11 = new ActiproSoftware.UI.WinForms.Controls.Bars.BarButtonLink(viewRendererOfficeBlueBarButtonCommand2); @@ -431,53 +429,49 @@ private void InitializeComponent() { viewRendererOfficeBlueBarButtonCommand.CanCustomizeCreate = false; viewRendererOfficeBlueBarButtonCommand.Checkable = true; viewRendererOfficeBlueBarButtonCommand.CheckGroupName = "Renderer"; - viewRendererOfficeBlueBarButtonCommand.CustomizeListText = "(Renderer) Office 2003 (Blue)"; - viewRendererOfficeBlueBarButtonCommand.Text = "Office 2003 (Blue)"; + viewRendererOfficeBlueBarButtonCommand.CustomizeListText = "(Renderer) Luna (Blue)"; + viewRendererOfficeBlueBarButtonCommand.Text = "Luna (Blue)"; viewRendererOfficeSilverBarButtonCommand.CanCustomizeCreate = false; viewRendererOfficeSilverBarButtonCommand.Checkable = true; viewRendererOfficeSilverBarButtonCommand.CheckGroupName = "Renderer"; - viewRendererOfficeSilverBarButtonCommand.CustomizeListText = "(Renderer) Office 2003 (Silver)"; - viewRendererOfficeSilverBarButtonCommand.Text = "Office 2003 (Silver)"; + viewRendererOfficeSilverBarButtonCommand.CustomizeListText = "(Renderer) Luna (Silver)"; + viewRendererOfficeSilverBarButtonCommand.Text = "Luna (Silver)"; viewRendererOfficeOliveGreenBarButtonCommand.CanCustomizeCreate = false; viewRendererOfficeOliveGreenBarButtonCommand.Checkable = true; viewRendererOfficeOliveGreenBarButtonCommand.CheckGroupName = "Renderer"; - viewRendererOfficeOliveGreenBarButtonCommand.CustomizeListText = "(Renderer) Office 2003 (Olive Green)"; - viewRendererOfficeOliveGreenBarButtonCommand.Text = "Office 2003 (Olive Green)"; + viewRendererOfficeOliveGreenBarButtonCommand.CustomizeListText = "(Renderer) Luna (Olive Green)"; + viewRendererOfficeOliveGreenBarButtonCommand.Text = "Luna (Olive Green)"; viewRendererVisualStudioBarButtonCommand.CanCustomizeCreate = false; viewRendererVisualStudioBarButtonCommand.Checkable = true; viewRendererVisualStudioBarButtonCommand.CheckGroupName = "Renderer"; - viewRendererVisualStudioBarButtonCommand.CustomizeListText = "(Renderer) Office 2003 (Windows Classic)"; - viewRendererVisualStudioBarButtonCommand.Text = "Visual Studio 2005"; + viewRendererVisualStudioBarButtonCommand.CustomizeListText = "(Renderer) Visual Studio (Classic)"; + viewRendererVisualStudioBarButtonCommand.Text = "Visual Studio (Classic)"; viewRendererBarPopupButtonCommand.CanTearOff = true; - viewRendererOfficeRoyaleBarButtonCommand.CanCustomizeCreate = false; - viewRendererOfficeRoyaleBarButtonCommand.Checkable = true; - viewRendererOfficeRoyaleBarButtonCommand.CheckGroupName = "Renderer"; - viewRendererOfficeRoyaleBarButtonCommand.Text = "Office 2003 (Royale)"; viewRendererOfficeWindowsClassicBarButtonCommand.CanCustomizeCreate = false; viewRendererOfficeWindowsClassicBarButtonCommand.Checkable = true; viewRendererOfficeWindowsClassicBarButtonCommand.CheckGroupName = "Renderer"; - viewRendererOfficeWindowsClassicBarButtonCommand.CustomizeListText = "(Renderer) Office 2003 (Windows Classic)"; - viewRendererOfficeWindowsClassicBarButtonCommand.Text = "Office 2003 (Windows Classic)"; + viewRendererOfficeWindowsClassicBarButtonCommand.CustomizeListText = "(Renderer) Office Classic (Windows Classic)"; + viewRendererOfficeWindowsClassicBarButtonCommand.Text = "Office Classic (Windows Classic)"; viewRendererOfficeBlackBarButtonCommand.CanCustomizeCreate = false; viewRendererOfficeBlackBarButtonCommand.Checkable = true; viewRendererOfficeBlackBarButtonCommand.CheckGroupName = "Renderer"; - viewRendererOfficeBlackBarButtonCommand.CustomizeListText = "(Renderer) Office 2007 (Black)"; - viewRendererOfficeBlackBarButtonCommand.Text = "Office 2007 (Black)"; + viewRendererOfficeBlackBarButtonCommand.CustomizeListText = "(Renderer) Office Classic (Black)"; + viewRendererOfficeBlackBarButtonCommand.Text = "Office Classic (Black)"; viewRendererOfficeBlueBarButtonCommand2.CanCustomizeCreate = false; viewRendererOfficeBlueBarButtonCommand2.Checkable = true; viewRendererOfficeBlueBarButtonCommand2.CheckGroupName = "Renderer"; - viewRendererOfficeBlueBarButtonCommand2.CustomizeListText = "(Renderer) Office 2007 (Blue)"; - viewRendererOfficeBlueBarButtonCommand2.Text = "Office 2007 (Blue)"; + viewRendererOfficeBlueBarButtonCommand2.CustomizeListText = "(Renderer) Office Classic (Blue)"; + viewRendererOfficeBlueBarButtonCommand2.Text = "Office Classic (Blue)"; viewRendererOfficeSilverBarButtonCommand2.CanCustomizeCreate = false; viewRendererOfficeSilverBarButtonCommand2.Checkable = true; viewRendererOfficeSilverBarButtonCommand2.CheckGroupName = "Renderer"; - viewRendererOfficeSilverBarButtonCommand2.CustomizeListText = "(Renderer) Office 2007 (Silver)"; - viewRendererOfficeSilverBarButtonCommand2.Text = "Office 2007 (Silver)"; + viewRendererOfficeSilverBarButtonCommand2.CustomizeListText = "(Renderer) Office Classic (Silver)"; + viewRendererOfficeSilverBarButtonCommand2.Text = "Office Classic (Silver)"; viewRendererVisualStudioBarButtonCommand2.CanCustomizeCreate = false; viewRendererVisualStudioBarButtonCommand2.Checkable = true; viewRendererVisualStudioBarButtonCommand2.CheckGroupName = "Renderer"; - viewRendererVisualStudioBarButtonCommand2.CustomizeListText = "(Renderer) Office 2003 (Windows Classic)"; - viewRendererVisualStudioBarButtonCommand2.Text = "Visual Studio 2002"; + viewRendererVisualStudioBarButtonCommand2.CustomizeListText = "(Renderer) Windows Classic"; + viewRendererVisualStudioBarButtonCommand2.Text = "Windows Classic"; viewRendererCustomTanBarButtonCommand.CanCustomizeCreate = false; viewRendererCustomTanBarButtonCommand.Checkable = true; viewRendererCustomTanBarButtonCommand.CheckGroupName = "Renderer"; @@ -493,7 +487,6 @@ private void InitializeComponent() { viewRendererOfficeBlueBarButtonLink, viewRendererOfficeOliveGreenBarButtonLink, viewRendererOfficeSilverBarButtonLink, - viewRendererOfficeRoyaleBarButtonLink, viewRendererOfficeWindowsClassicBarButtonLink, viewRendererOfficeBlackBarButtonLink, viewRendererOfficeBlueBarButtonLink2, @@ -638,7 +631,6 @@ private void InitializeComponent() { viewRendererOfficeBlueBarButtonLink3, viewRendererOfficeOliveGreenBarButtonLink2, viewRendererOfficeSilverBarButtonLink3, - viewRendererOfficeRoyaleBarButtonLink2, viewRendererOfficeWindowsClassicBarButtonLink2, viewRendererVisualStudioBarButtonLink3, viewRendererVisualStudioBarButtonLink4}); @@ -753,6 +745,11 @@ private void InitializeComponent() { viewRendererMetroDarkBarButtonCommand.CheckGroupName = "Renderer"; viewRendererMetroDarkBarButtonCommand.CustomizeListText = "(Renderer) Metro Dark"; viewRendererMetroDarkBarButtonCommand.Text = "Metro Dark"; + viewRendererVisualStudioBlueBarButtonCommand.CanCustomizeCreate = false; + viewRendererVisualStudioBlueBarButtonCommand.Checkable = true; + viewRendererVisualStudioBlueBarButtonCommand.CheckGroupName = "Renderer"; + viewRendererVisualStudioBlueBarButtonCommand.CustomizeListText = "(Renderer) Visual Studio (Blue)"; + viewRendererVisualStudioBlueBarButtonCommand.Text = "Visual Studio (Blue)"; this.barManager.Commands.AddRange(new ActiproSoftware.UI.WinForms.Controls.Bars.BarCommand[] { labelsTestLabelBarLabelCommand, newMenuNewMenuBarPopupButtonCommand, @@ -794,7 +791,6 @@ private void InitializeComponent() { menuBarEditBarPopupButtonCommand, viewRendererOfficeWindowsClassicBarButtonCommand, viewClearEventLogBarButtonCommand, - viewRendererOfficeRoyaleBarButtonCommand, windowWindowListBarExpanderButtonCommand, fileSaveLayoutBarButtonCommand, fileLoadLayoutBarButtonCommand, @@ -825,7 +821,8 @@ private void InitializeComponent() { viewRendererCustomTanBarButtonCommand, viewRendererCustomGreenBarButtonCommand, viewRendererMetroLightBarButtonCommand, - viewRendererMetroDarkBarButtonCommand}); + viewRendererMetroDarkBarButtonCommand, + viewRendererVisualStudioBlueBarButtonCommand}); formatAlignLeftBarButtonLink.BeginAGroup = true; formatBulletedListBarButtonLink.BeginAGroup = true; formatOutdentBarButtonLink.BeginAGroup = true; @@ -887,10 +884,10 @@ private void InitializeComponent() { viewRendererBarPopupButtonLink2.CommandLinks.AddRange(new ActiproSoftware.UI.WinForms.Controls.Bars.BarCommandLink[] { viewRendererMetroLightBarButtonLink, viewRendererMetroDarkBarButtonLink, + viewRendererVisualStudioBlueBarButtonLink, viewRendererOfficeBlueBarButtonLink4, viewRendererOfficeOliveGreenBarButtonLink3, viewRendererOfficeSilverBarButtonLink4, - viewRendererOfficeRoyaleBarButtonLink3, viewRendererOfficeWindowsClassicBarButtonLink3, viewRendererOfficeBlackBarButtonLink2, viewRendererOfficeBlueBarButtonLink5, @@ -978,10 +975,10 @@ private void InitializeComponent() { viewRendererBarPopupButtonLink3.CommandLinks.AddRange(new ActiproSoftware.UI.WinForms.Controls.Bars.BarCommandLink[] { viewRendererMetroLightBarButtonLink2, viewRendererMetroDarkBarButtonLink2, + viewRendererVisualStudioBlueBarButtonLink2, viewRendererOfficeBlueBarButtonLink6, viewRendererOfficeOliveGreenBarButtonLink4, viewRendererOfficeSilverBarButtonLink6, - viewRendererOfficeRoyaleBarButtonLink4, viewRendererOfficeWindowsClassicBarButtonLink4, viewRendererOfficeBlackBarButtonLink3, viewRendererOfficeBlueBarButtonLink7, @@ -1039,10 +1036,10 @@ private void InitializeComponent() { viewRendererBarPopupButtonLink4.CommandLinks.AddRange(new ActiproSoftware.UI.WinForms.Controls.Bars.BarCommandLink[] { viewRendererMetroLightBarButtonLink3, viewRendererMetroDarkBarButtonLink3, + viewRendererVisualStudioBlueBarButtonLink3, viewRendererOfficeBlueBarButtonLink8, viewRendererOfficeOliveGreenBarButtonLink5, viewRendererOfficeSilverBarButtonLink8, - viewRendererOfficeRoyaleBarButtonLink5, viewRendererOfficeWindowsClassicBarButtonLink5, viewRendererOfficeBlackBarButtonLink4, viewRendererOfficeBlueBarButtonLink9, @@ -1057,10 +1054,10 @@ private void InitializeComponent() { viewRendererBarPopupButtonLink5.CommandLinks.AddRange(new ActiproSoftware.UI.WinForms.Controls.Bars.BarCommandLink[] { viewRendererMetroLightBarButtonLink4, viewRendererMetroDarkBarButtonLink4, + viewRendererVisualStudioBlueBarButtonLink4, viewRendererOfficeBlueBarButtonLink10, viewRendererOfficeOliveGreenBarButtonLink6, viewRendererOfficeSilverBarButtonLink10, - viewRendererOfficeRoyaleBarButtonLink6, viewRendererOfficeWindowsClassicBarButtonLink6, viewRendererOfficeBlackBarButtonLink5, viewRendererOfficeBlueBarButtonLink11, @@ -1183,6 +1180,7 @@ private void InitializeComponent() { this.imageList.Images.SetKeyName(25, "IncreaseIndent16.png"); this.imageList.Images.SetKeyName(26, "RichTextDocument16.png"); this.imageList.Images.SetKeyName(27, "MetroLight.png"); + this.imageList.Images.SetKeyName(28, "VisualStudio2022.png"); // // barManagerPropertyGrid // diff --git a/Samples/SampleBrowser/ProductSamples/BarsSamples/Demo/Features/MainForm.cs b/Samples/SampleBrowser/ProductSamples/BarsSamples/Demo/Features/MainForm.cs index 09b431f..3411fb9 100644 --- a/Samples/SampleBrowser/ProductSamples/BarsSamples/Demo/Features/MainForm.cs +++ b/Samples/SampleBrowser/ProductSamples/BarsSamples/Demo/Features/MainForm.cs @@ -1019,12 +1019,12 @@ private void ProcessViewMdiChildRestoreButtonVisibility() { /// Processes the View.RendererCustomGreen command. /// private void ProcessViewRendererCustomGreen() { - var scheme = new WindowsColorScheme("Green", WindowsColorSchemeType.WindowsXPBlue, UIColor.FromWebColor("#155E2F").ToColor()); - barManager.Renderer = new Office2003BarRenderer(scheme); - dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DockRenderer(scheme); - dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DocumentWindowTabStripRenderer(scheme); - dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003ToolWindowTabStripRenderer(scheme); - statusBar.Renderer = new Office2003StatusBarRenderer(); + var scheme = new WindowsColorScheme("Green", WindowsColorSchemeType.LunaBlue, UIColor.FromWebColor("#155E2F").ToColor()); + barManager.Renderer = new OfficeClassicBarRenderer(scheme); + dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDockRenderer(scheme); + dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDocumentWindowTabStripRenderer(scheme); + dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicToolWindowTabStripRenderer(scheme); + statusBar.Renderer = new OfficeClassicStatusBarRenderer(); OnRendererChanged(); } @@ -1032,12 +1032,12 @@ private void ProcessViewRendererCustomGreen() { /// Processes the View.RendererCustomTan command. /// private void ProcessViewRendererCustomTan() { - var scheme = new WindowsColorScheme("Tan", WindowsColorSchemeType.WindowsXPBlue, Color.Tan); - barManager.Renderer = new Office2003BarRenderer(scheme); - dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DockRenderer(scheme); - dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DocumentWindowTabStripRenderer(scheme); - dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003ToolWindowTabStripRenderer(scheme); - statusBar.Renderer = new Office2003StatusBarRenderer(); + var scheme = new WindowsColorScheme("Tan", WindowsColorSchemeType.LunaBlue, Color.Tan); + barManager.Renderer = new OfficeClassicBarRenderer(scheme); + dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDockRenderer(scheme); + dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDocumentWindowTabStripRenderer(scheme); + dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicToolWindowTabStripRenderer(scheme); + statusBar.Renderer = new OfficeClassicStatusBarRenderer(); OnRendererChanged(); } @@ -1066,122 +1066,122 @@ private void ProcessViewRendererMetroLight() { } ///

- /// Processes the View.RendererOffice2003Blue command. + /// Processes the View.RendererOfficeLunaBlue command. /// - private void ProcessViewRendererOffice2003Blue() { - barManager.Renderer = new Office2003BarRenderer(WindowsColorSchemeType.WindowsXPBlue); - dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DockRenderer(WindowsColorSchemeType.WindowsXPBlue); - dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DocumentWindowTabStripRenderer(WindowsColorSchemeType.WindowsXPBlue); - dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003ToolWindowTabStripRenderer(WindowsColorSchemeType.WindowsXPBlue); - statusBar.Renderer = new Office2003StatusBarRenderer(); + private void ProcessViewRendererOfficeLunaBlue() { + barManager.Renderer = new OfficeClassicBarRenderer(WindowsColorSchemeType.LunaBlue); + dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDockRenderer(WindowsColorSchemeType.LunaBlue); + dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDocumentWindowTabStripRenderer(WindowsColorSchemeType.LunaBlue); + dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicToolWindowTabStripRenderer(WindowsColorSchemeType.LunaBlue); + statusBar.Renderer = new OfficeClassicStatusBarRenderer(); OnRendererChanged(); } /// - /// Processes the View.RendererOffice2003OliveGreen command. + /// Processes the View.RendererOfficeLunaOliveGreen command. /// - private void ProcessViewRendererOffice2003OliveGreen() { - barManager.Renderer = new Office2003BarRenderer(WindowsColorSchemeType.WindowsXPOliveGreen); - dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DockRenderer(WindowsColorSchemeType.WindowsXPOliveGreen); - dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DocumentWindowTabStripRenderer(WindowsColorSchemeType.WindowsXPOliveGreen); - dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003ToolWindowTabStripRenderer(WindowsColorSchemeType.WindowsXPOliveGreen); - statusBar.Renderer = new Office2003StatusBarRenderer(); + private void ProcessViewRendererOfficeLunaOliveGreen() { + barManager.Renderer = new OfficeClassicBarRenderer(WindowsColorSchemeType.LunaOliveGreen); + dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDockRenderer(WindowsColorSchemeType.LunaOliveGreen); + dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDocumentWindowTabStripRenderer(WindowsColorSchemeType.LunaOliveGreen); + dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicToolWindowTabStripRenderer(WindowsColorSchemeType.LunaOliveGreen); + statusBar.Renderer = new OfficeClassicStatusBarRenderer(); OnRendererChanged(); } /// - /// Processes the View.RendererOffice2003Royale command. + /// Processes the View.RendererOfficeLunaSilver command. /// - private void ProcessViewRendererOffice2003Royale() { - barManager.Renderer = new Office2003BarRenderer(WindowsColorSchemeType.WindowsXPRoyale); - dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2005DockRenderer(); - dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2005DocumentWindowTabStripRenderer(); - dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2005ToolWindowTabStripRenderer(); - statusBar.Renderer = new Office2003StatusBarRenderer(); + private void ProcessViewRendererOfficeLunaSilver() { + barManager.Renderer = new OfficeClassicBarRenderer(WindowsColorSchemeType.LunaSilver); + dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDockRenderer(WindowsColorSchemeType.LunaSilver); + dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDocumentWindowTabStripRenderer(WindowsColorSchemeType.LunaSilver); + dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicToolWindowTabStripRenderer(WindowsColorSchemeType.LunaSilver); + statusBar.Renderer = new OfficeClassicStatusBarRenderer(); OnRendererChanged(); } /// - /// Processes the View.RendererOffice2003Silver command. + /// Processes the View.RendererOfficeWindowsClassic command. /// - private void ProcessViewRendererOffice2003Silver() { - barManager.Renderer = new Office2003BarRenderer(WindowsColorSchemeType.WindowsXPSilver); - dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DockRenderer(WindowsColorSchemeType.WindowsXPSilver); - dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DocumentWindowTabStripRenderer(WindowsColorSchemeType.WindowsXPSilver); - dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003ToolWindowTabStripRenderer(WindowsColorSchemeType.WindowsXPSilver); - statusBar.Renderer = new Office2003StatusBarRenderer(); + private void ProcessViewRendererOfficeWindowsClassic() { + barManager.Renderer = new OfficeClassicBarRenderer(WindowsColorSchemeType.WindowsClassic); + dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudioClassicDockRenderer(); + dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudioClassicDocumentWindowTabStripRenderer(); + dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudioClassicToolWindowTabStripRenderer(); + statusBar.Renderer = new WindowsClassicStatusBarRenderer(); OnRendererChanged(); } /// - /// Processes the View.RendererOffice2003WindowsClassic command. + /// Processes the View.RendererOfficeClassicBlack command. /// - private void ProcessViewRendererOffice2003WindowsClassic() { - barManager.Renderer = new Office2003BarRenderer(WindowsColorSchemeType.WindowsClassic); - dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2005DockRenderer(); - dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2005DocumentWindowTabStripRenderer(); - dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2005ToolWindowTabStripRenderer(); - statusBar.Renderer = new VisualStudio2002StatusBarRenderer(); + private void ProcessViewRendererOfficeClassicBlack() { + barManager.Renderer = new OfficeClassicBarRenderer(WindowsColorSchemeType.OfficeClassicBlack); + dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDockRenderer(WindowsColorSchemeType.OfficeClassicBlack); + dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDocumentWindowTabStripRenderer(WindowsColorSchemeType.OfficeClassicBlack); + dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicToolWindowTabStripRenderer(WindowsColorSchemeType.OfficeClassicBlack); + statusBar.Renderer = new OfficeClassicStatusBarRenderer(); OnRendererChanged(); } /// - /// Processes the View.RendererOffice2007Black command. + /// Processes the View.RendererOfficeClassicBlue command. /// - private void ProcessViewRendererOffice2007Black() { - barManager.Renderer = new Office2003BarRenderer(WindowsColorSchemeType.Office2007Black); - dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DockRenderer(WindowsColorSchemeType.Office2007Black); - dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DocumentWindowTabStripRenderer(WindowsColorSchemeType.Office2007Black); - dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003ToolWindowTabStripRenderer(WindowsColorSchemeType.Office2007Black); - statusBar.Renderer = new Office2003StatusBarRenderer(); + private void ProcessViewRendererOfficeClassicBlue() { + barManager.Renderer = new OfficeClassicBarRenderer(WindowsColorSchemeType.OfficeClassicBlue); + dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDockRenderer(WindowsColorSchemeType.OfficeClassicBlue); + dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDocumentWindowTabStripRenderer(WindowsColorSchemeType.OfficeClassicBlue); + dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicToolWindowTabStripRenderer(WindowsColorSchemeType.OfficeClassicBlue); + statusBar.Renderer = new OfficeClassicStatusBarRenderer(); OnRendererChanged(); } /// - /// Processes the View.RendererOffice2007Blue command. + /// Processes the View.RendererOfficeClassicSilver command. /// - private void ProcessViewRendererOffice2007Blue() { - barManager.Renderer = new Office2003BarRenderer(WindowsColorSchemeType.Office2007Blue); - dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DockRenderer(WindowsColorSchemeType.Office2007Blue); - dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DocumentWindowTabStripRenderer(WindowsColorSchemeType.Office2007Blue); - dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003ToolWindowTabStripRenderer(WindowsColorSchemeType.Office2007Blue); - statusBar.Renderer = new Office2003StatusBarRenderer(); + private void ProcessViewRendererOfficeClassicSilver() { + barManager.Renderer = new OfficeClassicBarRenderer(WindowsColorSchemeType.OfficeClassicSilver); + dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDockRenderer(WindowsColorSchemeType.OfficeClassicSilver); + dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicDocumentWindowTabStripRenderer(WindowsColorSchemeType.OfficeClassicSilver); + dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicToolWindowTabStripRenderer(WindowsColorSchemeType.OfficeClassicSilver); + statusBar.Renderer = new OfficeClassicStatusBarRenderer(); OnRendererChanged(); } /// - /// Processes the View.RendererOffice2007Silver command. + /// Processes the View.RendererWindowsClassic command. /// - private void ProcessViewRendererOffice2007Silver() { - barManager.Renderer = new Office2003BarRenderer(WindowsColorSchemeType.Office2007Silver); - dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DockRenderer(WindowsColorSchemeType.Office2007Silver); - dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003DocumentWindowTabStripRenderer(WindowsColorSchemeType.Office2007Silver); - dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003ToolWindowTabStripRenderer(WindowsColorSchemeType.Office2007Silver); - statusBar.Renderer = new Office2003StatusBarRenderer(); + private void ProcessViewRendererWindowsClassic() { + barManager.Renderer = new WindowsClassicBarRenderer(); + dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.WindowsClassicDockRenderer(); + dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.WindowsClassicDocumentWindowTabStripRenderer(); + dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.WindowsClassicToolWindowTabStripRenderer(); + statusBar.Renderer = new WindowsClassicStatusBarRenderer(); OnRendererChanged(); } /// - /// Processes the View.RendererVisualStudio2002 command. + /// Processes the View.RendererVisualStudioClassic command. /// - private void ProcessViewRendererVisualStudio2002() { - barManager.Renderer = new VisualStudio2002BarRenderer(); - dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2002DockRenderer(); - dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2002DocumentWindowTabStripRenderer(); - dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2002ToolWindowTabStripRenderer(); - statusBar.Renderer = new VisualStudio2002StatusBarRenderer(); + private void ProcessViewRendererVisualStudioClassic() { + barManager.Renderer = new OfficeClassicBarRenderer(WindowsColorSchemeType.VisualStudioClassic); + dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudioClassicDockRenderer(); + dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudioClassicDocumentWindowTabStripRenderer(); + dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudioClassicToolWindowTabStripRenderer(); + statusBar.Renderer = new VisualStudioClassicStatusBarRenderer(); OnRendererChanged(); } /// - /// Processes the View.RendererVisualStudio2005 command. + /// Processes the View.RendererVisualStudioBlue command. /// - private void ProcessViewRendererVisualStudio2005() { - barManager.Renderer = new Office2003BarRenderer(WindowsColorSchemeType.VisualStudio2005); - dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2005DockRenderer(); - dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2005DocumentWindowTabStripRenderer(); - dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2005ToolWindowTabStripRenderer(); - statusBar.Renderer = new VisualStudio2005StatusBarRenderer(); + private void ProcessViewRendererVisualStudioBlue() { + barManager.Renderer = new VisualStudioBarRenderer(WindowsColorSchemeType.VisualStudioBlue); + dockManager.DockRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudioDockRenderer(WindowsColorSchemeType.VisualStudioBlue); + dockManager.TabbedMdiContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudioDocumentWindowTabStripRenderer(WindowsColorSchemeType.VisualStudioBlue); + dockManager.ToolWindowContainerTabStripRenderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudioToolWindowTabStripRenderer(WindowsColorSchemeType.VisualStudioBlue); + statusBar.Renderer = new MetroStatusBarRenderer(WindowsColorSchemeType.VisualStudioBlue); OnRendererChanged(); } diff --git a/Samples/SampleBrowser/ProductSamples/BarsSamples/Demo/Features/MainForm.resx b/Samples/SampleBrowser/ProductSamples/BarsSamples/Demo/Features/MainForm.resx index ad727a9..2d59c3c 100644 --- a/Samples/SampleBrowser/ProductSamples/BarsSamples/Demo/Features/MainForm.resx +++ b/Samples/SampleBrowser/ProductSamples/BarsSamples/Demo/Features/MainForm.resx @@ -130,154 +130,458 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACW - IQAAAk1TRnQBSQFMAgEBHAEAAbQBAAG0AQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo - AwABQAMAAYADAAEBAQABCAYAASAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA - AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 - AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA - AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm - AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM - AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA - ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz - AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ - AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM - AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA - AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA - AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ - AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ - AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA - AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm - ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ - Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz - AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA - AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM - AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM - ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM - Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA - AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM - AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ - AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz - AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm - AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw - AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wD/AP8AJwAM7DQA - AewK/wHsBwAB/wEAAvQCGQEJAtsDAA4VAgAOFQMAAewB/wjvAf8B7AMAAfQCGQHcAdsBAAfaJAAB7Ar/ - AewDAAXaAQAH2iQAAewB/wTvAf8BbAGQAZEB/wHsAwAF2gEAB9okAAHsBv8BkQEJARkB/wHsAwAF2gEA - B9oEAAEZAdoB9AQABhUFAAHbARkDAAYVAwAB7AH/BO8B/wHbAZgB3AH/AewDAAXaAQAH2gMAARkB2gEI - EAABCAHaARkLAAHsCv8B7BMAAdoF1AoABdQB2gsAAewB/wS6ArQCugH/AewDAAXaAQAH2gMAARkB2gEI - EAABCAHaARkLAAHsCv8B7AMABdoBAAfaBAABGQHaAfQEAAYVBAAB9AHaARkDAAYVAwAB7AH/AdwB8gHP - AfIG7AMABdoBAAfaJAAB7AL/Ac8B3AH/AewC/wEHAewB8wMABdoBAAfaJAAB7AL/AfIBzwH/AewB/wEH - AewB8wQAAfQCGQHcAdsBAAfaJAAB7AP/AfMB/wHsAQcB7AHzCQAB/wEAAvQCGQEJAtsDAA4VAgAOFQMA - AewF/wLsAfM3AAfsAfOHAAOzDQAKFQgAChUIAAoVAgADswIACBUzAAOzjQAOFQIADhUCAA4VQgADsz0A - A7MCAAgVMwADsw0AChUIAAoVCAAKFcIAA7MNAA4VAgAOFQIADhUCAAOzAgAIFTMAA7MvAAG1Am8BUgMA - AlgBVwYAAbUCbwFSAwACWAFXBAABGgVSAfAGAALxBwAB8wSZAfIFAAG1AewBTAFGAW8BUgEAAVkBOAFY - AXgBUQQAAbUB7AFMAUYBbwFSAQABWQE4AVgBeAFRAwABeQExAXoBmgF6ATgBmQF4AVABcwFJAesBAALx - AQAB9AQAARoBUQExAjgBNwF0AfIDAAG1AbQBkQFNAUwBRgJMAjgBWAF4AVcBUQIAAbUBtAGRAU0BTAFG - AkwCOAFYAXgBVwFRAgABegFSAgABwwFZAZkBVwF4ARsBHAFKAQAC8QEZAbUCvAEJAc8B9wEwATEBNwFZ - ATgBUgHwAgABtQGtAbQB9wFTAU0BTAFGAUwBUgE4AVkBeAFXAVEBUAG1Aa0BtAH3AVMBTQFMAUYBTAFS - ATgBWQF4AVcBUQFQAQABegFYAgABGwGgARoBmQEbAQABCAFQAQAC8QEZAeYB1gHVAeYBxwG0AVIBMAEx - AVkBOAExAZkCAAESAa0BuwEAAZoBUwFNAUwBRgFMAVICAAFXAlABEgGtAbsBAAGaAVMBTQFMAUYBTAFS - AgABVwJQAQABegE4AnoBGgF5AQgBmAEHAZ8BeAFQAQAC8QEAAtYB3AHVAacBzwF0ATABMQI4ATcBeQIA - AUoBUAHvAgABegFTAU0BTAFGAW8CAAG0Aa0BUAFKAVAB7wIAAXoBUwFNAUwBRgFvAgABtAGtAVABAAGg - AV4B5QFeAaABWQGZAXgBmAF5AVcBeAEAAvEBAAEJAdUB3AHVAc4BpwEcATADeQFYAXkCAAFzAVABVwEc - AlkBegJNAUwBRgFvArQBrQG1AXMBUAFXARwCWQF6Ak0BTAFGAW8CtAGtAbUBAAEaA5MBGgGTARoB7wG8 - AQcB9wIAAvEBAAEZAdUB1gHVAeYBpwG1AZkBeANXAXMB8QIAAngBeQE4AVkBegltAQACeAF5ATgBWQF6 - AVMIbQEaAU0BTAFTAUwBmQFMAe8BzwG1AbMBiwHyAQAC8QIAAQkC1gHVAbUBvAFzASgBNQJXAS8BHAMA - AXgBeQE4AlkBkgH/BvYBbQIAAXgBeQE4AlkBmgGSAf8F9gFtAZoBJgGaAhoBGwGaAfABCQHyAfEBiwHw - AQAC8QIAAXoBUwGTAXQBTAFGARwBKAEvATYBVwE1AXMEAAF5AXoBmgEaAZIC9gH0AesD9gFtAwABeQF6 - AZoBGgEAAZIB9gEHAusBBwH2AW0BmgFMAcMCAAEbAUwBkwHVAQkBvAGmAfABAALxAgABmgFNAVMBLAIl - ARwBUAEvATUBVwE2AVAB8QcAAZIC9gH0AesD9gFtCAABkgH2AesB9AH2AesB9gFtAZkBTAHDAgABGwFT - AZMB3AGtAYsBzwIAAvECAAEaA1MBLAElAW8BcgEoATUBVwE2AS8B7wcAAZID/wHrAQcC/wFtCAABkgL/ - AusC/wFtAZMBJQGaARoBGwGaASwBBwEAAhkB8gIAAvEDAAF1AlMBLAElAUYBHAFzAQgCGwGZAQgHAAGS - BP8B6wL/AW0IAAGSAf8B6wL/AesB/wFtAZMB6QFGAkwBJgElAZMGAALxAwABmgJTASwBJQFMARsNAAGS - Av8D6wL/AW0IAAGSAf8BBwLrAQcB/wFtAQACkwEWApQBGgcAAvEEAAEbARoCmgH0DgABkgf/AW0IAAGS - Bv8BbScACJIBbQgAB5IBbQEAARsBdAVSAbw4AAGZATEBWAJ6AVkBOAGZAZgCUAFKAUkB7AIAARoFUgHw - BgACzQEAARoFUgHwBgACVwEAARoFUgHwBgAC7wEAAZoBMQEaAgABwwE4AZkBeAFQAZgBmQFQAUoCAAF5 - ATEBegGaAXoBOAGZAXgBUAFzAUkB6wEAAs0BAAF5ATEBegGaAXoBOAGZAXgBUAFzAUkB6wEAAlcBAAF5 - ATEBegGaAXoBOAGZAXgBUAFzAUkB6wEAAu8BAAGaATEBGgIAAcMBWQGZAXgBVwIAAZgBUAIAAXoBUgIA - AcMBWQGZAVcBeAEbARwBSgEAAs0BAAF6AVICAAHDAVkBmQFXAXgBGwEcAUoBAAJXAQABegFSAgABwwFZ - AZkBVwF4ARsBHAFKAQAC7wEAAZoBOAEaAQAB9AEbAaABwwEIAZkCAAGYAVACAAF6AVgCAAEbAaABGgGZ - ARsBAAEIAVABAALNAQABegFYAgABGwGgARoBmQEbAQABCAFQAQACVwEAAXoBWAIAARsBoAEaAZkBGwEA - AQgBUAEAAu8BAAGgATgDWQEaAVIBmQGYAXIBCAFXAlACAAF6ATgCegEaAXkBCAGYAQcBnwF4AVABAALN - AQABegE4AnoBGgF5AQgBmAEHAZ8BeAFQAQACVwEAAXoBOAJ6ARoBeQEIAZgBBwGfAXgBUAEAAu8BAAHD - AV4D5QGgAVkBGgF5AXgBmQFYAVcBmQIAAaABXgHlAV4BoAFZAZkBeAGYAXkBVwF4AQACzQEAAaABXgHl - AV4BoAFZAZkBeAGYAXkBVwF4AQACVwEAAaABXgHlAV4BoAFZAZkBeAGYAXkBVwF4AQAC7wEAARoEkwEb - AZMBGgG8Ae8B8wG1Ae8DAAEaA5MBGgGTARoB7wG8AQcB9wIAAs0BAAEaA5MBGgGTARoB7wG8AQcB9wIA - AlcBAAEaA5MBGgGTARoB7wG8AQcB9wIAAu8BGwFNASsBLAFSAUwBmQElAZMBtAGGAbsBigGLAgABGgFN - AUwBUwFMAZkBTAHvAc8BtQGzAYsB8gEAAs0BGgFNAUwBUwFMAZkBTAHvAc8BtQGzAYsB8gEAAlcBGgFN - AUwBUwFMAZkBTAHvAc8BtQGzAYsB8gEAAu8BGgEmAXUCmgEaARsBmgEbAQkBuwEAAbQBiwIAAZoBJgGa - AhoBGwGaAfABCQHyAfEBiwHwAQACzQGaASYBmgIaARsBmgHwAQkB8gHxAYsB8AEAAlcBmgEmAZoCGgEb - AZoB8AEJAfIB8QGLAfABAALvAb0BJQGaAwABGwFMAZMBCQG0AQABuwGmAgABmgFMAcMCAAEbAUwBkwHV - AQkBvAGmAfABAALNAZoBTAHDAgABGwFMAZMB1QEJAbwBpgHwAQACVwGaAUwBwwIAARsBTAGTAdUBCQG8 - AaYB8AEAAu8BmgElAZoDAAEaAVMBkwHcAa0CiwGGAgABmQFMAcMCAAEbAVMBkwHcAa0BiwHPAgACzQGZ - AUwBwwIAARsBUwGTAdwBrQGLAc8CAAJXAZkBTAHDAgABGwFTAZMB3AGtAYsBzwIAAu8BmQElAZoDAAEa - ATIBkwEZAQkCtAG1AgABkwElAZoBGgEbAZoBLAEHAQACGQHyAgACzQGTASUBmgEaARsBmgEsAQcBAAIZ - AfICAAJXAZMBJQGaARoBGwGaASwBBwEAAhkB8gIAAu8BkwEgAXQCmgEaAXUBLAGTBwABkwHpAUYCTAEm - ASUBkwYAAs0BkwHpAUYCTAEmASUBkwYAAlcBkwHpAUYCTAEmASUBkwYAAu8BGgHpASADJQEmASUBkwgA - ApMBFgKUARoHAALNAQACkwEWApQBGgcAAlcBAAKTARYClAEaBwAC7wEAAZkCkwGUAZoBlAEaTgAB7AHx - EAAB8QHsBwAB9CQAAfEB6gHxDgAB8QHqAfEGAAH0ARIB8w8AARcB8wgAAfMBFwkAAfEB6gHxDAAB8QHq - AfEIAAHzARIB8w4AAfMBFwHzBgAB8wEXAfMKAAHxAeoB7woAAfEB6gHxCgAB8wESAfMOAAHzARcB8wQA - AfMBFwHzDAAB8QETAe8IAAHvARMB8QwAAfMBEgHzDgAB8wEXAfMCAAHzARcB8w4AAfEBEwHvBgAB7wET - AfEOAAHzARIB8wH0AZIBbQEUAW0BkgH0BwAB8wEXAvMBFwHzEAAB8QETAe8EAAHvARMB8RAAAfMCEwHt - AbwB8wG8Ae0BEwHxBwAB8wIXAfMSAAHxAeoB8wIAAfMB6gHxEQAB9AETAQcF/wEHARMB9AYAAfMCFwHz - EwABkgHtAgAB7QGSEgABkgHtB/8B7QGSBQAB8wEXAvMBFwHzBgAHFQUAAfMBEwIAARMB8wUABxUGAAFt - AbwH/wG8AW0EAAHzARcB8wIAAfMBFwHzBQABFQHqAfEKAAEVAgABFQoAAfEB6gEVBgABFAHzB/8B8wEU - AwAB8wEXAfMEAAHzARcB8wQAARUB8QHqAfEIAAHzARMCAAETAfMIAAHxAeoB8QEVBgABbQG8B/8BvAFt - AgAB8wEXAfMGAAHzARcB8wMAARUBAAHvARMB8QcAAZIB7QIAAe0BkgcAAfEBEwHvAQABFQYAAZIB7Qf/ - Ae0BkgIAARcB8wgAAfMBFwMAARUCAAHvARMB8QUAAfEB6gHzAgAB8wHqAfEFAAHxARMB7wIAARUGAAH0 - ARMBBwX/AQcBEwH0EQABFQMAAe8B6gGSAfMBAAHzAZIB6gHvBAAB7wHqAZIB8wEAAfMBkgHqAe8DAAEV - BwAB8QETAe0B8AHzAfAB7QETAfESAAEVBAAB8wHtARMBFQETAe0B8wYAAfMB7QETARUBEwHtAfMEAAEV - CAAB9AGSAW0BFAFtAZIB9AQABRUBAAYVBQABCALaAQgCAAEIAtoBCAkAChUCAAYxAQAHFQIAARUC/wMA - ARUE/wEVBQAB2gIZAdoCAAHaAhkB2gkAARUI/wEVAgABMQWaAQABFQX/ARUCAAEVAv8BAAMVBP8DFQMA - AdoCGQHaAgAB2gIZAdoDAAUVAQABFQj/ARUCAAExAZoE/wEAARUF/wEVAgABFQL/AQABFQH/BhUB/wEV - AwABCAHaAbMBCAIAAQgBswHaAQgDAAEVBP8BAAEVAv8E7AL/ARUCAAExAZoE/wEAARUF/wEVAgABFQL/ - AQABFQj/ARUFAAHrAbwCAAG8AesFAAEVBP8BAAEVCP8BFQIAATEBmgT/AQABFQX/ARUCAAEVAv8BAAoV - BQABvAHrAgAB6wG8BQABFQT/AQABFQL/BOwC/wEVAgABMQGaBP8BAAEVBf8BFQIAARUC/wMAARUE/wEV - CAAB6wK8AesGAAEVBP8BAAEVCP8BFQIAATEBmgT/AQABFQX/ARUCAAEVBP8BAAEVBP8BFQgAAbwC6wG8 - BgABFQT/AQABFQj/ARUCAAExAZoE/wEAARUF/wEVAgABFQT/AQAGFQkAAusHAAEVBP8BAAEVBP8FFQIA - ATEBmgT/AQAHFQIAARUE/xAAAusHAAEVBP8BAAEVBP8BFQH/AQcBEgHzAgABMQGaBP8KAAEVBf8FFQEU - CAABvALrAbwGAAEVBP8BAAEVBP8BFQEHARIB8wMAATEBmgjsAZoBMQQAARUF/wEVAv8BBwESAfMIAAHr - ArwB6wYAARUE/wEAARUE/wEVARIB8wQAATEBmgHsBv8B7AGaATEEAAEVBf8BFQH/AQcBEgHzCAAB8wHr - AgAB6wHzBQABFQT/AQAGFQHzBQABMQGaAewG/wHsAZoBMQQAARUF/wEVAQcBEgHzCQAB7wG8AgABvAHv - BQABFQT/DQACMQPsAv8D7AIxBAABFQX/ARUBEgHzCgAB7wQAAe8FAAEVBf8BEgHzDgAB7AK8AewIAAYV - ARQB8wsAAfEEAAHxBQAGFQHzDwABvALsAbwIAAzsEwAB8gGpDYIEAAgVBgAB7Ar/AewSAAHyAakB1wG2 - AYIG/wGCA7YBggQAARUG/wEVBgAB7AH/COwB/wHsAgABdApSAXQB/wMAAakB1wK2AYIG/wGCA7YBggQA - ARUG/wEVBgAB7Ar/AewCAAF0AXoJmgF6ARoDAAGCA7YBggb/AYIDtgGCBAABFQb/ARUGAAHsAf8I7AH/ - AewCAAFSAXQKmgF0Af8CAAGCA7YBggb/AYIDtgGCBRUG/wUVAgAB7Ar/AewCAAFSAZkBegmaAXoBGgIA - AYIDtgiCA7YBggEVA/8IFQP/ARUCAAHsAf8I7AH/AewCAAFSAfQBdAqaAXQB/wEAAYIOtgGCARUO/wEV - AgAB7Ar/AewCAAFSAf8BmQF6CZoBegEaAQABgg62AYIBFQ7/ARUCAAHsAf8I7AH/AewCAAFSAf8B9AF0 - ClIBdAEAAYIOtgGCARUB/wEVDP8BFQIAAewK/wHsAgABUgv/AVIDAAGCArYKggK2AYIBFQ7/ARUCAAHs - Af8D7AH/BuwCAAFSC/8BUgMAAYICtgGCCP8BggK2AYIQFQIAAewF/wHsAv8BBwHsAfMCAAFSBf8BGwF0 - BFIBdAMAAYICtgGCCP8BggK2AYIEAAEVBv8BFQYAAewB/wPsAf8B7AH/AQcB7AHzAwABUgT/ARsBdAH0 - CAABggK2AYII/wGCArYBggQAARUG/wEVBgAB7AX/AewBBwHsAfMEAAF0BFIBdAH0CQABggK2AYII/wGC - ArYBggQAARUG/wEVBgAB7AX/AuwB8xUAAYICtgGCCP8BggK2AYIEAAEVBv8BFQYAB+wB8xYAEIIEAAgV - BAABQgFNAT4HAAE+AwABKAMAAUADAAGAAwABAQEAAQEGAAEEFgAD/4EABP8BwAEDBv8BwAEDAfoBAwGA - AQEBgAEBAcABAwGCAQME/wHAAQMBggEDBP8BwAEDAYIBAwT/AcABAwGCAQMBxwGBAfMBgQHAAQMBggED - AY8B/wHxAf8BwAEDAv8BgQH/AYEB/wHAAQMBggEDAY8B/wHxAf8BwAEDAYIBAwHHAYEB4wGBAcABAwGC - AQME/wHAAQMBggEDBP8BwAEHAYIBAwT/AcABDwH6AQMBgAEBAYABAQHAAR8G/wHAAT8Q/wGPAf8BgAEf - AeABBwH4AQEBjAEDBv8BjxH/AYABAQGAAQEBgAEBCP8Bjwf/AYwBAwb/AY8B/wGAAR8B4AEHAfgBARj/ - AY8B/wGAAQEBgAEBAYABAQGMAQMG/wGPBf8B4QHHAeEBxwGAAfwB/gEHAcABgwHAAYMBgAEEAbwBAwGA - AQEBgAEBAZgBBAEAAQMEAAGYASQBAAEDARABGAEQARgBgAEEAYABAwQYAYABBAGAAQMEAAGAAQwBgAEB - AYABAAGAAgABBAHAAQEBwAEAAcACAAEEAcABAQHgAQAB4QEAARgBBAHAAQAB/gEAAf8BAAEYAQwBwAEA - Af4BAAH/AgABjAHgAQAB/gEAAf8CAAH8AeABPwH+AQAB/wEAAYEB/AHwAX8B/gEAAf8BAAT/Af4BAAH/ - AQABgAF/Bv8BgAEBAYAB/AGAAfwBgAH8AYwBAQGAAQQBgAEEAYABBAGMARkBmAEEAZgBBAGYAQQBiAEZ - AZgBJAGYASQBmAEkAYABAQGAAQQBgAEEAYABBAGAAQEBgAEEAYABBAGAAQQBgAEDAYABDAGAAQwBgAEM - AQABAwEAAQQBAAEEAQABBAEAARMBAAEEAQABBAEAAQQBHAETARgBBAEYAQQBGAEEARwBAwEYAQwBGAEM - ARgBDAEcAQMBAAGMAQABjAEAAYwBAAF/AQAB/AEAAfwBAAH8AQABfwGBAfwBgQH8AYEB/AGACf8B/AL/ - AT8BvwP/AfwBfwH+AT8BHwH/Ac8B8wH+AT8B/AF/AY8B/wHHAeMB/wEfAfgB/wHHAf8B4wHHAf8BjwHx - Af8B4wH/AfEBjwH/AccB4wH/AfABAwH4AR8B/wHjAccB/wH4AQEB/AE/Af8B8QGPAf8B+AEAAfwBPwH/ - AfkBnwH/AfgBAAH4AR8BgAH5AZ8BAQH4AQAB8QKPAf0BvwHxAfgBAAHjAccBhwH5AZ8B4QH4AQABxwHj - AaMB+QGfAcUB+AEAAc8B8wGxAfEBjwGNAfgBAAL/AbgBQwHCAR0B/AEBAv8BvAEHAeABPQH+AQMBwQED - AeEBhwH8AQABwAGAAccBAwHhAYcB/AEAAcABgAHEAQAB4QGHAQQBAAHAAYABxAEAAeEBhwEEAQABwAGA - AcQBAAH5AZ8BBAEAAcABgAHEAQAB+QGfAQQBAAHAAYABxwEDAfwBPwEEAQABwAGAAcEBAwH8AT8BBAEA - AcABgAHBAQMB/gF/AQQBAAHAAYABwQH/Af4BfwEEAQABwAH/AcABAwH8AT8BBAEBAcABAwHAAQMB/AE/ - AQQBAwHAAQMBwAEHAfkBnwEEAQcBwAEDAcABDwH5AZ8BBwH/AcABAwHAAR8B+wHfAQAB/wH8AT8BwAE/ - AfsB3wEBAf8B/AE/AcABAwL/AYABAAHwAQ8BwAEDAv8CAAHwAQ8BwAEDAQABBwIAAfABDwHAAQMBAAEH - AgAB8AEPAcABAwEAAQMEAAHAAQMBAAEDBAABwAEDAQABAQQAAcABAwEAAQEEAAHAAQMBAAEBBAABwAED - AQABBwQAAcABAwEAAQcEAAHAAQMBAAEHAgAB8AEPAcABBwEAAf8CAAHwAQ8BwAEPAQEB/wIAAfABDwHA - AR8C/wIAAfABDwHAAT8C/wIAAfABDws= + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAU + ZwAAAk1TRnQBSQFMAgEBHQEAAUgBAAEYAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + AwABgAMAAQEBAAEgBgABgD4AAUkBRwFIAYABpwFqAYUB7gMqAUDwAAM6AWABzgFzAZYB/gHGAWoBkAH/ + AfIBjwHCAf8DQQFwzAADOQFfAxgBIBQAAzMBUAHTAXEBmwH/Ac4BcwGWAf4BwgFtAYwB/gHzAZABxAH/ + AfMBkAHEAf8BSQFHAUgBf8AAAxgBIAFzAVoBZQHPAakBUQFxAf8BgAFYAWcB3wMYASAMAAMhATABrwFv + AYsB7wHTAXIBnAH/AdMBcQGbAf8BwgFtAY0B/gH0AZEBxQH/AfQBkQHFAf8B7wGMAcAB/sAAAW8BUAFd + Ad8BkwFGAWIB/wGoAVEBcQH/AacBUQFwAf8BfwFYAWcB3wMhATAEAAMYASABsAFvAYwB7wHWAXQBngH/ + AdABdQGYAf4BzwF0AZcB/gF9AWMBbwHPAfUBkgHGAf8B9QGSAcYB/wH1AZIBxwH/wAABjAFBAVwB/wGG + AT4BVwH/AU8BTAFNAY8BogFUAXMB/gGmAVABcAH/AY8BVgFsAe4DMwFQAZUBaQF9Ad8B2AF1AaEB/wHW + AXQBngH/AdABdgGZAf4BYwFYAV0BrwMMARAB8QGOAcMB/gHuAZMBwAH9AfUBkwHHAf/AAAGLAUEBWwH/ + AYoBQQFbAf8EAAFeAVUBWAGvAaUBUAFvAf8BoAFUAXMB/gHSAXEBmwH/AdoBdwGiAf8B2AF1AaEB/wHX + AXQBnwH/AVABTQFPAY8IAAHyAY8BxAH+AfIBkAHFAf4B9gGTAckB/8AAAYsBQQFcAf8BigFBAVsB/wQA + AwwBEAFyAVoBYwHPAdMBcwGeAf8B3AF5AaUB/wHaAXcBowH/AdkBdgGjAf8BSAFHAUgBfwwAAfMBkQHG + Af4B8wGQAcYB/gHzAZABxgH+wAABiwFBAVwB/wGKAUEBWwH/BAADDAEQAYMBaAFyAc8B3QF5AacB/wHc + AXkBpQH/AdsBeAGkAf8BuAFfAYMB/wFIAkcBgAwAAfgBlQHLAf8B9AGRAccB/gH0AZEBxwH+wAABiwFB + AVwB/wGKAUEBWwH/BAABWgFUAVcBoAHeAXsBqAH/Ad4BegGnAf8B3QF6AacB/wG1AV4BggH/AaEBTgFt + Af8BowFPAW4B/wFVAVABUgGfCAAB9AGSAcgB/gH1AZIByAH+AfkBlgHMAf/AAAGLAUEBXAH/AYUBPgFY + Af8BWgFUAVcBoAHfAXwBqgH/AdoBfgGkAf4BtgFzAZEB7wFBAkABbwF/AVgBZgHfAaQBTwFuAf8BpAFP + AW4B/wGkAVABbgH/AWcBWQFeAb8DDAEQAfUBkwHJAf4B9gGTAcoB/gH1AZIByQH+wAABbwFQAV0B3wGv + AVwBgAH/AdsBgAGnAf4B4AF9AasB/wGXAW0BfwHeAyEBMAQAAxgBIAGPAVYBagHvAaUBUAFvAf8BpQFQ + AW8B/wGhAVMBcgH+AXABWgFjAc8B+gGYAc8B/wH2AZQBywH+AfsBmAHPAf/AAAMYASABcwFhAWoBvwHh + AX4BrQH/AZkBbQGAAd4DGAEgDAADIQEwAY8BVgFrAe8BpgFQAW8B/wGmAVABbwH/AZ0BTAFqAf8B+wGZ + AdAB/wH3AZUBywH+AfwBmgHRAf/IAANBAXADGAEgFAADMgFPAacBUAFwAf8BpgFRAXAB/wGdAUwBagH/ + Af0BmgHSAf8B/AGaAdEB/wFJAUcBSAF/6AADOQFfAacBUQFwAf8BmgFPAW0C/gGbAdMB/wNBAXDwAAFI + AUYBRwF/AX0BVwFmAd8DIQEw/wBRAAF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5 + Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/9AA + AXQBdwF5Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/AXQBdwF5Af8cAAT/ + BAAD8QH/A/EC/wHsAcwC/wHsAcwB/wHwAcoBpgL/AcwBZgL/AcwBZgH/DAABOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af8IAAE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4 + AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wwAAXQBdwF5Af8D+gH/AcMBtAGyAf8BwwG0 + AbIB/wHDAbQBsgH/AcMBtAGyAf8BwwG0AbIB/wHDAbQBsgH/AcMBtAGyAf8BwwG0AbIB/wP6Af8BdAF3 + AXkB/wwAA/EC/wHsAcwC/wHsAcwC/wHMAZkC/wHMAWYB/wQAAf8BzAEzAv8BzAEzAv8BzAEzAv8BzAEz + Av8BzAEzAv8BzAEzAv8BzAEzAf+QAAF0AXcBeQH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6 + Af8D+gH/A/oB/wF0AXcBeQH/DAAB/wHMATMC/wHMATMC/wHMATMC/wHMATMC/wHMATMB/wQAAf8BzAEz + Av8BzAEzAv8BzAEzAv8BzAEzAv8BzAEzAv8BzAEzAv8BzAEzAf+QAAF0AXcBeQH/A/oB/wHDAbQBsgH/ + AcMBtAGyAf8BwgGzAbEB/wHBAbIBsAH/A/oB/wFlAVkBOAH/AYkBegFQAf8BqAGVAWgB/wP6Af8BdAF3 + AXkB/wwAAf8BzAEzAv8BzAEzAv8BzAEzAv8BzAEzAv8BzAEzAf8EAAH/AcwBMwL/AcwBMwL/AcwBMwL/ + AcwBMwL/AcwBMwL/AcwBMwL/AcwBMwH/kAABdAF3AXkB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wGR + AY4BZQH/AcUBtgGMAv8B5wG7Af8D+gH/AXQBdwF5Af8MAAH/AcwBMwL/AcwBMwL/AcwBMwL/AcwBMwL/ + AcwBMwH/BAAB/wHMATMC/wHMATMC/wHMATMC/wHMATMC/wHMATMC/wHMATMC/wHMATMB/xAAAVIBSAE4 + AWQBugGGATMB5gElASMBIAEtEAABOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8UAAGn + AX4BOgHPAVIBSAE4AWQMAAE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wwAAXQBdwF5 + Af8D+gH/AcMBtAGyAf8BwgGzAbEB/wHBAbIBsAH/AbwBrQGrAf8D+gH/Af4BtQF6Av8BpwFrAv8ByAGU + Af8D+gH/AXQBdwF5Af8MAAH/AcwBMwL/AcwBMwL/AcwBMwL/AcwBMwL/AcwBMwH/BAAB/wHMATMC/wHM + ATMC/wHMATMC/wHMATMC/wHMATMC/wHMATMC/wHMATMB/wwAAVIBSAE4AWQBwwGKAS4B8QF1AWEBQAGP + QAABdQFhAUABjwHDAYoBLgHxAVIBSAE4AWQsAAF0AXcBeQH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ + A/oB/wP6Af8D+gH/A/oB/wF0AXcBeQH/TAABugGGATMB5gHNAY4BJwH/Ac0BjgEnAf8BzQGOAScB/wHN + AY4BJwH/Ac0BjgEnAf8oAAHNAY4BJwH/Ac0BjgEnAf8BzQGOAScB/wHNAY4BJwH/Ac0BjgEnAf8BugGG + ATMB5iwAAXQBdwF5Af8D+gH/Ab0BuQFyAf8BvAG4AXEB/wG6AbYBbwH/AbYBsgFoAf8BrgGqAWIB/wGo + AaMBWwH/AaMBnwFVAf8BoAGcAVMB/wP6Af8BdAF3AXkB/wwAAf8BzAEzAv8BzAEzAv8BzAEzAv8BzAEz + Av8BzAEzAf8EAAH/AcwBMwL/AcwBMwL/AcwBMwL/AcwBMwL/AcwBMwL/AcwBMwL/AcwBMwH/DAABUgFI + ATgBZAHDAYoBLgHxAXUBYQFAAY9AAAF1AWEBQAGPAcMBigEuAfEBUgFIATgBZCwAAXQBdwF5Af8D+gH/ + A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/AXQBdwF5Af8MAAH/AcwBMwL/AcwBMwL/ + AcwBMwL/AcwBMwL/AcwBMwH/BAAB/wHMATMC/wHMATMC/wHMATMC/wHMATMC/wHMATMC/wHMATMC/wHM + ATMB/xAAAVIBSAE4AWQBugGGATMB5gElASMBIAEtEAABOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af8QAAElASMBIAEtAboBhgEzAeYBUgFIATgBZAwAATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ + ATgCOgH/ATgCOgH/DAABdAF3AXkB/wP6Af8B2gJtAf8B9ALeAf8B1wFdAV4B/wH1At8B/wF0AXcBeQH/ + AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8BcwF2AXgB+wwAAf8BzAEzAv8BzAEzAv8BzAEz + Av8BzAEzAv8BzAEzAf8EAAH/AcwBMwL/AcwBMwL/AcwBMwL/AcwBMwL/AcwBMwL/AcwBMwL/AcwBMwH/ + kAABdAF3AXkB/wP6Af8D+gH/AdcBXQFeAf8B2wJuAf8D+gH/AXQBdwF5Af8D+gH/A/oB/wPEAf8BeQF7 + AX0B9QMvAUAMAAH/AcwBMwL/AcwBMwL/AcwBMwL/AcwBMwL/AcwBMwH/BAAB/wHMATMC/wHMATMC/wHM + ATMC/wHMATMC/wHMATMC/wHMATMC/wHMATMB/5AAAXQBdwF5Af8D+gH/A/oB/wH1At8B/wHYAl4B/wP6 + Af8BdAF3AXkB/wP6Af8DwwH/AXkBewF9AfUDLwFAEAAD8QL/AewBzAL/AewBzAL/AcwBmQL/AcwBZgH/ + BAAB/wHMATMC/wHMATMC/wHMATMC/wHMATMC/wHMATMC/wHMATMC/wHMATMB/5AAAXQBdwF5Af8D+gH/ + A/oB/wP6Af8B9QLgAf8D+gH/AXQBdwF5Af8DwwH/AXkBewF9AfUDLwFAJAAE/wQAA/EB/wPxAv8B7AHM + Av8B7AHMAf8B8AHKAaYC/wHMAWYC/wHMAWYB/wwAATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ + ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/CAABOAI6 + Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af8BOAI6Af8BOAI6Af8MAAF0AXcBeQH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BdAF3AXkB/wF5 + AXsBfQH1Ay8BQNwAAXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/ + AXMBdgF4AfsDLwFA/wD/AB4AAc0BiwEeAf8BzQGLAR4B/wHNAYsBHgH/NAABOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8gAAE4AjoB/wE4AjoB/wE4 + AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/yAAATgCOgH/ATgCOgH/ + ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/CAABzQGLAR4B/wHN + AYsBHgH/Ac0BiwEeAf8IAAE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4 + AjoB/8wAAc0BiwEeAf8BzQGLAR4B/wHNAYsBHgH//wD/ADYAATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ + ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ + CAABOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8IAAE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4 + AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB//8ACQABzQGL + AR4B/wHNAYsBHgH/Ac0BiwEeAf/0AAHNAYsBHgH/Ac0BiwEeAf8BzQGLAR4B/wgAATgCOgH/ATgCOgH/ + ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/zAABzQGLAR4B/wHNAYsBHgH/Ac0BiwEe + Af80AAE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4 + AjoB/yAAATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ + ATgCOgH/IAABOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af//AP8A/wALAAHNAYsBHgH/Ac0BiwEeAf8BzQGLAR4B/zQAATgCOgH/ATgCOgH/ATgCOgH/ + ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ + ATgCOgH/CAABOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8IAAE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4 + AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wgA + Ac0BiwEeAf8BzQGLAR4B/wHNAYsBHgH/CAABOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af8BOAI6Af/MAAHNAYsBHgH/Ac0BiwEeAf8BzQGLAR4B/7wAAcwCmQH/AmYBzAH/AmYBzAH/ + ATMBmQHMAf8MAAEzAswB/wEzAswB/wEzAcwBmQH/GAABzAKZAf8CZgHMAf8CZgHMAf8BMwGZAcwB/wwA + ATMCzAH/ATMCzAH/ATMBzAGZAf8QAAHGAdYB7wH/ATMBmQHMAf8BMwGZAcwB/wEzAZkBzAH/ATMBmQHM + Af8BMwGZAcwB/wPXAf8YAAPdAf8D3QH/HAAD6gH/AZkCzAH/AZkCzAH/AZkCzAH/AZkCzAH/A+MB/xQA + AcwCmQH/A4YB/wEzAWYBzAH/AjMBzAH/AmYBzAH/ATMBmQHMAf8EAAEzAcwC/wEAAcwC/wEzAswB/wFm + AcwBmQH/ATMCmQH/EAABzAKZAf8DhgH/ATMBZgHMAf8CMwHMAf8CZgHMAf8BMwGZAcwB/wQAATMBzAL/ + AQABzAL/ATMCzAH/AWYBzAGZAf8BMwKZAf8MAAFmAswB/wEAAZkBzAH/AWYBzAL/AZkBzAL/AWYBzAL/ + AQABzAL/AZkCzAH/AWYBzAGZAf8BMwGZAWYB/wFmApkB/wEzAWYBMwH/A3cB/wQAA90B/wPdAf8EAAPx + Af8QAAHGAdYB7wH/ATMCmQH/AQABmQHMAf8BAAHMAv8BAAHMAv8BAALMAf8BZgGZAcwB/wPjAf8MAAHM + ApkB/wHMAZkBZgH/ApkBZgH/ATMBZgL/ATMBZgHMAf8CMwHMAf8BMwFmAcwB/wEzAWYBzAH/AQABzAL/ + AQABzAL/ATMCzAH/AWYBzAGZAf8BMwHMAZkB/wEzApkB/wgAAcwCmQH/AcwBmQFmAf8CmQFmAf8BMwFm + Av8BMwFmAcwB/wIzAcwB/wEzAWYBzAH/ATMBZgHMAf8BAAHMAv8BAAHMAv8BMwLMAf8BZgHMAZkB/wEz + AcwBmQH/ATMCmQH/CAABZgHMAv8BMwGZAcwB/wgAAcwD/wEzAcwC/wGZAswB/wEzAcwBmQH/AWYBzAGZ + Af8B1gLnAf8BkAGpAa0B/wEzAmYB/wQAA90B/wPdAv8B7AHMAf8BzAKZAf8DzAH/A8wB/wHwAcoBpgH/ + AcwCZgH/AaQCoAH/AQACmQH/AQABmQHMAf8BAALMAf8BMwHMAv8BAAHMAv8BMwGZAcwB/wPXAf8IAAHM + ApkB/wHMAWYBMwH/AcwBmQFmAf8BpAKgAf8BMwGZAv8BMwFmAv8BMwFmAcwB/wIzAcwB/wEzAWYBzAH/ + ATMBmQHMAf8BAAHMAv8BMwHMAv8BZgHMAZkB/wEzAcwBmQH/ATMCmQH/ATMBmQFmAf8BzAKZAf8BzAFm + ATMB/wHMAZkBZgH/AaQCoAH/ATMBmQL/ATMBZgL/ATMBZgHMAf8CMwHMAf8BMwFmAcwB/wEzAZkBzAH/ + AQABzAL/ATMBzAL/AWYBzAGZAf8BMwHMAZkB/wEzApkB/wEzAZkBZgH/BAABZgHMAv8BMwLMAf8IAAHW + AucB/wGZA/8BxgHWAe8B/wGZAswB/wHWAucB/wQAAcAB3AHAAf8BMwGZAWYB/wQAA90B/wPdAv8B7AHM + Av8CZgL/ApkC/wGZAWYC/wJmAf8BzAEzAQAB/wHMAZkBZgH/ATMBmQHMAf8BAAKZAf8BAAGZAcwB/wEz + AcwC/wEAAcwC/wEAAZkBzAH/AZkCzAH/CAADVQH/AcwBZgEzAf8CzAGZAf8EAAGZAcwC/wEzAZkC/wEz + AWYC/wEzAWYBzAH/AjMBzAH/ATMBZgHMAf8BMwGZAcwB/wgAATMBzAGZAf8BMwGZAWYB/wEzAZkBZgH/ + A1UB/wHMAWYBMwH/AswBmQH/BAABmQHMAv8BMwGZAv8BMwFmAv8BMwFmAcwB/wIzAcwB/wEzAWYBzAH/ + ATMBmQHMAf8IAAEzAcwBmQH/ATMBmQFmAf8BMwGZAWYB/wQAAWYBzAL/AQABzAL/AWYBzAL/AWYBzAL/ + AcYB1gHvAf8BZgLMAf8BwAHcAcAB/wGZAcwBmQH/A8AB/wGZAf8BzAH/AWYBzAGZAf8BMwGZAWYB/wQA + A90B/wPdAf8EAAH/ApkC/wKZAv8BzAGZAv8BmQFmAf8BzAIzAf8BzAJmAf8BZgGZAcwB/wEAApkB/wEA + AZkBzAH/AQABzAL/AQABzAL/AQACzAH/AWYCzAH/CAABMwJmAf8BMwGZAWYB/wOyAf8IAAFmAcwC/wEz + AZkC/wEzAWYC/wEzAWYBzAH/AjMBzAH/AmYBzAH/CAABzAGZAWYB/wHMAWYBMwH/ATMBmQFmAf8BMwJm + Af8BMwGZAWYB/wOyAf8IAAFmAcwC/wEzAZkC/wEzAWYC/wEzAWYBzAH/AjMBzAH/AmYBzAH/CAABzAGZ + AWYB/wHMAWYBMwH/ATMBmQFmAf8EAAGZA/8BMwP/AWYD/wEzA/8BmQP/ATMBzAL/AZkCzAH/AWYBzAGZ + Af8BmQHMAZkB/wFmAswB/wEzAcwBmQH/AWYBzAGZAf8EAAPdAf8D3QH/BAAB8AHKAaYC/wGZAWYC/wHM + AZkC/wGZAWYC/wFmATMB/wHMAjMB/wGQAakBrQH/AQACmQH/AWYCzAH/AWYCzAH/AWYCzAH/ATMCzAH/ + AWYCzAH/CAABZgKZAf8BMwGZAWYB/wEzAcwBmQH/AZABqQGtAf8BMwHMAv8BMwHMAv8BZgHMAv8BMwFm + Av8BMwFmAv8BMwFmAcwB/wIzAcwB/wJmAcwB/wHMAZkBZgH/AcwBmQFmAf8BzAFmATMB/wHMApkB/wFm + ApkB/wEzAZkBZgH/ATMBzAGZAf8BkAGpAa0B/wEzAcwC/wEzAcwC/wFmAcwC/wEzAWYC/wEzAWYC/wEz + AWYBzAH/AjMBzAH/AmYBzAH/AcwBmQFmAf8BzAGZAWYB/wHMAWYBMwH/AcwCmQH/BAABxgHWAe8B/wKZ + AcwB/wKZAcwB/wKZAcwB/wHGAdYB7wH/ApkBzAH/AcYB1gHvAf8DsgH/A8wB/wPAAf8BpAKgAf8IAAPd + Af8D3QH/BAAB/wHsAcwC/wGZAWYC/wKZAv8BmQFmAv8CZgH/AcwCMwH/AcwCmQH/AZkCzAH/AWYBzAGZ + Af8BMwHMAZkB/wEzAcwBmQH/ATMBzAGZAf8BZgKZAf8D3QH/CAABZgHMAZkB/wFmAcwBmQH/AWYCzAH/ + AQABzAL/ATMBzAL/AWYBzAL/A2YB/wNmAf8DZgH/A2YB/wNmAf8DZgH/A2YB/wNmAf8DZgH/BAABZgHM + AZkB/wFmAcwBmQH/AWYCzAH/AQABzAL/ATMBzAL/AWYBzAL/ATMBmQL/A2YB/wNmAf8DZgH/A2YB/wNm + Af8DZgH/A2YB/wNmAf8BxgHWAe8B/wEzAWYC/wEzAWYBzAH/ATMBmQL/ATMBZgHMAf8BmQLMAf8BMwFm + AcwB/wOyAf8BzAJmAf8BzAKZAf8BzAGZATMB/wGZAWYBMwH/A+MB/wQAA90B/wPdAf8IAAHwAcoBpgL/ + ApkC/wKZAv8BmQFmAf8BzAKZAf8DzAH/AWYCmQH/AQABZgEzAf8BAAHMAWYB/wEzAcwBmQH/ATMBzAGZ + Af8BAAGZAWYB/wGQAakBrQH/DAABZgHMAZkB/wFmAswB/wEAAcwC/wEzAcwC/wEzAcwC/wOZBf8B8AH7 + Av8B8AH7Av8B8AH7Av8B8AH7Av8B8AH7Av8B8AH7Av8DZgH/CAABZgHMAZkB/wFmAswB/wEAAcwC/wEz + AcwC/wEzAcwC/wGZAcwC/wOZBf8B8AH7Av8B8AH7Av8B8AH7Av8B8AH7Av8B8AH7Av8DZgH/AZkBzAL/ + AQABMwL/AZkBzAL/AcYB1gHvAf8BxgHWAe8B/wHWAucB/wGZAcwC/wPXAf8B8AHKAaYB/wPjAf8D3QH/ + AZkBZgEzAf8D1wH/BAAD3QH/A90B/wgAAWYBzAL/ATMBmQL/ApkBzAH/AWYBmQHMAf8BMwFmAcwB/wIz + AcwB/wGQAakBrQH/AQABZgEzAf8BAAGZAWYB/wEAAcwBmQH/ATMBzAGZAf8BAAHMAWYB/wFmApkB/xAA + AWYCzAH/AWYBzAL/AZkBzAL/AcYB1gHvAf8DmQH/AfAB+wL/AfAB+wL/A/EB/wN3Af8B8AH7Av8B8AH7 + Av8B8AH7Av8DZgH/DAABZgLMAf8BZgHMAv8BmQHMAv8BxgHWAe8B/wQAA5kB/wHwAfsC/wPAAf8DdwH/ + A3cB/wPAAf8B8AH7Av8DZgH/AZkBzAL/ATMBZgHMAf8BzAP/CAAB1gLnAf8BMwFmAcwB/wKZAcwC/wGZ + AWYB/wHwAcoBpgH/A8wB/wGZATMBAAH/A9cB/wQAA90B/wPdAf8IAAGZAcwC/wEzAWYC/wEzAZkC/wEA + AWYC/wEAATMBzAH/AQABMwHMAf8BkAGpAa0B/wEzAZkBZgH/AQABmQFmAf8BAAHMAWYB/wEzAcwBmQH/ + AQABzAGZAf8BMwGZAWYB/wPdAf8cAAOZAf8B8AH7Av8B8AH7Av8D8QH/A3cB/wHwAfsC/wHwAfsC/wHw + AfsC/wNmAf8gAAOZAf8B8AH7Av8DdwH/A/EB/wHwAfsC/wN3Af8B8AH7Av8DZgH/AZkCzAH/ATMBZgHM + Af8BzAP/CAAB1gLnAf8BMwGZAv8CmQHMAv8BzAGZAf8BzAFmATMB/wGZAWYBMwH/AcwCZgH/CAAD3QH/ + A90B/wgAAcYB1gHvAf8BMwGZAv8BMwGZAv8BMwGZAv8BAAFmAv8BAAEzAcwB/wJmAcwB/wFmAZkBZgH/ + AQABZgEzAf8BAAHMAWYB/wEzAcwBmQH/AQABzAGZAf8BAAGZAWYB/wOyAf8cAAOZDf8DdwH/A8AJ/wNm + Af8gAAOZCf8DdwH/A3cJ/wNmAf8CmQHMAf8BAAEzAcwB/wGZAcwC/wHGAdYB7wH/AdYC5wH/AZkBzAL/ + AQABZgL/A8AB/wQAAf8B7AHMAv8B7AHMAf8D4wH/CAAD3QH/A90B/wwAAWYBmQL/ATMBmQL/ATMBmQL/ + AQABZgL/AQABMwHMAf8CMwHMAf8BkAGpAa0B/wFmApkB/wHAAdwBwAH/AdYC5wH/AdYC5wH/AZkCzAH/ + AcAB3AHAAf8cAAOZEf8Ddwn/A2YB/yAAA5kF/wN3Cf8DdwX/A2YB/wKZAcwB/wEhAQABpQH/AjMBzAH/ + ATMBZgHMAf8BMwFmAcwB/wEAATMC/wEAATMBzAH/ApkBzAH/GAAD3QH/A90B/wwAAZkBzAL/ATMBmQL/ + ATMBmQL/AQABZgL/AQABMwHMAf8BMwFmAcwB/wHWAucB/zQAA5kJ/wN3Af8DdwH/A3cJ/wNmAf8gAAOZ + Bf8DwAH/A3cB/wN3Af8DwAX/A2YB/wQAApkBzAH/ApkBzAH/AYABfAL/ApkC/wKZAv8BxgHWAe8B/xwA + A90B/wPdAf8QAAHWAucB/wHGAdYB7wH/AZkBzAL/AZkBzAL/A/EB/zgAA5kd/wNmAf8gAAOZGf8DZgH/ + nAADmQH/A5kB/wOZAf8DmQH/A5kB/wOZAf8DmQH/A5kB/wNmAf8gAAOZAf8DmQH/A5kB/wOZAf8DmQH/ + A5kB/wOZAf8DZgH/BAAB1gLnAf8BZgGZAcwB/wEzAZkBzAH/ATMBmQHMAf8BMwGZAcwB/wEzAZkBzAH/ + ATMBmQHMAf8DzAH/4AABmQLMAf8BAAGZAcwB/wEzAswB/wFmAcwC/wFmAcwC/wEzAcwC/wEAAcwC/wGZ + AswB/wGZAcwBmQH/ATMBmQFmAf8BMwGZAWYB/wEzAmYB/wEzAWYBMwH/A4YB/wgAAcYB1gHvAf8BMwGZ + AcwB/wEzAZkBzAH/ATMBmQHMAf8BMwGZAcwB/wEzAZkBzAH/A9cB/xgAAf8BZgEAAv8BZgEAAf8EAAHG + AdYB7wH/ATMBmQHMAf8BMwGZAcwB/wEzAZkBzAH/ATMBmQHMAf8BMwGZAcwB/wPXAf8YAAEzAcwBmQH/ + ATMBzAGZAf8EAAHGAdYB7wH/ATMBmQHMAf8BMwGZAcwB/wEzAZkBzAH/ATMBmQHMAf8BMwGZAcwB/wPX + Af8YAAOyAf8DsgH/BAABmQHMAv8BAAGZAcwB/wHGAdYB7wH/CAABzAP/AQABzAL/AZkCzAH/AWYBzAGZ + Af8BMwGZAWYB/wGZAcwBmQH/AZkCzAH/ATMBmQFmAf8BMwJmAf8IAAFmAswB/wEAAZkBzAH/AWYBzAL/ + AZkBzAL/AWYBzAL/AQABzAL/AZkCzAH/AWYBzAGZAf8BMwGZAWYB/wFmApkB/wEzAWYBMwH/A3cB/wQA + Af8BZgEAAv8BZgEAAf8EAAFmAswB/wEAAZkBzAH/AWYBzAL/AZkBzAL/AWYBzAL/AQABzAL/AZkCzAH/ + AWYBzAGZAf8BMwGZAWYB/wFmApkB/wEzAWYBMwH/A3cB/wQAATMBzAGZAf8BMwHMAZkB/wQAAWYCzAH/ + AQABmQHMAf8BZgHMAv8BmQHMAv8BZgHMAv8BAAHMAv8BmQLMAf8BZgHMAZkB/wEzAZkBZgH/AWYCmQH/ + ATMBZgEzAf8DdwH/BAADsgH/A7IB/wQAAZkBzAL/AQABmQHMAf8BxgHWAe8B/wgAAcwD/wEzAcwC/wGZ + AswB/wFmAcwBmQH/ATMBzAGZAf8IAAGZAcwBmQH/ATMBmQFmAf8IAAFmAcwC/wEzAZkBzAH/CAABzAP/ + ATMBzAL/AZkCzAH/ATMBzAGZAf8BZgHMAZkB/wHWAucB/wGQAakBrQH/ATMCZgH/BAAB/wFmAQAC/wFm + AQAB/wQAAWYBzAL/ATMBmQHMAf8IAAHMA/8BMwHMAv8BmQLMAf8BMwHMAZkB/wFmAcwBmQH/AdYC5wH/ + AZABqQGtAf8BMwJmAf8EAAEzAcwBmQH/ATMBzAGZAf8EAAFmAcwC/wEzAZkBzAH/CAABzAP/ATMBzAL/ + AZkCzAH/ATMBzAGZAf8BZgHMAZkB/wHWAucB/wGQAakBrQH/ATMCZgH/BAADsgH/A7IB/wQAAZkBzAL/ + AQABzAL/AcYB1gHvAf8EAAPxAf8B1gLnAf8BmQP/AcwD/wHAAdwBwAH/AZkCzAH/CAABmQHMAZkB/wEz + AZkBZgH/CAABZgHMAv8BMwLMAf8IAAHWAucB/wGZA/8BxgHWAe8B/wGZAswB/wHWAucB/wQAAcAB3AHA + Af8BMwGZAWYB/wQAAf8BZgEAAv8BZgEAAf8EAAFmAcwC/wEzAswB/wgAAdYC5wH/AZkD/wHGAdYB7wH/ + AZkCzAH/AdYC5wH/BAABwAHcAcAB/wEzAZkBZgH/BAABMwHMAZkB/wEzAcwBmQH/BAABZgHMAv8BMwLM + Af8IAAHWAucB/wGZA/8BxgHWAe8B/wGZAswB/wHWAucB/wQAAcAB3AHAAf8BMwGZAWYB/wQAA7IB/wOy + Af8EAAGZA/8BAAHMAv8BMwHMAv8BMwHMAv8BMwHMAv8BxgHWAe8B/wEzAZkBzAH/AZkCzAH/AZkBzAGZ + Af8BZgGZAWYB/wHAAdwBwAH/ATMBzAGZAf8BMwGZAWYB/wEzAZkBZgH/CAABZgHMAv8BAAHMAv8BZgHM + Av8BZgHMAv8BxgHWAe8B/wFmAswB/wHAAdwBwAH/AZkBzAGZAf8DwAH/AZkB/wHMAf8BZgHMAZkB/wEz + AZkBZgH/BAAB/wFmAQAC/wFmAQAB/wQAAWYBzAL/AQABzAL/AWYBzAL/AWYBzAL/AcYB1gHvAf8BZgLM + Af8BwAHcAcAB/wGZAcwBmQH/A8AB/wGZAf8BzAH/AWYBzAGZAf8BMwGZAWYB/wQAATMBzAGZAf8BMwHM + AZkB/wQAAWYBzAL/AQABzAL/AWYBzAL/AWYBzAL/AcYB1gHvAf8BZgLMAf8BwAHcAcAB/wGZAcwBmQH/ + A8AB/wGZAf8BzAH/AWYBzAGZAf8BMwGZAWYB/wQAA7IB/wOyAf8EAAHMA/8BMwP/AWYD/wFmA/8BZgP/ + AZkD/wEzAcwC/wHGAdYB7wH/AWYCzAH/AWYBzAGZAf8BmQLMAf8BMwLMAf8BMwHMAZkB/wGZAswB/wgA + AZkD/wEzA/8BZgP/ATMD/wGZA/8BMwHMAv8BmQLMAf8BZgHMAZkB/wGZAcwBmQH/AWYCzAH/ATMBzAGZ + Af8BZgHMAZkB/wQAAf8BZgEAAv8BZgEAAf8EAAGZA/8BMwP/AWYD/wEzA/8BmQP/ATMBzAL/AZkCzAH/ + AWYBzAGZAf8BmQHMAZkB/wFmAswB/wEzAcwBmQH/AWYBzAGZAf8EAAEzAcwBmQH/ATMBzAGZAf8EAAGZ + A/8BMwP/AWYD/wEzA/8BmQP/ATMBzAL/AZkCzAH/AWYBzAGZAf8BmQHMAZkB/wFmAswB/wEzAcwBmQH/ + AWYBzAGZAf8EAAOyAf8DsgH/BAABxgHWAe8B/wKZAcwB/wKZAcwB/wKZAcwB/wKZAcwB/wHWAucB/wKZ + AcwB/wHGAdYB7wH/A8wB/wOyAf8D6gH/AcwCmQH/A7IB/wwAAcYB1gHvAf8CmQHMAf8CmQHMAf8CmQHM + Af8BxgHWAe8B/wKZAcwB/wHGAdYB7wH/A7IB/wPMAf8DwAH/AaQCoAH/CAAB/wFmAQAC/wFmAQAB/wQA + AcYB1gHvAf8CmQHMAf8CmQHMAf8CmQHMAf8BxgHWAe8B/wKZAcwB/wHGAdYB7wH/A7IB/wPMAf8DwAH/ + AaQCoAH/CAABMwHMAZkB/wEzAcwBmQH/BAABxgHWAe8B/wKZAcwB/wKZAcwB/wKZAcwB/wHGAdYB7wH/ + ApkBzAH/AcYB1gHvAf8DsgH/A8wB/wPAAf8BpAKgAf8IAAOyAf8DsgH/AdYC5wH/ATMBZgL/AQABZgHM + Af8BAAFmAv8BMwGZAcwB/wEzAWYBzAH/AZkCzAH/AQABMwHMAf8CmQHMAf8BzAGZAWYB/wGZAjMB/wLM + AZkB/wGZAWYBAAH/AZkBZgEzAf8IAAHGAdYB7wH/ATMBZgL/ATMBZgHMAf8BMwGZAv8BMwFmAcwB/wGZ + AswB/wEzAWYBzAH/A7IB/wHMAmYB/wHMApkB/wHMAZkBMwH/AZkBZgEzAf8D4wH/BAAB/wFmAQAC/wFm + AQAB/wHGAdYB7wH/ATMBZgL/ATMBZgHMAf8BMwGZAv8BMwFmAcwB/wGZAswB/wEzAWYBzAH/A7IB/wHM + AmYB/wHMApkB/wHMAZkBMwH/AZkBZgEzAf8D4wH/BAABMwHMAZkB/wEzAcwBmQH/AcYB1gHvAf8BMwFm + Av8BMwFmAcwB/wEzAZkC/wEzAWYBzAH/AZkCzAH/ATMBZgHMAf8DsgH/AcwCZgH/AcwCmQH/AcwBmQEz + Af8BmQFmATMB/wPjAf8EAAOyAf8DsgH/AcYB1gHvAf8BAAEzAv8BZgGZAv8BmQHMAv8BmQHMAv8BxgHW + Ae8B/wHWAucB/wGZAcwC/wHWAucB/wHwAcoBpgH/AswBmQH/BAABzAGZAWYB/wGZAWYBMwH/CAABmQHM + Av8BAAEzAv8BmQHMAv8BxgHWAe8B/wHGAdYB7wH/AdYC5wH/AZkBzAL/A9cB/wHwAcoBpgH/A+MB/wPd + Af8BmQFmATMB/wPXAf8EAAH/AWYBAAL/AWYBAAH/AZkBzAL/AQABMwL/AZkBzAL/AcYB1gHvAf8BxgHW + Ae8B/wHWAucB/wGZAcwC/wPXAf8B8AHKAaYB/wPjAf8D3QH/AZkBZgEzAf8D1wH/BAABMwHMAZkB/wEz + AcwBmQH/AZkBzAL/AQABMwL/AZkBzAL/AcYB1gHvAf8BxgHWAe8B/wHWAucB/wGZAcwC/wPXAf8B8AHK + AaYB/wPjAf8D3QH/AZkBZgEzAf8D1wH/BAADsgH/A7IB/wLMAv8BAAEzAcwB/wGZAcwC/wwAAdYC5wH/ + ATMBZgHMAf8CmQHMAf8B8AHKAaYB/wHMAZkBZgH/BAACzAGZAf8BmQEzAQAB/wgAAZkBzAL/ATMBZgHM + Af8BzAP/CAAB1gLnAf8BMwFmAcwB/wKZAcwC/wGZAWYB/wHwAcoBpgH/A8wB/wGZATMBAAH/A9cB/wQA + Af8BZgEAAv8BZgEAAf8BmQHMAv8BMwFmAcwB/wHMA/8IAAHWAucB/wEzAWYBzAH/ApkBzAL/AZkBZgH/ + AfABygGmAf8DzAH/AZkBMwEAAf8D1wH/BAABMwHMAZkB/wEzAcwBmQH/AZkBzAL/ATMBZgHMAf8BzAP/ + CAAB1gLnAf8BMwFmAcwB/wKZAcwC/wGZAWYB/wHwAcoBpgH/A8wB/wGZATMBAAH/A9cB/wQAA7IB/wOy + Af8BmQHMAv8BAAEzAcwB/wGZAcwC/wwAAcYB1gHvAf8BMwGZAv8CmQHMAv8BzAGZAf8BzAFmATMB/wGZ + AWYBMwH/AZkBZgEzAf8BmQIzAf8IAAGZAswB/wEzAWYBzAH/AcwD/wgAAdYC5wH/ATMBmQL/ApkBzAL/ + AcwBmQH/AcwBZgEzAf8BmQFmATMB/wHMAmYB/wgAAf8BZgEAAv8BZgEAAf8BmQLMAf8BMwFmAcwB/wHM + A/8IAAHWAucB/wEzAZkC/wKZAcwC/wHMAZkB/wHMAWYBMwH/AZkBZgEzAf8BzAJmAf8IAAEzAcwBmQH/ + ATMBzAGZAf8BmQLMAf8BMwFmAcwB/wHMA/8IAAHWAucB/wEzAZkC/wKZAcwC/wHMAZkB/wHMAWYBMwH/ + AZkBZgEzAf8BzAJmAf8IAAOyAf8DsgH/AZkCzAH/AQABMwHMAf8BmQHMAv8MAAHGAdYB7wH/AQABmQL/ + ApkBzAL/AewBzAH/AfABygGmAf8BzAGZAWYB/wHMAZkBZgH/AcwCmQH/CAACmQHMAf8BAAEzAcwB/wGZ + AcwC/wHGAdYB7wH/AdYC5wH/AZkBzAL/AQABZgL/A8AB/wQAAf8B7AHMAv8B7AHMAf8D4wH/CAAB/wFm + AQAC/wFmAQAB/wKZAcwB/wEAATMBzAH/AZkBzAL/AcYB1gHvAf8B1gLnAf8BmQHMAv8BAAFmAv8DwAH/ + BAAB/wHsAcwC/wHsAcwB/wPjAf8IAAEzAcwBmQH/ATMBzAGZAf8CmQHMAf8BAAEzAcwB/wGZAcwC/wHG + AdYB7wH/AdYC5wH/AZkBzAL/AQABZgL/A8AB/wQAAf8B7AHMAv8B7AHMAf8D4wH/CAADsgH/A7IB/wKZ + AcwB/wIAAcwB/wFmAZkBzAH/AZkBzAL/AZkBzAL/AcYB1gHvAf8BZgGZAv8BAAFmAv8CmQHMAf8cAAKZ + AcwB/wEhAQABpQH/AjMBzAH/ATMBZgHMAf8BMwFmAcwB/wEAATMC/wEAATMBzAH/ApkBzAH/GAAB/wFm + AQAC/wFmAQAB/wKZAcwB/wEhAQABpQH/AjMBzAH/ATMBZgHMAf8BMwFmAcwB/wEAATMC/wEAATMBzAH/ + ApkBzAH/GAABMwHMAZkB/wEzAcwBmQH/ApkBzAH/ASEBAAGlAf8CMwHMAf8BMwFmAcwB/wEzAWYBzAH/ + AQABMwL/AQABMwHMAf8CmQHMAf8YAAOyAf8DsgH/AcYB1gHvAf8BIQEAAaUB/wIAAcwB/wEAATMBzAH/ + AQABMwHMAf8BAAEzAcwB/wEAATMC/wEAATMBzAH/ApkBzAH/IAACmQHMAf8CmQHMAf8BgAF8Av8CmQL/ + ApkC/wHGAdYB7wH/HAAB/wFmAQAC/wFmAQAB/wQAApkBzAH/ApkBzAH/AYABfAL/ApkC/wKZAv8BxgHW + Ae8B/xwAATMBzAGZAf8BMwHMAZkB/wQAApkBzAH/ApkBzAH/AYABfAL/ApkC/wKZAv8BxgHWAe8B/xwA + A7IB/wOyAf8EAAGZAswB/wKZAcwB/wKZAcwB/wKZAv8BmQHMAv8CmQL/AcYB1gHvAf//ADkAA0cByAM3 + AVlAAAM3AVkDRwHIHAADGQEhkAADNwFZAUECQgHlAzcBWTgAAzcBWQFBAkIB5QM3AVkYAAMZASEBQAJB + AesDLAFBPAABOwE9Ae0B/wI3AUwBWCAAAjcBTAFYATsBPQHtAf8kAAM3AVkBQQJCAeUDNwFZMAADNwFZ + AUECQgHlAzcBWSAAAywBQQFAAkEB6wMsAUE4AAI3AUwBWAE7AT0B7QH/AjcBTAFYGAACNwFMAVgBOwE9 + Ae0B/wI3AUwBWCgAAzcBWQFBAkIB5QNGAZIoAAM3AVkBQQJCAeUDNwFZKAADLAFBAUACQQHrAywBQTgA + AjcBTAFYATsBPQHtAf8CNwFMAVgQAAI3AUwBWAE7AT0B7QH/AjcBTAFYMAADNwFZAT0CPwHxA0YBkiAA + A0YBkgE9Aj8B8QM3AVkwAAMsAUEBQAJBAesDLAFBOAACNwFMAVgBOwE9Ae0B/wI3AUwBWAgAAjcBTAFY + ATsBPQHtAf8CNwFMAVg4AAM3AVkBPQI/AfEDRgGSGAADRgGSAT0CPwHxAzcBWTgAAywBQQFAAkEB6wMs + AUEDHgEmAWwCbQHQAVkCWgH1AUECQwH+AVkCWgH1AWwCbQHQAx4BJhwAAjcBTAFYATsBPQHtAf8CNwFM + AVgCNwFMAVgBOwE9Ae0B/wI3AUwBWEAAAzcBWQE9Aj8B8QNGAZIQAANGAZIBPQI/AfEDNwFZQAADLAFB + AT4CPwH0AUUCRwH9AYwCjgH/A84B/wPsAf8DzgH/AYwCjgH/AUgCSQH9A08BcBwAAjcBTAFYATsBPQHt + Af8BOwE9Ae0B/wI3AUwBWEgAAzcBWQFBAkIB5QMrAUAIAAMrAUABQQJCAeUDNwFZRAADHgEmAUUCRwH9 + AcQCxQH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BxALFAf8BSAJJAf0DHgEmGAACNwFMAVgBOwE9Ae0B/wE7 + AT0B7QH/AjcBTAFYTAABSAJJAasBRwJIAb8IAAFHAkgBvwFIAkkBq0gAAWwCbQHQAYwCjgH/A/oB/wP6 + Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wGMAo4B/wFsAm0B0BQAAjcBTAFYATsBPQHtAf8CNwFMAVgCNwFM + AVgBOwE9Ae0B/wI3AUwBWBgAATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ + FAADKwFAAT0CPwHxCAABPQI/AfEDKwFAFAABOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af8YAAFYAloB9QPPAf8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A84B/wFZAloB9RAA + AjcBTAFYATsBPQHtAf8CNwFMAVgIAAI3AUwBWAE7AT0B7QH/AjcBTAFYFAABOAI6Af8BQQJCAeUDNwFZ + KAABOAI6Af8IAAE4AjoB/ygAAzcBWQFBAkIB5QE4AjoB/xgAAUACQgH/A+wB/wP6Af8D+gH/A/oB/wP6 + Af8D+gH/A/oB/wP6Af8D7AH/AUECQwH+DAACNwFMAVgBOwE9Ae0B/wI3AUwBWBAAAjcBTAFYATsBPQHt + Af8CNwFMAVgQAAE4AjoB/wM3AVkBQQJCAeUDNwFZIAADKwFAAT0CPwHxCAABPQI/AfEDKwFAIAADNwFZ + AUECQgHlAzcBWQE4AjoB/xgAAVgCWgH1A88B/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8DzgH/ + AVkCWgH1CAACNwFMAVgBOwE9Ae0B/wI3AUwBWBgAAjcBTAFYATsBPQHtAf8CNwFMAVgMAAE4AjoB/wQA + A0YBkgE9Aj8B8QM3AVkcAAFIAkkBqwFHAkgBvwgAAUcCSAG/AUgCSQGrHAADNwFZAT0CPwHxA0YBkgQA + ATgCOgH/GAABbAJtAdABjAKOAf8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/AYwCjgH/AWwCbQHQ + CAABOwE9Ae0B/wI3AUwBWCAAAjcBTAFYATsBPQHtAf8MAAE4AjoB/wgAA0YBkgE9Aj8B8QM3AVkUAAM3 + AVkBQQJCAeUDKwFACAADKwFAAUECQgHlAzcBWRQAAzcBWQE9Aj8B8QNGAZIIAAE4AjoB/xgAAx4BJgFI + AkkB/QPFAf8D+gH/A/oB/wP6Af8D+gH/A/oB/wHEAsUB/wFIAkkB/QMeASZEAAE4AjoB/wwAA0YBkgFB + AkIB5QFIAkkBqwMrAUAEAAMrAUABSAJJAasBQQJCAeUDRgGSEAADRgGSAUECQgHlAUgCSQGrAysBQAQA + AysBQAFIAkkBqwFBAkIB5QNGAZIMAAE4AjoB/xwAA08BcQFIAkkB/QGNAo4B/wHPAtAB/wPsAf8BzwLQ + Af8BjQKOAf8BSAJJAf0DTwFxSAABOAI6Af8QAAMrAUABRwJIAb8BPQI/AfEBOAI6Af8BPQI/AfEBRwJI + Ab8DKwFAGAADKwFAAUcCSAG/AT0CPwHxATgCOgH/AT0CPwHxAUcCSAG/AysBQBAAATgCOgH/IAADHgEm + AWwCbQHQAVgCWgH1AUACQgH/AVgCWgH1AWwCbQHQAx4BJhAAATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ + ATgCOgH/BAABOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8UAAF1AWEBQAGPAcMBigEu + AfEBwwGKAS4B8QF1AWEBQAGPCAABdQFhAUABjwHDAYoBLgHxAcMBigEuAfEBdQFhAUABjyQAATgCOgH/ + ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/CQABbAHe + Af8BAAFsAd4B/wEAAWwB3gH/AQABbAHeAf8BAAFsAd4B/wEAAWwB3gH/BAABOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8IAAE4AjoB/wP6Af8D+gH/DAABOAI6Af8D+gH/A/oB/wP6 + Af8D+gH/ATgCOgH/FAABwwGKAS4B8QFSAUgBOAFkAVIBSAE4AWQBwwGKAS4B8QgAAcMBigEuAfEBUgFI + ATgBZAFSAUgBOAFkAcMBigEuAfEkAAE4AjoB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ + ATgCOgH/CQABbAHeAf8BjwHbAfgB/wGPAdsB+AH/AY8B2wH4Af8BjwHbAfgB/wGPAdsB+AH/BAABOAI6 + Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wE4AjoB/wgAATgCOgH/A/oB/wP6Af8EAAE4AjoB/wE4AjoB/wE4 + AjoB/wP6Af8D+gH/A/oB/wP6Af8BOAI6Af8BOAI6Af8BOAI6Af8MAAHDAYoBLgHxAVIBSAE4AWQBUgFI + ATgBZAHDAYoBLgHxCAABwwGKAS4B8QFSAUgBOAFkAVIBSAE4AWQBwwGKAS4B8QwAATgCOgH/ATgCOgH/ + ATgCOgH/ATgCOgH/ATgCOgH/BAABOAI6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wE4 + AjoB/wkAAWwB3gH/AY8B2wH4Af8D+gH/A/oB/wP6Af8D+gH/BAABOAI6Af8D+gH/A/oB/wP6Af8D+gH/ + A/oB/wE4AjoB/wgAATgCOgH/A/oB/wP6Af8EAAE4AjoB/wP6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af8BOAI6Af8D+gH/ATgCOgH/DAABdQFhAUABjwHDAYoBLgHxAcYBiwErAfYBdQFhAUABjwgA + AXUBYQFAAY8BxwGMASsB+AHDAYoBLgHxAXUBYQFAAY8MAAE4AjoB/wP6Af8D+gH/A/oB/wP6Af8EAAE4 + AjoB/wP6Af8D+gH/AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8D+gH/A/oB/wE4AjoB/wkA + AWwB3gH/AY8B2wH4Af8D+gH/A/oB/wP6Af8D+gH/BAABOAI6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wE4 + AjoB/wgAATgCOgH/A/oB/wP6Af8EAAE4AjoB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ + ATgCOgH/FAABRQJGAdEBPgI/AW8IAAE+Aj8BbwFFAkYB0RQAATgCOgH/A/oB/wP6Af8D+gH/A/oB/wQA + ATgCOgH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BOAI6Af8JAAFsAd4B/wGPAdsB+AH/ + A/oB/wP6Af8D+gH/A/oB/wQAATgCOgH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BOAI6Af8IAAE4AjoB/wP6 + Af8D+gH/BAABOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af8UAAE+Aj8BbwFFAkYB0QgAAUUCRgHRAT4CPwFvFAABOAI6Af8D+gH/A/oB/wP6Af8D+gH/ + BAABOAI6Af8D+gH/A/oB/wF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/A/oB/wP6Af8BOAI6 + Af8JAAFsAd4B/wGPAdsB+AH/A/oB/wP6Af8D+gH/A/oB/wQAATgCOgH/A/oB/wP6Af8D+gH/A/oB/wP6 + Af8BOAI6Af8IAAE4AjoB/wP6Af8D+gH/DAABOAI6Af8D+gH/A/oB/wP6Af8D+gH/ATgCOgH/IAABRQJG + AdEBPgI/AW8BPgI/AW8BRQJGAdEYAAE4AjoB/wP6Af8D+gH/A/oB/wP6Af8EAAE4AjoB/wP6Af8D+gH/ + A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ATgCOgH/CQABbAHeAf8BjwHbAfgB/wP6Af8D+gH/A/oB/wP6 + Af8EAAE4AjoB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ATgCOgH/CAABOAI6Af8D+gH/A/oB/wP6Af8D+gH/ + BAABOAI6Af8D+gH/A/oB/wP6Af8D+gH/ATgCOgH/IAABPgI/AW8BRQJGAdEBRQJGAdEBPgI/AW8YAAE4 + AjoB/wP6Af8D+gH/A/oB/wP6Af8EAAE4AjoB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ + ATgCOgH/CQABbAHeAf8BjwHbAfgB/wP6Af8D+gH/A/oB/wP6Af8EAAE4AjoB/wP6Af8D+gH/A/oB/wP6 + Af8D+gH/ATgCOgH/CAABOAI6Af8D+gH/A/oB/wP6Af8D+gH/BAABOAI6Af8BOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af8BOAI6Af8kAAFFAkYB0QFFAkYB0RwAATgCOgH/A/oB/wP6Af8D+gH/A/oB/wQAATgCOgH/ + A/oB/wP6Af8D+gH/A/oB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wkAAWwB3gH/AY8B2wH4 + Af8D+gH/A/oB/wP6Af8D+gH/BAABOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6 + Af8IAAE4AjoB/wP6Af8D+gH/A/oB/wP6Af9AAAFFAkYB0QFFAkYB0RwAATgCOgH/A/oB/wP6Af8D+gH/ + A/oB/wQAATgCOgH/A/oB/wP6Af8D+gH/A/oB/wE4AjoB/wP6Af8BvwLAAf8BRgJIAfUDKwFACQABbAHe + Af8BjwHbAfgB/wP6Af8D+gH/A/oB/wP6Af8oAAE4AjoB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ATgCOgH/ + ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/AToCPAH7IAABPgI/AW8BRQJGAdEBRQJGAdEBPgI/AW8YAAE4 + AjoB/wP6Af8D+gH/A/oB/wP6Af8EAAE4AjoB/wP6Af8D+gH/A/oB/wP6Af8BOAI6Af8BvwLAAf8BRgJI + AfUDKwFADQABbAHeAf8BjwHbAfgB/wF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5 + Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8BjwHbAfgB/wEAAWwB3gH/EAABOAI6Af8D+gH/A/oB/wP6 + Af8D+gH/A/oB/wE4AjoB/wP6Af8D+gH/A8AB/wFGAkgB9QMrAUAgAAFFAkYB0QE+Aj8BbwE+Aj8BbwFF + AkYB0RgAATgCOgH/A/oB/wP6Af8D+gH/A/oB/wQAATgCOgH/A/oB/wP6Af8D+gH/A/oB/wE4AjoB/wFG + AkgB9QMrAUARAAFsAd4B/wGPAdsB+AH/AXQBdwF5Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BdAF3 + AXkB/wGPAdsB+AH/AQABbAHeAf8QAAE4AjoB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ATgCOgH/A/oB/wG/ + AsAB/wFGAkgB9QMrAUAgAAMrAUABRQJGAdEIAAFFAkYB0QMrAUAUAAE4AjoB/wP6Af8D+gH/A/oB/wP6 + Af8EAAE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE5AjsB/wMrAUAVAAFsAd4B/wGPAdsB+AH/ + AXQBdwF5Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BdAF3AXkB/wGPAdsB+AH/AQABbAHeAf8QAAE4 + AjoB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ATgCOgH/Ab8CwAH/AUYCSAH1AysBQCQAA0YBkgE+Aj8BbwgA + AT4CPwFvA0YBkhQAATgCOgH/A/oB/wP6Af8D+gH/A/oB/zUAAWwB3gH/AQABbAHeAf8BdAF3AXkB/wF0 + AXcBeQH/AXQBdwF5Af8D+gH/A/oB/wF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/wEAAWwB3gH/AQABbAHe + Af8QAAE4AjoB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ATgCOgH/AUYCSAH1AysBQCgAA0YBkhAAA0YBkhQA + ATgCOgH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BRgJIAfUDKwFAOAABfAF+AYAB/wHMAc0BzgH/AcwBzQHO + Af8BfAF+AYAB/yAAATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/AToCPAH7AysBQCwA + AzcBWRAAAzcBWRQAATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/AysBQDwAAVcCWAGL + AXwBfgGAAf8BfAF+AYAB/wFXAlgBiyAAAXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8BdAF3 + AXkB/wF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/ + TAABRQE3AUQBXAGXATEBjwH2AZsBLgGSAf8BmwEuAZIB/wGbAS4BkgH/AZsBLgGSAf8BmwEuAZIB/wGb + AS4BkgH/AZsBLgGSAf8BmwEuAZIB/wGbAS4BkgH/AZsBLgGSAf8BmwEuAZIB/wGbAS4BkgH/AZsBLgGS + Af8QAAE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/xgAAXQBdwF5 + Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/AXQBdwF5Af9IAAFFATcBRAFc + AZgBMgGPAfcBuwFjAbUB/wHYAZIB1AH/AZsBLgGSAf8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BmwEu + AZIB/wHYAZIB1AH/AdgBkgHUAf8B2AGSAdQB/wGbAS4BkgH/EAABOAI6Af8D+gH/A/oB/wP6Af8D+gH/ + A/oB/wP6Af8BOAI6Af8YAAF0AXcBeQH/A/oB/wF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/ + AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8D+gH/AXQBdwF5Af8IAAEqAYIBugH+AScBgQG6 + Af8BJwGBAboB/wEnAYEBugH/AScBgQG6Af8BJwGBAboB/wEnAYEBugH/AScBgQG6Af8BJwGBAboB/wEn + AYEBugH/AScBgQG6Af8BLwGAAbIB8gESARMBFAEYDAABlwExAY8B9gG7AWMBtQH/AdgBkgHUAf8B2AGS + AdQB/wGbAS4BkgH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/AZsBLgGSAf8B2AGSAdQB/wHYAZIB1AH/ + AdgBkgHUAf8BmwEuAZIB/xAAATgCOgH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ATgCOgH/GAABdAF3 + AXkB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BdAF3AXkB/wgAASoBhAG8 + Af8BVwGpAdUB/wGPAdsB+AH/AY8B2wH4Af8BjwHbAfgB/wGPAdsB+AH/AY8B2wH4Af8BjwHbAfgB/wGP + AdsB+AH/AY8B2wH4Af8BjwHbAfgB/wFVAaMBzgH4AUIBYQF0AZUMAAGbAS4BkgH/AdgBkgHUAf8B2AGS + AdQB/wHYAZIB1AH/AZsBLgGSAf8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BmwEuAZIB/wHYAZIB1AH/ + AdgBkgHUAf8B2AGSAdQB/wGbAS4BkgH/EAABOAI6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BOAI6 + Af8YAAF0AXcBeQH/A/oB/wF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8BdAF3 + AXkB/wF0AXcBeQH/AXQBdwF5Af8D+gH/AXQBdwF5Af8IAAEnAYEBugH/ATEBiAG+Af8BhQHSAfIB/wGP + AdsB+AH/AY8B2wH4Af8BjwHbAfgB/wGPAdsB+AH/AY8B2wH4Af8BjwHbAfgB/wGPAdsB+AH/AY8B2wH4 + Af8BhQHSAfIB/wEuAYEBtQH2ARIBEwEUARgIAAGbAS4BkgH/AdgBkgHUAf8B2AGSAdQB/wHYAZIB1AH/ + AZsBLgGSAf8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BmwEuAZIB/wHYAZIB1AH/AdgBkgHUAf8B2AGS + AdQB/wGbAS4BkgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/A/oB/wP6Af8D+gH/A/oB/wP6 + Af8D+gH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/ATgCOgH/CAABdAF3AXkB/wP6Af8D+gH/A/oB/wP6 + Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BdAF3AXkB/wgAAScBgQG6Af8BgQG1AdYB/wFXAakB1QH/ + AY8B2wH4Af8BjwHbAfgB/wGPAdsB+AH/AY8B2wH4Af8BjwHbAfgB/wGPAdsB+AH/AY8B2wH4Af8BjwHb + AfgB/wGPAdsB+AH/AVUBowHOAfgBQgFhAXQBlQgAAZsBLgGSAf8B2AGSAdQB/wHYAZIB1AH/AdgBkgHU + Af8BmwEuAZIB/wGbAS4BkgH/AZsBLgGSAf8BmwEuAZIB/wGbAS4BkgH/AZsBLgGSAf8BmwEuAZIB/wGb + AS4BkgH/AdgBkgHUAf8B2AGSAdQB/wHYAZIB1AH/AZsBLgGSAf8BOAI6Af8D+gH/A/oB/wP6Af8BOAI6 + Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8D+gH/A/oB/wP6Af8BOAI6 + Af8IAAF0AXcBeQH/A/oB/wF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8BdAF3 + AXkB/wF0AXcBeQH/AXQBdwF5Af8D+gH/AXQBdwF5Af8IAAEnAYEBugH/AeUB7gH0Af8BMQGIAb4B/wGF + AdIB8gH/AY8B2wH4Af8BjwHbAfgB/wGPAdsB+AH/AY8B2wH4Af8BjwHbAfgB/wGPAdsB+AH/AY8B2wH4 + Af8BjwHbAfgB/wGFAdIB8gH/AS4BgQG1AfYBEgETARQBGAQAAZsBLgGSAf8B2AGSAdQB/wHYAZIB1AH/ + AdgBkgHUAf8B2AGSAdQB/wHYAZIB1AH/AdgBkgHUAf8B2AGSAdQB/wHYAZIB1AH/AdgBkgHUAf8B2AGS + AdQB/wHYAZIB1AH/AdgBkgHUAf8B2AGSAdQB/wHYAZIB1AH/AZsBLgGSAf8BOAI6Af8D+gH/A/oB/wP6 + Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wE4AjoB/wgAAXQBdwF5 + Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/AXQBdwF5Af8IAAEnAYEBugH/ + A/oB/wGBAbUB1gH/AVcBqQHVAf8BjwHbAfgB/wGPAdsB+AH/AY8B2wH4Af8BjwHbAfgB/wGPAdsB+AH/ + AY8B2wH4Af8BjwHbAfgB/wGPAdsB+AH/AY8B2wH4Af8BVQGjAc4B+AFCAWEBdAGVBAABmwEuAZIB/wHY + AZIB1AH/AdgBkgHUAf8B2AGSAdQB/wHYAZIB1AH/AdgBkgHUAf8B2AGSAdQB/wHYAZIB1AH/AdgBkgHU + Af8B2AGSAdQB/wHYAZIB1AH/AdgBkgHUAf8B2AGSAdQB/wHYAZIB1AH/AdgBkgHUAf8BmwEuAZIB/wE4 + AjoB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ + ATgCOgH/CAABdAF3AXkB/wP6Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/ + AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/A/oB/wF0AXcBeQH/CAABJwGBAboB/wP6Af8B5QHuAfQB/wE0 + AYkBvwH/AScBgQG6Af8BJwGBAboB/wEnAYEBugH/AScBgQG6Af8BJwGBAboB/wEnAYEBugH/AScBgQG6 + Af8BJwGBAboB/wEnAYEBugH/AScBgQG6Af8BNQF8AakB5AQAAZsBLgGSAf8B2AGSAdQB/wHYAZIB1AH/ + AdgBkgHUAf8B2AGSAdQB/wHYAZIB1AH/AdgBkgHUAf8B2AGSAdQB/wHYAZIB1AH/AdgBkgHUAf8B2AGS + AdQB/wHYAZIB1AH/AdgBkgHUAf8B2AGSAdQB/wHYAZIB1AH/AZsBLgGSAf8BOAI6Af8D+gH/ATgCOgH/ + A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ATgCOgH/CAABdAF3 + AXkB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BdAF3AXkB/wgAAScBgQG6 + Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wEnAYEBugH/DAABmwEu + AZIB/wHYAZIB1AH/AdgBkgHUAf8BmwEuAZIB/wGbAS4BkgH/AZsBLgGSAf8BmwEuAZIB/wGbAS4BkgH/ + AZsBLgGSAf8BmwEuAZIB/wGbAS4BkgH/AZsBLgGSAf8BmwEuAZIB/wHYAZIB1AH/AdgBkgHUAf8BmwEu + AZIB/wE4AjoB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6 + Af8D+gH/ATgCOgH/CAABdAF3AXkB/wP6Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8D+gH/AXQBdwF5 + Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/wFzAXYBeAH7CAABJwGBAboB/wP6Af8D+gH/ + A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/AScBgQG6Af8MAAGbAS4BkgH/AdgBkgHU + Af8B2AGSAdQB/wGbAS4BkgH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BmwEuAZIB/wHY + AZIB1AH/AdgBkgHUAf8BmwEuAZIB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4 + AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wE4AjoB/wgA + AXQBdwF5Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wF0AXcBeQH/A/oB/wP6Af8DxAH/AXkBewF9AfUDLwFA + CAABJwGBAboB/wP6Af8D+gH/A/oB/wP6Af8D+gH/AcQB2wHqAf8BLwGCAbgB+gEnAYEBugH/AScBgQG6 + Af8BJwGBAboB/wEnAYEBugH/ATABgAGyAfIMAAGbAS4BkgH/AdgBkgHUAf8B2AGSAdQB/wGbAS4BkgH/ + A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BmwEuAZIB/wHYAZIB1AH/AdgBkgHUAf8BmwEu + AZIB/xAAATgCOgH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ATgCOgH/GAABdAF3AXkB/wP6Af8BdAF3 + AXkB/wF0AXcBeQH/AXQBdwF5Af8D+gH/AXQBdwF5Af8D+gH/A8MB/wF5AXsBfQH1Ay8BQAwAAScBgQG6 + Af8D+gH/A/oB/wP6Af8D+gH/AcUB3AHqAf8BMwGDAbYB9QEqATABMwFAIAABmwEuAZIB/wHYAZIB1AH/ + AdgBkgHUAf8BmwEuAZIB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/AZsBLgGSAf8B2AGS + AdQB/wHYAZIB1AH/AZsBLgGSAf8QAAE4AjoB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wE4AjoB/xgA + AXQBdwF5Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wF0AXcBeQH/A8MB/wF5AXsBfQH1Ay8BQBAAATABgAGy + AfIBJwGBAboB/wEnAYEBugH/AScBgQG6Af8BJwGBAboB/wEvAYIBtgH3ASsBMAE0AUEkAAGbAS4BkgH/ + AdgBkgHUAf8B2AGSAdQB/wGbAS4BkgH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8BmwEu + AZIB/wHYAZIB1AH/AdgBkgHUAf8BmwEuAZIB/xAAATgCOgH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ + ATgCOgH/GAABdAF3AXkB/wP6Af8D+gH/A/oB/wP6Af8D+gH/AXQBdwF5Af8BeQF7AX0B9QMvAUBUAAGb + AS4BkgH/AdgBkgHUAf8B2AGSAdQB/wGbAS4BkgH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6 + Af8BmwEuAZIB/wHYAZIB1AH/AdgBkgHUAf8BmwEuAZIB/xAAATgCOgH/A/oB/wP6Af8D+gH/A/oB/wP6 + Af8D+gH/ATgCOgH/GAABdAF3AXkB/wF0AXcBeQH/AXQBdwF5Af8BdAF3AXkB/wF0AXcBeQH/AXQBdwF5 + Af8BcwF2AXgB+wMvAUBYAAGbAS4BkgH/AZsBLgGSAf8BmwEuAZIB/wGbAS4BkgH/AZsBLgGSAf8BmwEu + AZIB/wGbAS4BkgH/AZsBLgGSAf8BmwEuAZIB/wGbAS4BkgH/AZsBLgGSAf8BmwEuAZIB/wGbAS4BkgH/ + AZsBLgGSAf8BmwEuAZIB/wGbAS4BkgH/EAABOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6Af8BOAI6 + Af8BOAI6Af8BOAI6Af8QAAFCAU0BPgcAAT4DAAEoAwABQAMAAYADAAEBAQABAQYAAQQWAAP/AQAB/wHj + BgAB/wHBBgABzwGABgABBwcAAQIPAAEgARgGAAEgATgGAAEgATgGAAEgARgOAAECBwABBwcAAc8BgAYA + Af8BwQYAAf8B4wYABP8BwAEDBv8BwAEDAfoBAwGAAQEBgAEBAcABAwGCAQME/wHAAQMBggEDBP8BwAED + AYIBAwT/AcABAwGCAQMBxwGBAfMBgQHAAQMBggEDAY8B/wHxAf8BwAEDAv8BgQH/AYEB/wHAAQMBggED + AY8B/wHxAf8BwAEDAYIBAwHHAYEB4wGBAcABAwGCAQME/wHAAQMBggEDBP8BwAEHAYIBAwT/AcABDwH6 + AQMBgAEBAYABAQHAAR8G/wHAAT8Q/wGPAf8BgAEfAeABBwH4AQEBjAEDBv8BjxH/AYABAQGAAQEBgAEB + CP8Bjwf/AYwBAwb/AY8B/wGAAR8B4AEHAfgBARj/AY8B/wGAAQEBgAEBAYABAQGMAQMG/wGPBf8B4QHH + AeEBxwGAAfwB/gEHAcABgwHAAYMBgAEEAbwBAwGAAQEBgAEBAZgBBAEAAQMEAAGYASQBAAEDARABGAEQ + ARgBgAEEAYABAwQYAYABBAGAAQMEAAGAAQwBgAEBAYABAAGAAgABBAHAAQEBwAEAAcACAAEEAcABAQHg + AQAB4QEAARgBBAHAAQAB/gEAAf8BAAEYAQwBwAEAAf4BAAH/AgABjAHgAQAB/gEAAf8CAAH8AeABPwH+ + AQAB/wEAAYEB/AHwAX8B/gEAAf8BAAT/Af4BAAH/AQABgAF/Bv8BgAEBAYAB/AGAAfwBgAH8AYwBAQGA + AQQBgAEEAYABBAGMARkBmAEEAZgBBAGYAQQBiAEZAZgBJAGYASQBmAEkAYABAQGAAQQBgAEEAYABBAGA + AQEBgAEEAYABBAGAAQQBgAEDAYABDAGAAQwBgAEMAQABAwEAAQQBAAEEAQABBAEAARMBAAEEAQABBAEA + AQQBHAETARgBBAEYAQQBGAEEARwBAwEYAQwBGAEMARgBDAEcAQMBAAGMAQABjAEAAYwBAAF/AQAB/AEA + AfwBAAH8AQABfwGBAfwBgQH8AYEB/AGACf8B/AL/AT8BvwP/AfwBfwH+AT8BHwH/Ac8B8wH+AT8B/AF/ + AY8B/wHHAeMB/wEfAfgB/wHHAf8B4wHHAf8BjwHxAf8B4wH/AfEBjwH/AccB4wH/AfABAwH4AR8B/wHj + AccB/wH4AQEB/AE/Af8B8QGPAf8B+AEAAfwBPwH/AfkBnwH/AfgBAAH4AR8BgAH5AZ8BAQH4AQAB8QKP + Af0BvwHxAfgBAAHjAccBhwH5AZ8B4QH4AQABxwHjAaMB+QGfAcUB+AEAAc8B8wGxAfEBjwGNAfgBAAL/ + AbgBQwHCAR0B/AEBAv8BvAEHAeABPQH+AQMBwQEDAeEBhwH8AQABwAGAAccBAwHhAYcB/AEAAcABgAHE + AQAB4QGHAQQBAAHAAYABxAEAAeEBhwEEAQABwAGAAcQBAAH5AZ8BBAEAAcABgAHEAQAB+QGfAQQBAAHA + AYABxwEDAfwBPwEEAQABwAGAAcEBAwH8AT8BBAEAAcABgAHBAQMB/gF/AQQBAAHAAYABwQH/Af4BfwEE + AQABwAH/AcABAwH8AT8BBAEBAcABAwHAAQMB/AE/AQQBAwHAAQMBwAEHAfkBnwEEAQcBwAEDAcABDwH5 + AZ8BBwH/AcABAwHAAR8B+wHfAQAB/wH8AT8BwAE/AfsB3wEBAf8B/AE/AcABAwL/AYABAAHwAQ8BwAED + Av8CAAHwAQ8BwAEDAQABBwIAAfABDwHAAQMBAAEHAgAB8AEPAcABAwEAAQMEAAHAAQMBAAEDBAABwAED + AQABAQQAAcABAwEAAQEEAAHAAQMBAAEBBAABwAEDAQABBwQAAcABAwEAAQcEAAHAAQMBAAEHAgAB8AEP + AcABBwEAAf8CAAHwAQ8BwAEPAQEB/wIAAfABDwHAAR8C/wIAAfABDwHAAT8C/wIAAfABDws= + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAB9SURBVDhPY/j//z9FGExYWVn8J4QZsAAUA379+kUI + Q7UhACkGMIAwOiDWAAb1vrP1QPwfREP1ggFJLgBqPoNuCDYDwE5Fx161G/lBGtANwWoAVAExuJ42BmAD + pHgBFyY6ELFhkGbKoxEbIMUAEIZqQwAUAwhhvAaQj/8zAAC4zWoVCPylvAAAAABJRU5ErkJggg== + + R0lGODlhEAAQAPcAAP////7///r///D//+j//+P//9z//9P//+T5/8n9/8/8//Ly8uf0++ry+ML6/8b4 @@ -765,6 +1069,24 @@ AATBxogACIKNEQEQBBsjAiAINkYEQBBsjAiAINgYEQBBsDEiAIJgY0QABMHGiAAIgo0RARAEGyMCIAg2 RgRAEGyMCIAg2BgRAEGwMSIAgmBjRAAEwcaIAAiCjREBEAQbIwIgCDZGBEAQbIwIgCDYGBEAQbAxIgCC YGNEAATBxogACIJtAf4/RdSQOL+TBo4AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAMJJREFUOE+1 + kTEKg0AURBfEVi/gHdIGT+YtDKROmbukT5vOQgi5QYrkjfzFDX5WTMjAA3dnRr+74a9q230FPYzwggF2 + ZudFsIarFSOd2esifMiVWecnIXBPyg9ozJLXwWDLpTBLSL8ubtCAytOexX0RiAeXokni82jRpTALuCRh + j97in8JQ+ZwEPXQ7lVVmsemVNUn8HR2sbqe2yiw2vbLWhfnlFPSkkIXd8qoInpLitrJE+Pl1WaJwBL1E + k2wr/6YQ3uvclCjY2OhqAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAMJJREFUOE+1 + kTEKg0AURBfEVi/gHdIGT+YtDKROmbukT5vOQgi5QYrkjfzFDX5WTMjAA3dnRr+74a9q230FPYzwggF2 + ZudFsIarFSOd2esifMiVWecnIXBPyg9ozJLXwWDLpTBLSL8ubtCAytOexX0RiAeXokni82jRpTALuCRh + j97in8JQ+ZwEPXQ7lVVmsemVNUn8HR2sbqe2yiw2vbLWhfnlFPSkkIXd8qoInpLitrJE+Pl1WaJwBL1E + k2wr/6YQ3uvclCjY2OhqAAAAAElFTkSuQmCC diff --git a/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/DockingFeatures/MainForm.Designer.cs b/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/DockingFeatures/MainForm.Designer.cs index 285ca4c..45177da 100644 --- a/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/DockingFeatures/MainForm.Designer.cs +++ b/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/DockingFeatures/MainForm.Designer.cs @@ -100,11 +100,10 @@ private void InitializeComponent() { this.rendererToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.rendererMetroLightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.rendererMetroDarkToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.rendererVisualStudio2022BlueToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.rendererVisualStudio2005ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.rendererVisualStudio2005Beta2ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.rendererVisualStudio2002ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.rendererOffice2003ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.office2003RoundedVisualStudio2005Beta2TabsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.dockGuideStyleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.dockGuideStyleNoneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.dockGuideStyleModernToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -879,11 +878,10 @@ private void InitializeComponent() { this.rendererToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.rendererMetroLightToolStripMenuItem, this.rendererMetroDarkToolStripMenuItem, + this.rendererVisualStudio2022BlueToolStripMenuItem, this.rendererVisualStudio2005ToolStripMenuItem, - this.rendererVisualStudio2005Beta2ToolStripMenuItem, this.rendererVisualStudio2002ToolStripMenuItem, - this.rendererOffice2003ToolStripMenuItem, - this.office2003RoundedVisualStudio2005Beta2TabsToolStripMenuItem}); + this.rendererOffice2003ToolStripMenuItem}); this.rendererToolStripMenuItem.Name = "rendererToolStripMenuItem"; this.rendererToolStripMenuItem.Size = new System.Drawing.Size(252, 22); this.rendererToolStripMenuItem.Text = "Renderer"; @@ -903,41 +901,34 @@ private void InitializeComponent() { this.rendererMetroDarkToolStripMenuItem.Text = "Metro Dark"; this.rendererMetroDarkToolStripMenuItem.Click += new System.EventHandler(this.viewRendererMetroDarkToolStripMenuItem_Click); // + // rendererVisualStudio2022BlueToolStripMenuItem + // + this.rendererVisualStudio2022BlueToolStripMenuItem.Name = "rendererVisualStudio2022BlueToolStripMenuItem"; + this.rendererVisualStudio2022BlueToolStripMenuItem.Size = new System.Drawing.Size(351, 22); + this.rendererVisualStudio2022BlueToolStripMenuItem.Text = "Visual Studio (Blue)"; + this.rendererVisualStudio2022BlueToolStripMenuItem.Click += new System.EventHandler(this.viewRendererVisualStudio2022BlueMenuItem_Click); + // // rendererVisualStudio2005ToolStripMenuItem // this.rendererVisualStudio2005ToolStripMenuItem.Name = "rendererVisualStudio2005ToolStripMenuItem"; this.rendererVisualStudio2005ToolStripMenuItem.Size = new System.Drawing.Size(351, 22); - this.rendererVisualStudio2005ToolStripMenuItem.Text = "Visual Studio 2005"; + this.rendererVisualStudio2005ToolStripMenuItem.Text = "Visual Studio (Classic)"; this.rendererVisualStudio2005ToolStripMenuItem.Click += new System.EventHandler(this.viewRendererVisualStudio2005MenuItem_Click); // - // rendererVisualStudio2005Beta2ToolStripMenuItem - // - this.rendererVisualStudio2005Beta2ToolStripMenuItem.Name = "rendererVisualStudio2005Beta2ToolStripMenuItem"; - this.rendererVisualStudio2005Beta2ToolStripMenuItem.Size = new System.Drawing.Size(351, 22); - this.rendererVisualStudio2005Beta2ToolStripMenuItem.Text = "Visual Studio 2005 Beta 2"; - this.rendererVisualStudio2005Beta2ToolStripMenuItem.Click += new System.EventHandler(this.viewRendererVisualStudio2005Beta2MenuItem_Click); - // // rendererVisualStudio2002ToolStripMenuItem // this.rendererVisualStudio2002ToolStripMenuItem.Name = "rendererVisualStudio2002ToolStripMenuItem"; this.rendererVisualStudio2002ToolStripMenuItem.Size = new System.Drawing.Size(351, 22); - this.rendererVisualStudio2002ToolStripMenuItem.Text = "Visual Studio 2002"; + this.rendererVisualStudio2002ToolStripMenuItem.Text = "Windows Classic"; this.rendererVisualStudio2002ToolStripMenuItem.Click += new System.EventHandler(this.viewRendererVisualStudio2002MenuItem_Click); // // rendererOffice2003ToolStripMenuItem // this.rendererOffice2003ToolStripMenuItem.Name = "rendererOffice2003ToolStripMenuItem"; this.rendererOffice2003ToolStripMenuItem.Size = new System.Drawing.Size(351, 22); - this.rendererOffice2003ToolStripMenuItem.Text = "Office 2003"; + this.rendererOffice2003ToolStripMenuItem.Text = "Office Classic"; this.rendererOffice2003ToolStripMenuItem.Click += new System.EventHandler(this.viewRendererOffice2003MenuItem_Click); // - // office2003RoundedVisualStudio2005Beta2TabsToolStripMenuItem - // - this.office2003RoundedVisualStudio2005Beta2TabsToolStripMenuItem.Name = "office2003RoundedVisualStudio2005Beta2TabsToolStripMenuItem"; - this.office2003RoundedVisualStudio2005Beta2TabsToolStripMenuItem.Size = new System.Drawing.Size(351, 22); - this.office2003RoundedVisualStudio2005Beta2TabsToolStripMenuItem.Text = "Office 2003 (Rounded Visual Studio 2005 Beta 2 Tabs)"; - this.office2003RoundedVisualStudio2005Beta2TabsToolStripMenuItem.Click += new System.EventHandler(this.viewRendererOffice2003VisualStudio2005Beta2MenuItem_Click); - // // dockGuideStyleToolStripMenuItem // this.dockGuideStyleToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -1539,11 +1530,10 @@ private void InitializeComponent() { private System.Windows.Forms.ToolStripMenuItem aboutWinFormsStudioToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem rendererToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem rendererMetroLightToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem rendererVisualStudio2022BlueToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem rendererVisualStudio2005ToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem rendererVisualStudio2005Beta2ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem rendererVisualStudio2002ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem rendererOffice2003ToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem office2003RoundedVisualStudio2005Beta2TabsToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem dockGuideStyleToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem dockHintStyleToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem splitterExtentToolStripMenuItem; diff --git a/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/DockingFeatures/MainForm.cs b/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/DockingFeatures/MainForm.cs index 6ef7bc0..7e6730c 100644 --- a/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/DockingFeatures/MainForm.cs +++ b/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/DockingFeatures/MainForm.cs @@ -899,11 +899,11 @@ private void viewNextWindowNavigationTypeToolWindowMenuItem_Click(object sender, private void viewRendererMenuItem_Popup(object sender, System.EventArgs e) { var dockRenderer = dockManager.DockRenderer; rendererMetroDarkToolStripMenuItem.Checked = ((dockRenderer.GetType() == typeof(MetroDockRenderer)) && (dockRenderer.ColorScheme.BaseColorSchemeType == WindowsColorSchemeType.MetroDark)); - rendererMetroLightToolStripMenuItem.Checked = ((dockRenderer.GetType() == typeof(MetroDockRenderer)) && (dockRenderer.ColorScheme.BaseColorSchemeType == WindowsColorSchemeType.MetroLight)); ; - rendererOffice2003ToolStripMenuItem.Checked = (dockRenderer.GetType() == typeof(Office2003DockRenderer)); - rendererVisualStudio2005ToolStripMenuItem.Checked = (dockRenderer.GetType() == typeof(VisualStudio2005DockRenderer)); - rendererVisualStudio2005Beta2ToolStripMenuItem.Checked = (dockRenderer.GetType() == typeof(VisualStudio2005Beta2DockRenderer)); - rendererVisualStudio2002ToolStripMenuItem.Checked = (dockRenderer.GetType() == typeof(VisualStudio2002DockRenderer)); + rendererMetroLightToolStripMenuItem.Checked = ((dockRenderer.GetType() == typeof(MetroDockRenderer)) && (dockRenderer.ColorScheme.BaseColorSchemeType == WindowsColorSchemeType.MetroLight)); + rendererOffice2003ToolStripMenuItem.Checked = (dockRenderer.GetType() == typeof(OfficeClassicDockRenderer)); + rendererVisualStudio2022BlueToolStripMenuItem.Checked = (dockRenderer.GetType() == typeof(VisualStudioDockRenderer) && (dockRenderer.ColorScheme.BaseColorSchemeType == WindowsColorSchemeType.VisualStudioBlue)); + rendererVisualStudio2005ToolStripMenuItem.Checked = (dockRenderer.GetType() == typeof(VisualStudioClassicDockRenderer)); + rendererVisualStudio2002ToolStripMenuItem.Checked = (dockRenderer.GetType() == typeof(WindowsClassicDockRenderer)); } /// @@ -938,21 +938,9 @@ private void viewRendererMetroLightMenuItem_Click(object sender, System.EventArg /// Sender of the event. /// Event arguments. private void viewRendererOffice2003MenuItem_Click(object sender, System.EventArgs e) { - dockManager.DockRenderer = new Office2003DockRenderer(); - dockManager.TabbedMdiContainerTabStripRenderer = new Office2003DocumentWindowTabStripRenderer(); - dockManager.ToolWindowContainerTabStripRenderer = new Office2003ToolWindowTabStripRenderer(); - OnRendererChanged(); - } - - /// - /// Occurs when the menu item is clicked. - /// - /// Sender of the event. - /// Event arguments. - private void viewRendererOffice2003VisualStudio2005Beta2MenuItem_Click(object sender, System.EventArgs e) { - dockManager.DockRenderer = new Office2003VisualStudio2005Beta2DockRenderer(); - dockManager.TabbedMdiContainerTabStripRenderer = new Office2003DocumentWindowTabStripRenderer(); - dockManager.ToolWindowContainerTabStripRenderer = new Office2003VisualStudio2005Beta2ToolWindowTabStripRenderer(); + dockManager.DockRenderer = new OfficeClassicDockRenderer(); + dockManager.TabbedMdiContainerTabStripRenderer = new OfficeClassicDocumentWindowTabStripRenderer(); + dockManager.ToolWindowContainerTabStripRenderer = new OfficeClassicToolWindowTabStripRenderer(); OnRendererChanged(); } @@ -962,9 +950,9 @@ private void viewRendererOffice2003VisualStudio2005Beta2MenuItem_Click(object se /// Sender of the event. /// Event arguments. private void viewRendererVisualStudio2002MenuItem_Click(object sender, System.EventArgs e) { - dockManager.DockRenderer = new VisualStudio2002DockRenderer(); - dockManager.TabbedMdiContainerTabStripRenderer = new VisualStudio2002DocumentWindowTabStripRenderer(); - dockManager.ToolWindowContainerTabStripRenderer = new VisualStudio2002ToolWindowTabStripRenderer(); + dockManager.DockRenderer = new WindowsClassicDockRenderer(); + dockManager.TabbedMdiContainerTabStripRenderer = new WindowsClassicDocumentWindowTabStripRenderer(); + dockManager.ToolWindowContainerTabStripRenderer = new WindowsClassicToolWindowTabStripRenderer(); OnRendererChanged(); } @@ -973,10 +961,10 @@ private void viewRendererVisualStudio2002MenuItem_Click(object sender, System.Ev /// /// Sender of the event. /// Event arguments. - private void viewRendererVisualStudio2005Beta2MenuItem_Click(object sender, System.EventArgs e) { - dockManager.DockRenderer = new VisualStudio2005Beta2DockRenderer(); - dockManager.TabbedMdiContainerTabStripRenderer = new VisualStudio2005DocumentWindowTabStripRenderer(); - dockManager.ToolWindowContainerTabStripRenderer = new VisualStudio2005Beta2ToolWindowTabStripRenderer(); + private void viewRendererVisualStudio2005MenuItem_Click(object sender, System.EventArgs e) { + dockManager.DockRenderer = new VisualStudioClassicDockRenderer(); + dockManager.TabbedMdiContainerTabStripRenderer = new VisualStudioClassicDocumentWindowTabStripRenderer(); + dockManager.ToolWindowContainerTabStripRenderer = new VisualStudioClassicToolWindowTabStripRenderer(); OnRendererChanged(); } @@ -985,10 +973,11 @@ private void viewRendererVisualStudio2005Beta2MenuItem_Click(object sender, Syst /// /// Sender of the event. /// Event arguments. - private void viewRendererVisualStudio2005MenuItem_Click(object sender, System.EventArgs e) { - dockManager.DockRenderer = new VisualStudio2005DockRenderer(); - dockManager.TabbedMdiContainerTabStripRenderer = new VisualStudio2005DocumentWindowTabStripRenderer(); - dockManager.ToolWindowContainerTabStripRenderer = new VisualStudio2005ToolWindowTabStripRenderer(); + private void viewRendererVisualStudio2022BlueMenuItem_Click(object sender, System.EventArgs e) { + var colorSchemeType = WindowsColorSchemeType.VisualStudioBlue; + dockManager.DockRenderer = new VisualStudioDockRenderer(colorSchemeType); + dockManager.TabbedMdiContainerTabStripRenderer = new VisualStudioDocumentWindowTabStripRenderer(colorSchemeType); + dockManager.ToolWindowContainerTabStripRenderer = new VisualStudioToolWindowTabStripRenderer(colorSchemeType); OnRendererChanged(); } @@ -1575,7 +1564,7 @@ private void ResizePropertyGridWithinPanel(PropertyGrid propertyGrid, Panel pane /// Update the border styles of child controls. /// private void UpdateChildControlBorderStyles() { - bool showBorders = (dockManager.DockRenderer.GetType() == typeof(VisualStudio2002DockRenderer)); + bool showBorders = (dockManager.DockRenderer.GetType() == typeof(WindowsClassicDockRenderer)); foreach (ToolWindow toolWindow in dockManager.ToolWindows) { bool changeToolWindowBorder = false; foreach (Control control in toolWindow.Controls) { diff --git a/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/TabStripFeatures/MainControl.Designer.cs b/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/TabStripFeatures/MainControl.Designer.cs index 281e704..ac64d81 100644 --- a/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/TabStripFeatures/MainControl.Designer.cs +++ b/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/TabStripFeatures/MainControl.Designer.cs @@ -25,7 +25,7 @@ protected override void Dispose(bool disposing) { private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainControl)); - ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2005ToolWindowTabStripRenderer visualStudio2005ToolWindowTabStripRenderer1 = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2005ToolWindowTabStripRenderer(); + ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudioClassicToolWindowTabStripRenderer visualStudio2005ToolWindowTabStripRenderer1 = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudioClassicToolWindowTabStripRenderer(); ActiproSoftware.UI.WinForms.Drawing.MultiColorLinearGradient multiColorLinearGradient1 = new ActiproSoftware.UI.WinForms.Drawing.MultiColorLinearGradient(); ActiproSoftware.UI.WinForms.Drawing.MultiColorLinearGradient multiColorLinearGradient2 = new ActiproSoftware.UI.WinForms.Drawing.MultiColorLinearGradient(); ActiproSoftware.UI.WinForms.Controls.Navigation.MetroNavigationBarRenderer metroNavigationBarRenderer1 = new ActiproSoftware.UI.WinForms.Controls.Navigation.MetroNavigationBarRenderer(ActiproSoftware.UI.WinForms.Drawing.WindowsColorSchemeType.MetroLight); @@ -559,14 +559,14 @@ private void InitializeComponent() { "Metro Light Tool Window", "Metro Dark Document Window", "Metro Dark Tool Window", - "Office 2003 Document Window", - "Office 2003 Tool Window", - "Office 2003 (based on Visual Studio 2005 Beta 2 style) Tool Window", - "Visual Studio 2005 Document Window", - "Visual Studio 2005 Tool Window", - "Visual Studio 2005 Beta 2 Tool Window", - "Visual Studio 2002 Document Window", - "Visual Studio 2002 Tool Window", + "Visual Studio Blue Document Window", + "Visual Studio Blue Tool Window", + "Visual Studio Classic Document Window", + "Visual Studio Classic Tool Window", + "Office Classic Document Window", + "Office Classic Tool Window", + "Windows Classic Document Window", + "Windows Classic Tool Window", "Custom"}); this.rendererDropDownList.Location = new System.Drawing.Point(70, 13); this.rendererDropDownList.Margin = new System.Windows.Forms.Padding(3, 3, 3, 10); diff --git a/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/TabStripFeatures/MainControl.cs b/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/TabStripFeatures/MainControl.cs index ead01b2..3d63168 100644 --- a/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/TabStripFeatures/MainControl.cs +++ b/Samples/SampleBrowser/ProductSamples/DockingSamples/Demo/TabStripFeatures/MainControl.cs @@ -70,29 +70,29 @@ private void OnRendererDropDownListSelectedIndexChanged(object sender, EventArgs case "Metro Dark Tool Window": tabStrip.Renderer = new MetroToolWindowTabStripRenderer(WindowsColorSchemeType.MetroDark); break; - case "Visual Studio 2005 Document Window": - tabStrip.Renderer = new VisualStudio2005DocumentWindowTabStripRenderer(); + case "Visual Studio Blue Document Window": + tabStrip.Renderer = new VisualStudioDocumentWindowTabStripRenderer(WindowsColorSchemeType.VisualStudioBlue); break; - case "Visual Studio 2005 Tool Window": - tabStrip.Renderer = new VisualStudio2005ToolWindowTabStripRenderer(); + case "Visual Studio Blue Tool Window": + tabStrip.Renderer = new VisualStudioToolWindowTabStripRenderer(WindowsColorSchemeType.VisualStudioBlue); break; - case "Visual Studio 2005 Beta 2 Tool Window": - tabStrip.Renderer = new VisualStudio2005Beta2ToolWindowTabStripRenderer(); + case "Visual Studio Classic Document Window": + tabStrip.Renderer = new VisualStudioClassicDocumentWindowTabStripRenderer(); break; - case "Visual Studio 2002 Document Window": - tabStrip.Renderer = new VisualStudio2002DocumentWindowTabStripRenderer(); + case "Visual Studio Classic Tool Window": + tabStrip.Renderer = new VisualStudioClassicToolWindowTabStripRenderer(); break; - case "Visual Studio 2002 Tool Window": - tabStrip.Renderer = new VisualStudio2002ToolWindowTabStripRenderer(); + case "Windows Classic Document Window": + tabStrip.Renderer = new WindowsClassicDocumentWindowTabStripRenderer(); break; - case "Office 2003 Document Window": - tabStrip.Renderer = new Office2003DocumentWindowTabStripRenderer(); + case "Windows Classic Tool Window": + tabStrip.Renderer = new WindowsClassicToolWindowTabStripRenderer(); break; - case "Office 2003 Tool Window": - tabStrip.Renderer = new Office2003ToolWindowTabStripRenderer(); + case "Office Classic Document Window": + tabStrip.Renderer = new OfficeClassicDocumentWindowTabStripRenderer(); break; - case "Office 2003 (based on Visual Studio 2005 Beta 2 style) Tool Window": - tabStrip.Renderer = new Office2003VisualStudio2005Beta2ToolWindowTabStripRenderer(); + case "Office Classic Tool Window": + tabStrip.Renderer = new OfficeClassicToolWindowTabStripRenderer(); break; default: tabStrip.Renderer = customTabStripRenderer; diff --git a/Samples/SampleBrowser/ProductSamples/NavigationSamples/Demo/Features/MainControl.Designer.cs b/Samples/SampleBrowser/ProductSamples/NavigationSamples/Demo/Features/MainControl.Designer.cs index 3f50d33..9b4589d 100644 --- a/Samples/SampleBrowser/ProductSamples/NavigationSamples/Demo/Features/MainControl.Designer.cs +++ b/Samples/SampleBrowser/ProductSamples/NavigationSamples/Demo/Features/MainControl.Designer.cs @@ -26,7 +26,7 @@ protected override void Dispose(bool disposing) { /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - ActiproSoftware.UI.WinForms.Controls.Navigation.Office2003NavigationBarRenderer office2003NavigationBarRenderer1 = new ActiproSoftware.UI.WinForms.Controls.Navigation.Office2003NavigationBarRenderer(ActiproSoftware.UI.WinForms.Drawing.WindowsColorSchemeType.WindowsXPOliveGreen); + ActiproSoftware.UI.WinForms.Controls.Navigation.OfficeLunaNavigationBarRenderer office2003NavigationBarRenderer1 = new ActiproSoftware.UI.WinForms.Controls.Navigation.OfficeLunaNavigationBarRenderer(ActiproSoftware.UI.WinForms.Drawing.WindowsColorSchemeType.LunaOliveGreen); System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("Actipro WinForms Studio", 1, 1); System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("Deleted Items", 2, 2); System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("Drafts", 3, 3); diff --git a/Samples/SampleBrowser/ProductSamples/NavigationSamples/Demo/Features/MainControl.cs b/Samples/SampleBrowser/ProductSamples/NavigationSamples/Demo/Features/MainControl.cs index 213886c..6cc73e8 100644 --- a/Samples/SampleBrowser/ProductSamples/NavigationSamples/Demo/Features/MainControl.cs +++ b/Samples/SampleBrowser/ProductSamples/NavigationSamples/Demo/Features/MainControl.cs @@ -1,11 +1,12 @@ +using ActiproSoftware.SampleBrowser.Controls; +using ActiproSoftware.UI.WinForms.Controls.Navigation; +using ActiproSoftware.UI.WinForms.Drawing; using System; -using System.Drawing; -using System.Collections; using System.ComponentModel; +using System.Drawing; +using System.Linq; +using System.Reflection; using System.Windows.Forms; -using ActiproSoftware.UI.WinForms.Drawing; -using ActiproSoftware.UI.WinForms.Controls.Navigation; -using ActiproSoftware.SampleBrowser.Controls; namespace ActiproSoftware.ProductSamples.NavigationSamples.Demo.Features { @@ -29,11 +30,26 @@ public MainControl() { customNavigationBarRenderer = navigationBar.Renderer; // Populate the drop-down list - string[] names = Enum.GetNames(typeof(WindowsColorSchemeType)); - foreach (string name in names) + foreach (FieldInfo fieldInfo in typeof(WindowsColorSchemeType).GetFields() + .Where(x => x.IsLiteral) + .OrderBy(x => x.Name)) { + + // Ignore items that are not browsable + if ((fieldInfo.GetCustomAttribute()?.State ?? EditorBrowsableState.Always) == EditorBrowsableState.Never) + continue; + + var name = fieldInfo.Name; + + // Ignore special "WindowsDefault" that just resolves as one of the other types + if (((WindowsColorSchemeType)fieldInfo.GetValue(fieldInfo.Name)) == WindowsColorSchemeType.WindowsDefault) + continue; + rendererDropDownList.Items.Add(name); + } rendererDropDownList.Items.Add("Custom"); - rendererDropDownList.SelectedIndex = rendererDropDownList.Items.IndexOf(WindowsColorSchemeType.MetroLight.ToString()); + + // Pre-select the type that is the current windows default + rendererDropDownList.SelectedIndex = rendererDropDownList.Items.IndexOf(WindowsColorScheme.DefaultColorSchemeType.ToString()); // Expand all nodes mailTreeView.ExpandAll(); @@ -128,17 +144,32 @@ private void navigationBar_SelectionChanging(object sender, ActiproSoftware.UI.W /// Sender of the event. /// Event arguments. private void rendererDropDownList_SelectedIndexChanged(object sender, System.EventArgs e) { + // Determine the selected color scheme type + var selectedColorSchemeTypeName = rendererDropDownList.SelectedItem.ToString(); + WindowsColorSchemeType? colorSchemeType = (selectedColorSchemeTypeName == "Custom") + ? null + : (WindowsColorSchemeType)Enum.Parse(typeof(WindowsColorSchemeType), selectedColorSchemeTypeName, ignoreCase: true); + // Update the navigationbar renderer - if (rendererDropDownList.SelectedItem.ToString() == "Custom") + if (!colorSchemeType.HasValue) { navigationBar.Renderer = customNavigationBarRenderer; + } else { - WindowsColorSchemeType colorSchemeType = (WindowsColorSchemeType)Enum.Parse(typeof(WindowsColorSchemeType), rendererDropDownList.SelectedItem.ToString(), true); - if (rendererDropDownList.SelectedItem.ToString().StartsWith("Metro")) - navigationBar.Renderer = new MetroNavigationBarRenderer(colorSchemeType); - else if (rendererDropDownList.SelectedItem.ToString().StartsWith("Office2007")) - navigationBar.Renderer = new Office2007NavigationBarRenderer(colorSchemeType); - else - navigationBar.Renderer = new Office2003NavigationBarRenderer(colorSchemeType); + switch (colorSchemeType.Value) { + case WindowsColorSchemeType.MetroDark: + case WindowsColorSchemeType.MetroLight: + case WindowsColorSchemeType.VisualStudioBlue: + navigationBar.Renderer = new MetroNavigationBarRenderer(colorSchemeType.Value); + break; + case WindowsColorSchemeType.OfficeClassicBlack: + case WindowsColorSchemeType.OfficeClassicBlue: + case WindowsColorSchemeType.OfficeClassicSilver: + navigationBar.Renderer = new OfficeClassicNavigationBarRenderer(colorSchemeType.Value); + break; + default: + navigationBar.Renderer = new OfficeLunaNavigationBarRenderer(colorSchemeType.Value); + break; + } } rendererPropertyGrid.SelectedObject = navigationBar.Renderer; @@ -150,18 +181,35 @@ private void rendererDropDownList_SelectedIndexChanged(object sender, System.Eve // Update form background and tabstrip renderer var colorScheme = navigationBar.Renderer.ColorScheme; if (navigationBar.Renderer is MetroNavigationBarRenderer) { - tabStrip.Renderer = new ActiproSoftware.UI.WinForms.Controls.Docking.MetroToolWindowTabStripRenderer(colorScheme) { AreImagesVisible = true }; + if (colorSchemeType.HasValue && colorSchemeType.Value == WindowsColorSchemeType.VisualStudioBlue) + tabStrip.Renderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudioToolWindowTabStripRenderer(colorScheme) { AreImagesVisible = true }; + else + tabStrip.Renderer = new ActiproSoftware.UI.WinForms.Controls.Docking.MetroToolWindowTabStripRenderer(colorScheme) { AreImagesVisible = true }; } - else if (navigationBar.Renderer is Office2003NavigationBarRenderer) { - tabStrip.Renderer = new ActiproSoftware.UI.WinForms.Controls.Docking.Office2003ToolWindowTabStripRenderer(colorScheme) { AreImagesVisible = true }; + else if (navigationBar.Renderer is OfficeLunaNavigationBarRenderer) { + tabStrip.Renderer = new ActiproSoftware.UI.WinForms.Controls.Docking.OfficeClassicToolWindowTabStripRenderer(colorScheme) { AreImagesVisible = true }; } else { - tabStrip.Renderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudio2005ToolWindowTabStripRenderer() { AreImagesVisible = true }; + tabStrip.Renderer = new ActiproSoftware.UI.WinForms.Controls.Docking.VisualStudioClassicToolWindowTabStripRenderer() { AreImagesVisible = true }; } - this.BackColor = colorScheme.FormBackGradientBegin; // Customize key controls based on color scheme to render better in light/dark themes ThemeHelper.ApplyComponentColors(this, colorScheme, recurseChildren: true); + + // Force the back color of this sample to match the theme instead of generic "control" control + this.BackColor = (colorScheme.ColorSchemeType == WindowsColorSchemeType.VisualStudioBlue) + ? colorScheme.GetKnownColor(KnownColor.AppWorkspace) + : colorScheme.FormBackGradientBegin; + + // Theme the splitters to match the background (transparent not supported) + vSplitter.BackColor = this.BackColor; + vSplitter2.BackColor = this.BackColor; + hSplitter.BackColor = this.BackColor; + + // For this sample the panel will have a dark background and cannot have default control text foreground on these controls + rendererLabel.ForeColor = preventSelectionChangesCheckBox.ForeColor = (colorSchemeType == WindowsColorSchemeType.OfficeClassicBlack) + ? Color.White + : colorScheme.GetKnownColor(KnownColor.ControlText); } /// diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Common/SyntaxEditorHelper.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Common/SyntaxEditorHelper.cs index 5278082..88bfc2f 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Common/SyntaxEditorHelper.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Common/SyntaxEditorHelper.cs @@ -1,23 +1,12 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.CompareFiles; -using ActiproSoftware.SampleBrowser.Controls; -using ActiproSoftware.Text; +using ActiproSoftware.Text; using ActiproSoftware.Text.Implementation; -using ActiproSoftware.Text.Languages.DotNet.Implementation; using ActiproSoftware.Text.Languages.DotNet.Reflection; -using ActiproSoftware.Text.Languages.JavaScript.Implementation; -using ActiproSoftware.Text.Languages.Python.Implementation; -using ActiproSoftware.Text.Languages.Xml.Implementation; -using ActiproSoftware.UI.WinForms.Controls; -using ActiproSoftware.UI.WinForms.Controls.SyntaxEditor; -using ActiproSoftware.UI.WinForms.Controls.SyntaxEditor.Highlighting; using ActiproSoftware.UI.WinForms.Controls.SyntaxEditor.IntelliPrompt; using ActiproSoftware.UI.WinForms.Controls.SyntaxEditor.IntelliPrompt.Implementation; -using ActiproSoftware.UI.WinForms.Drawing; +using System; +using System.Collections.Generic; +using System.IO; +using System.Reflection; namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.Common { @@ -31,8 +20,6 @@ public static class SyntaxEditorHelper { public const string ThemesPath = "ActiproSoftware.ProductSamples.SyntaxEditorSamples.Languages.Themes."; public const string XmlSchemasPath = "ActiproSoftware.ProductSamples.SyntaxEditorSamples.Languages.XmlSchemas."; - private static bool isDarkThemeActive; - /// /// Adds common "System" assembly references to a .NET to enable IntelliPrompt /// for commonly used types. @@ -167,55 +154,5 @@ public static ICodeSnippetFolder LoadSampleVBCodeSnippetsFromResources() { return rootFolder; } - /// - /// Updates the image set for a theme change. - /// - /// The color scheme used to determine light or dark intent. - public static void UpdateImageSetForThemeChange(IWindowsColorScheme colorScheme) { - CommonImageSourceProvider.DefaultImageSet = colorScheme.IsDarkColorScheme() - ? CommonImageSet.MetroDark - : CommonImageSet.MetroLight; - } - - /// - /// Updates the highlighting style registry for a theme change. - /// - /// The color scheme used to determine light or dark intent. - public static void UpdateHighlightingStyleRegistryForThemeChange(IWindowsColorScheme colorScheme) { - var oldIsDarkThemeActive = isDarkThemeActive; - isDarkThemeActive = colorScheme.IsDarkColorScheme(); - - if (isDarkThemeActive != oldIsDarkThemeActive) { - // Unregister all classification types - var classificationTypes = AmbientHighlightingStyleRegistry.Instance.ClassificationTypes.ToArray(); - foreach (var classificationType in classificationTypes) - AmbientHighlightingStyleRegistry.Instance.Unregister(classificationType); - - // Re-register common classification types for general display (plain text, margins, etc.) and add-ons (which also include common ones like keywords, strings, etc.) - new DisplayItemClassificationTypeProvider().RegisterAll(); - new DotNetClassificationTypeProvider().RegisterAll(); - new JavaScriptClassificationTypeProvider().RegisterAll(); - new PythonClassificationTypeProvider().RegisterAll(); - new XmlClassificationTypeProvider().RegisterAll(); - new CompareFilesClassificationTypeProvider().RegisterAll(); - - // Load HTML, Markdown, XAML, and Formula languages just so their custom classification types get re-registered - LoadLanguageDefinitionFromResourceStream("Html.langdef"); - LoadLanguageDefinitionFromResourceStream("Markdown.langdef"); - LoadLanguageDefinitionFromResourceStream("Xaml.langdef"); - LoadLanguageDefinitionFromResourceStream("CustomFormula.langdef"); - // NOTE: Any other languages that are active would need to reload to ensure their custom classification types get re-registered as well - - if (isDarkThemeActive) { - // Load a dark theme, which has some example pre-defined styles for some of the more common syntax languages - string path = ThemesPath + "Dark.vssettings"; - using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(path)) { - if (stream != null) - AmbientHighlightingStyleRegistry.Instance.ImportHighlightingStyles(stream); - } - } - } - } - } } diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Demo/PythonAddonPythonEditor/MainControl.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Demo/PythonAddonPythonEditor/MainControl.cs index 9715a84..df102e2 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Demo/PythonAddonPythonEditor/MainControl.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Demo/PythonAddonPythonEditor/MainControl.cs @@ -48,6 +48,7 @@ public MainControl() { // Load the Web Languages Add-on Python language var language = new PythonSyntaxLanguage(); codeEditor.Document.Language = language; + codeEditor.Document.FileName = "mymodule.py"; } ///////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Demo/SdiCodeEditor/MainControl.Designer.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Demo/SdiCodeEditor/MainControl.Designer.cs index b0a74b5..91b4a87 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Demo/SdiCodeEditor/MainControl.Designer.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Demo/SdiCodeEditor/MainControl.Designer.cs @@ -173,6 +173,7 @@ private void InitializeComponent() { this.indentationGuidesVisibleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.lineModificationMarksVisibleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.currentLineHighlightingEnabledToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.currentLineNumberHighlightingEnabledToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.delimiterHighlightingEnabledToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.autoCorrectEnabledToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem19 = new System.Windows.Forms.ToolStripSeparator(); @@ -1338,6 +1339,7 @@ private void InitializeComponent() { this.indentationGuidesVisibleToolStripMenuItem, this.lineModificationMarksVisibleToolStripMenuItem, this.currentLineHighlightingEnabledToolStripMenuItem, + this.currentLineNumberHighlightingEnabledToolStripMenuItem, this.delimiterHighlightingEnabledToolStripMenuItem, this.autoCorrectEnabledToolStripMenuItem, this.toolStripMenuItem19, @@ -1469,13 +1471,23 @@ private void InitializeComponent() { // // currentLineHighlightingEnabledToolStripMenuItem // + this.currentLineHighlightingEnabledToolStripMenuItem.Checked = true; + this.currentLineHighlightingEnabledToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; this.currentLineHighlightingEnabledToolStripMenuItem.Name = "currentLineHighlightingEnabledToolStripMenuItem"; this.currentLineHighlightingEnabledToolStripMenuItem.Size = new System.Drawing.Size(254, 22); this.currentLineHighlightingEnabledToolStripMenuItem.Text = "Current Line Highlighting Enabled"; - // - // delimiterHighlightingEnabledToolStripMenuItem - // - this.delimiterHighlightingEnabledToolStripMenuItem.Checked = true; + // + // currentLineNumberHighlightingEnabledToolStripMenuItem + // + this.currentLineNumberHighlightingEnabledToolStripMenuItem.Checked = true; + this.currentLineNumberHighlightingEnabledToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; + this.currentLineNumberHighlightingEnabledToolStripMenuItem.Name = "currentLineNumberHighlightingEnabledToolStripMenuItem"; + this.currentLineNumberHighlightingEnabledToolStripMenuItem.Size = new System.Drawing.Size(254, 22); + this.currentLineNumberHighlightingEnabledToolStripMenuItem.Text = "Current Line Number Highlighting Enabled"; + // + // delimiterHighlightingEnabledToolStripMenuItem + // + this.delimiterHighlightingEnabledToolStripMenuItem.Checked = true; this.delimiterHighlightingEnabledToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; this.delimiterHighlightingEnabledToolStripMenuItem.Name = "delimiterHighlightingEnabledToolStripMenuItem"; this.delimiterHighlightingEnabledToolStripMenuItem.Size = new System.Drawing.Size(254, 22); @@ -2100,6 +2112,7 @@ private void InitializeComponent() { private System.Windows.Forms.ToolStripMenuItem indentationGuidesVisibleToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem lineModificationMarksVisibleToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem currentLineHighlightingEnabledToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem currentLineNumberHighlightingEnabledToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem delimiterHighlightingEnabledToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem autoCorrectEnabledToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem collapseToDefinitionsToolStripMenuItem; diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Demo/SdiCodeEditor/MainControl.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Demo/SdiCodeEditor/MainControl.cs index 677d7e7..7a251b3 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Demo/SdiCodeEditor/MainControl.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Demo/SdiCodeEditor/MainControl.cs @@ -216,6 +216,7 @@ private void LoadLanguage(string languageKey) { case "Python (in Python Language Add-on)": // Python Language Add-on Python language this.LoadLanguage(new ActiproSoftware.Text.Languages.Python.Implementation.PythonSyntaxLanguage()); + editor.Document.FileName = "mymodule.py"; break; case "RTF": this.LoadLanguageDefinitionFromFile("Rtf.langdef"); @@ -595,6 +596,10 @@ private void OnMainToolStripItemClicked(object sender, ToolStripItemClickedEvent currentLineHighlightingEnabledToolStripMenuItem.Checked = !currentLineHighlightingEnabledToolStripMenuItem.Checked; editor.IsCurrentLineHighlightingEnabled = currentLineHighlightingEnabledToolStripMenuItem.Checked; break; + case nameof(currentLineNumberHighlightingEnabledToolStripMenuItem): + currentLineNumberHighlightingEnabledToolStripMenuItem.Checked = !currentLineNumberHighlightingEnabledToolStripMenuItem.Checked; + editor.IsCurrentLineNumberHighlightingEnabled = currentLineNumberHighlightingEnabledToolStripMenuItem.Checked; + break; case nameof(delimiterHighlightingEnabledToolStripMenuItem): delimiterHighlightingEnabledToolStripMenuItem.Checked = !delimiterHighlightingEnabledToolStripMenuItem.Checked; editor.IsDelimiterHighlightingEnabled = delimiterHighlightingEnabledToolStripMenuItem.Checked; @@ -942,21 +947,21 @@ private void SetColorScheme(WindowsColorSchemeType colorSchemeType) { // Configure the editor with the per-instance renderer editor.Renderer = renderer; - // Ensure symbol selector is refreshed - symbolSelector.Invalidate(); - // Update colors on this control to be consistent with the color scheme + // + // The color properties for SyntaxEditor.BackColor and SyntaxEditor.ForeColor + // are only used when the corresponding color properties of the "Plain Text" highlighting + // style are undefined (which is the default). var colorScheme = renderer.ColorScheme; editorPanel.BackColor = colorScheme.GetKnownColor(KnownColor.Control); editor.BackColor = colorScheme.GetKnownColor(KnownColor.Window); editor.ForeColor = colorScheme.GetKnownColor(KnownColor.WindowText); // Configure global image set and highlighting style registry for light/dark theme - SyntaxEditorHelper.UpdateImageSetForThemeChange(colorScheme); - SyntaxEditorHelper.UpdateHighlightingStyleRegistryForThemeChange(colorScheme); + SyntaxEditorThemeManager.ColorScheme = colorScheme; // Update the check status of menu items - bool isDarkTheme = colorScheme.IsDarkColorScheme(); + bool isDarkTheme = SyntaxEditorThemeManager.IsDarkThemeActive; lightThemeToolStripMenuItem.Checked = !isDarkTheme; darkThemeToolStripMenuItem.Checked = isDarkTheme; } @@ -981,8 +986,7 @@ public void NotifyUnloaded() { vbProjectAssembly.AssemblyReferences.Clear(); // Restore SyntaxEditor image set and highlighting style registry to match the global configuration - SyntaxEditorHelper.UpdateImageSetForThemeChange(UIRendererManager.ColorScheme); - SyntaxEditorHelper.UpdateHighlightingStyleRegistryForThemeChange(UIRendererManager.ColorScheme); + SyntaxEditorThemeManager.ColorScheme = null; } /// diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Assembly.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Assembly.langdef index 79c9fb7..a3227d2 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Assembly.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Assembly.langdef @@ -6,36 +6,37 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'Assembly' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - + - + + - + + - + - - - - - - - + + + + + + + - - - + + + ? ]]> - - - - + + + + - + - + - + - - + + - + - + - + - - + + - + - + - + - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/BatchFile.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/BatchFile.langdef index b926c1e..ad5a4fd 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/BatchFile.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/BatchFile.langdef @@ -6,37 +6,37 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'Batch File' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + + - + + - - - + - + - - - + + + - + - + - - - - + + + + \ ]]> - + - - + + - + - + - + - - + + - + - + - + - + - + - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/C.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/C.langdef index 0b0ab59..46a07c9 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/C.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/C.langdef @@ -6,26 +6,27 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'C' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + - - - - + + + + + - + @@ -35,205 +36,205 @@ Actipro Syntax Language Definition (.langdef) - - - - - - - - - + + + + + + + + + - - + + - + - + - - + + + - * / % && || &= |= ^= & | ~ ^ <<= >>= << >> <= < >= > ? ]]> - + - - + + - + - + - + - - - - - + + + + + - + - + - + - - - - - + + + + + - + - + - + - - + + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -242,28 +243,28 @@ Actipro Syntax Language Definition (.langdef) - + - + - + - + - + - + @@ -274,35 +275,35 @@ Actipro Syntax Language Definition (.langdef) - + - + - + - + - + - + - + - + - + - - + + - - - - - - - + + + + + + + + @@ -47,7 +48,7 @@ Actipro Syntax Language Definition (.langdef) - + @@ -219,7 +220,7 @@ Actipro Syntax Language Definition (.langdef) - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Cpp.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Cpp.langdef index 46c426f..d3091f2 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Cpp.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Cpp.langdef @@ -6,26 +6,27 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'C++' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + - - - - + + + + + - + @@ -35,31 +36,31 @@ Actipro Syntax Language Definition (.langdef) - - - - - - - - - + + + + + + + + + - - + + - + - + - - + + * -> + - * / % && || &= |= ^= & | ~ ^ <<= >>= << >> <= < >= > ? :: .* ]]> - + - - + + - + - + - + - - - - - + + + + + - + - + - + - - - - - + + + + + - + - + - + - - + + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -245,28 +246,28 @@ Actipro Syntax Language Definition (.langdef) - + - + - + - + - + - + @@ -277,35 +278,35 @@ Actipro Syntax Language Definition (.langdef) - + - + - + - + - + - + - + - + - + - - - - + + + + @@ -25,25 +25,25 @@ Actipro Syntax Language Definition (.langdef) - + - - - + + + - + - + - + @@ -52,11 +52,11 @@ Actipro Syntax Language Definition (.langdef) - + - + @@ -65,19 +65,19 @@ Actipro Syntax Language Definition (.langdef) - - - + + + - + - + - + @@ -85,44 +85,44 @@ Actipro Syntax Language Definition (.langdef) - - - - + + + + - + - + - + - - - - + + + + - + - + - + - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/CustomFormula.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/CustomFormula.langdef index 9ecda6c..d15640d 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/CustomFormula.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/CustomFormula.langdef @@ -6,18 +6,19 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'Formula' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + + + - + - - + @@ -51,15 +52,11 @@ Actipro Syntax Language Definition (.langdef) = != + - * / ]]> - - - + - + @@ -86,11 +83,7 @@ Actipro Syntax Language Definition (.langdef) = != + - * / ]]> - - - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Ebnf.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Ebnf.langdef index b879774..10311d3 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Ebnf.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Ebnf.langdef @@ -6,23 +6,23 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'EBNF' language created by Actipro Software LLC. - Copyright (c) 2009-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2009-2024 Actipro Software LLC. All rights reserved. --> - + - - - - - - + + + + + + - - + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Html.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Html.langdef index ef0930e..11a46b7 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Html.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Html.langdef @@ -6,21 +6,21 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'HTML' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - - - - - - + + + + + + + + + @@ -31,7 +31,7 @@ Actipro Syntax Language Definition (.langdef) - + @@ -44,19 +44,19 @@ Actipro Syntax Language Definition (.langdef) - - - + + + - + - + - + @@ -65,11 +65,11 @@ Actipro Syntax Language Definition (.langdef) - + - + @@ -77,59 +77,59 @@ Actipro Syntax Language Definition (.langdef) - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -142,14 +142,14 @@ Actipro Syntax Language Definition (.langdef) - + - + - + @@ -162,14 +162,14 @@ Actipro Syntax Language Definition (.langdef) - + - + - + @@ -179,7 +179,7 @@ Actipro Syntax Language Definition (.langdef) - + @@ -192,14 +192,14 @@ Actipro Syntax Language Definition (.langdef) - + - + - + @@ -209,7 +209,7 @@ Actipro Syntax Language Definition (.langdef) - + @@ -222,14 +222,14 @@ Actipro Syntax Language Definition (.langdef) - + - + - + @@ -239,7 +239,7 @@ Actipro Syntax Language Definition (.langdef) - + @@ -252,42 +252,42 @@ Actipro Syntax Language Definition (.langdef) - + - + - + - + - + - + - + - + - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/IniFile.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/IniFile.langdef index 3b64b2f..276becc 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/IniFile.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/IniFile.langdef @@ -6,82 +6,82 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'INI File' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - + - - + + + - + - - - - - - - + + + + + + + - + - + - + - + - + - + - + - + - - + + - + - + - + - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Java.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Java.langdef index c423abb..2326849 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Java.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Java.langdef @@ -6,26 +6,27 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'Java' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - + - + + + - + + - + @@ -33,31 +34,31 @@ Actipro Syntax Language Definition (.langdef) - - - - - - - - - + + + + + + + + + - - + + - + - + - - + + = >>= >>>= >>> >> > ? ^= ^ |= || | ~ ]]> - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - - + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/JavaScript.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/JavaScript.langdef index 54b4246..41ba7f9 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/JavaScript.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/JavaScript.langdef @@ -6,24 +6,25 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'JavaScript' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + - + + - + @@ -31,117 +32,117 @@ Actipro Syntax Language Definition (.langdef) - - - - - - - - - + + + + + + + + + - - + + - + - - + + = >>= >>>= >>> >> > ? ^= ^ |= || | ~ ]]> - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - + - + - + - + - - + + - + - + - + - - + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Lua.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Lua.langdef index 231eac5..43c865d 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Lua.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Lua.langdef @@ -6,26 +6,27 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'Lua' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - - - - + + + + + + + + - + @@ -33,21 +34,21 @@ Actipro Syntax Language Definition (.langdef) - - - - - - - - - + + + + + + + + + - + - - - + + + = > ]]> - + - + - + - + - + - + - - + + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Markdown.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Markdown.langdef index 03767c6..63f6ce1 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Markdown.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Markdown.langdef @@ -6,24 +6,25 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'Markdown' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - - - - - - - - + + + + + + + + + + + + @@ -80,23 +81,24 @@ Actipro Syntax Language Definition (.langdef) + - + - + - + - + - + @@ -107,17 +109,17 @@ Actipro Syntax Language Definition (.langdef) - + - + - + @@ -125,69 +127,69 @@ Actipro Syntax Language Definition (.langdef) - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Msil.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Msil.langdef index 1953acb..1bf5295 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Msil.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Msil.langdef @@ -6,39 +6,40 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'MSIL' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - + - + + - + + - + - - - - - - - - - + + + + + + + + + - + - + - - - + + + ^ | ]]> - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - + - + - + - + - - + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Pascal.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Pascal.langdef index e57bd76..fab9ffe 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Pascal.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Pascal.langdef @@ -6,18 +6,19 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'Pascal' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + - + + @@ -27,79 +28,79 @@ Actipro Syntax Language Definition (.langdef) - + - - - - - + + + + + - + - - + + - - + + < = >= > ]]> - + - + - + - + - + - - + + - + - + - + - + - + - - + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Perl.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Perl.langdef index 02517d9..b9b8be1 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Perl.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Perl.langdef @@ -6,39 +6,39 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'Perl' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - - + + - + - + - - - - - - - - - + + + + + + + + + - + - - + + - ... .. .= . /= / : << <=> <= < == => =~ = >= >> > ? x= \ ^= ^ |= || | ~ ]]> - + - + - - + + - + - + - + - - - + + + - + - + - + - - - + + + - + - + - + - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Php.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Php.langdef index d8908d0..cbd98a8 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Php.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Php.langdef @@ -6,21 +6,21 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'PHP' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - + + + + - + @@ -326,7 +326,7 @@ Actipro Syntax Language Definition (.langdef) players = $players; + $this->players = $players; $this->greetPlayers(); # Greet the players. } } diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/PowerShell.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/PowerShell.langdef index 74e49a9..a154f8c 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/PowerShell.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/PowerShell.langdef @@ -6,58 +6,59 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'PowerShell' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - - - + + + + + + + - + - - - - - - - - - + + + + + + + + + - + - + - - - - + + + + - + > > ? @ | ]]> - + - - + + - + - + - + - - - + + + - + - + - + - - + + - + - + - + - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Python.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Python.langdef index a51b9f2..10b4798 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Python.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Python.langdef @@ -6,137 +6,138 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'Python' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - + + - - + + + + - + - - - - - - - - - - + + + + + + + + + + - + - - - + + + >= **= << >> <> <= < >= > ]]> - + - - - + + + - + - + - + - + - + - - - - - - + + + + + + - + - + - + - + - + - - - - - - - + + + + + + + - + - + - + - + - +]]> \ No newline at end of file diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Rtf.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Rtf.langdef index 9681d81..4b04e1b 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Rtf.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Rtf.langdef @@ -6,25 +6,25 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'RTF' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. Actipro Software LLC + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. Actipro Software LLC --> - + - - - + + + - - - - - + + + + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Ruby.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Ruby.langdef index 248f4c5..9e8d45b 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Ruby.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Ruby.langdef @@ -6,25 +6,26 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'Ruby' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - + + - - + + + + + - + @@ -40,7 +41,7 @@ Actipro Syntax Language Definition (.langdef) - + @@ -70,7 +71,7 @@ Actipro Syntax Language Definition (.langdef) - + @@ -98,7 +99,7 @@ Actipro Syntax Language Definition (.langdef) - + @@ -112,7 +113,7 @@ Actipro Syntax Language Definition (.langdef) - + @@ -125,7 +126,7 @@ Actipro Syntax Language Definition (.langdef) - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Simple-Advanced.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Simple-Advanced.langdef index 70005a0..a5cd8c9 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Simple-Advanced.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Simple-Advanced.langdef @@ -6,16 +6,16 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'Simple' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Simple-Basic.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Simple-Basic.langdef index 7596484..fdbf3c7 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Simple-Basic.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Simple-Basic.langdef @@ -6,18 +6,19 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'Simple' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + + @@ -44,7 +45,7 @@ Actipro Syntax Language Definition (.langdef) == != = + - * / ]]> - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Sql.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Sql.langdef index a07e02f..9cd817b 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Sql.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Sql.langdef @@ -6,38 +6,38 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'SQL' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - - - - - - + + + + + + + + + - + - - - - - + + + + + - + - + < >= <= <> != !> !< ]]> - + - + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/VB.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/VB.langdef index 3d88e7f..7366387 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/VB.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/VB.langdef @@ -6,21 +6,22 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'VB' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + - - - - + + + + + @@ -62,7 +63,7 @@ Actipro Syntax Language Definition (.langdef) - + @@ -213,7 +214,7 @@ Actipro Syntax Language Definition (.langdef) - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/VBScript.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/VBScript.langdef index 1f74188..95db809 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/VBScript.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/VBScript.langdef @@ -6,59 +6,60 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'VBScript' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + - - - + + + + - + - - - - - + + + + + - + - + - + - + - - + + < = >= > \ ^ ]]> - + - - + + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Xaml.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Xaml.langdef index d215641..06b1424 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Xaml.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Xaml.langdef @@ -6,22 +6,22 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'XAML' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - - - - - - - + + + + + + + + + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Xml.langdef b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Xml.langdef index 5d2a0b7..46cf7ff 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Xml.langdef +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Definitions/Xml.langdef @@ -6,21 +6,21 @@ Actipro Syntax Language Definition (.langdef) http://www.actiprosoftware.com 'XML' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - - - - - - + + + + + + + + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Assembly.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Assembly.langproj index 6d125e5..bfd9e67 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Assembly.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Assembly.langproj @@ -6,18 +6,19 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'Assembly' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - + - + + - + + @@ -64,7 +65,7 @@ Actipro Syntax Language Project (.langproj) - + ? ]]> diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/BatchFile.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/BatchFile.langproj index 22872d5..376f869 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/BatchFile.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/BatchFile.langproj @@ -6,19 +6,19 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'Batch File' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + + - + + - - - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/C.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/C.langproj index 1c99c51..475a867 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/C.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/C.langproj @@ -6,20 +6,21 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'C' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + - - - - + + + + + @@ -43,7 +44,7 @@ Actipro Syntax Language Project (.langproj) - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/CSharp.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/CSharp.langproj index 9ebba20..691b1d4 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/CSharp.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/CSharp.langproj @@ -6,22 +6,23 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'C#' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - + + - - - - - - - + + + + + + + + @@ -47,7 +48,7 @@ Actipro Syntax Language Project (.langproj) - + @@ -219,7 +220,7 @@ Actipro Syntax Language Project (.langproj) - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Cpp.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Cpp.langproj index 352c995..f7ec76b 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Cpp.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Cpp.langproj @@ -6,20 +6,21 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'C++' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + - - - - + + + + + @@ -43,7 +44,7 @@ Actipro Syntax Language Project (.langproj) - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Css.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Css.langproj index 8d1219a..90057d8 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Css.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Css.langproj @@ -6,16 +6,16 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'CSS' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - + + + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/CustomFormula.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/CustomFormula.langproj index 667b2ee..3316a0d 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/CustomFormula.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/CustomFormula.langproj @@ -6,18 +6,19 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'Formula' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + + @@ -49,7 +50,7 @@ Actipro Syntax Language Project (.langproj) = != + - * / ]]> - + @@ -80,7 +81,7 @@ Actipro Syntax Language Project (.langproj) = != + - * / ]]> - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Html.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Html.langproj index 7a4f9df..5f1f2d4 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Html.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Html.langproj @@ -6,21 +6,21 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'HTML' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - - - - - - + + + + + + + + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/IniFile.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/IniFile.langproj index 11acc3b..2b7f0c2 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/IniFile.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/IniFile.langproj @@ -6,17 +6,17 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'INI File' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - + - - + + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Java.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Java.langproj index 408e1cf..7bfefb3 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Java.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Java.langproj @@ -6,20 +6,21 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'Java' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - + - + + + - + + @@ -41,7 +42,7 @@ Actipro Syntax Language Project (.langproj) - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/JavaScript.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/JavaScript.langproj index b2ecc09..e94ea27 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/JavaScript.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/JavaScript.langproj @@ -6,18 +6,19 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'JavaScript' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + - + + @@ -39,7 +40,7 @@ Actipro Syntax Language Project (.langproj) - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Lua.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Lua.langproj index 8dfeaf0..597726a 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Lua.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Lua.langproj @@ -6,20 +6,21 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'Lua' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - - - - + + + + + + + + @@ -74,7 +75,7 @@ Actipro Syntax Language Project (.langproj) + - * / % ^ # == = ~= ::= <= < >= > ]]> - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Markdown.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Markdown.langproj index e4958e0..5fb8e9e 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Markdown.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Markdown.langproj @@ -6,24 +6,25 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'Markdown' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - - - - - - - - + + + + + + + + + + + + @@ -80,6 +81,7 @@ Actipro Syntax Language Project (.langproj) + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Msil.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Msil.langproj index 1fbd39e..1721070 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Msil.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Msil.langproj @@ -6,18 +6,19 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'MSIL' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - + - + + - + + @@ -77,7 +78,7 @@ Actipro Syntax Language Project (.langproj) - + ^ | ]]> diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Pascal.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Pascal.langproj index de6a550..9cedc3a 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Pascal.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Pascal.langproj @@ -6,18 +6,19 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'Pascal' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + - + + @@ -44,7 +45,7 @@ Actipro Syntax Language Project (.langproj) - + - + - + - - + + - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Php.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Php.langproj index 20dfeb1..47660b9 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Php.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Php.langproj @@ -6,21 +6,21 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'PHP' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - + + + + - + @@ -326,7 +326,7 @@ Actipro Syntax Language Project (.langproj) players = $players; + $this->players = $players; $this->greetPlayers(); # Greet the players. } } diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/PowerShell.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/PowerShell.langproj index 309734d..a4f7312 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/PowerShell.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/PowerShell.langproj @@ -6,19 +6,20 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'PowerShell' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - - - + + + + + + + @@ -38,7 +39,7 @@ Actipro Syntax Language Project (.langproj) - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Python.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Python.langproj index 7eedfa2..4ed73bb 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Python.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Python.langproj @@ -6,18 +6,19 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'Python' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - + + - - + + + @@ -38,7 +39,7 @@ Actipro Syntax Language Project (.langproj) - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Rtf.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Rtf.langproj index ccee42f..b76b6f4 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Rtf.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Rtf.langproj @@ -6,15 +6,15 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'RTF' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. Actipro Software LLC + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. Actipro Software LLC --> - + - - - + + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Ruby.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Ruby.langproj index debb025..9e610d0 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Ruby.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Ruby.langproj @@ -6,19 +6,20 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'Ruby' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - + + - - + + + + + @@ -40,7 +41,7 @@ Actipro Syntax Language Project (.langproj) - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Simple-Advanced.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Simple-Advanced.langproj index b88d463..98e5ca8 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Simple-Advanced.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Simple-Advanced.langproj @@ -6,16 +6,16 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'Simple' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Simple-Basic.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Simple-Basic.langproj index 630981d..b467bbd 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Simple-Basic.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Simple-Basic.langproj @@ -6,18 +6,19 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'Simple' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + + @@ -44,7 +45,7 @@ Actipro Syntax Language Project (.langproj) == != = + - * / ]]> - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Sql.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Sql.langproj index 3c5be33..195741e 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Sql.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Sql.langproj @@ -6,21 +6,21 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'SQL' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - - - - - - + + + + + + + + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/VB.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/VB.langproj index ff8a976..bb8aeb6 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/VB.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/VB.langproj @@ -6,21 +6,22 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'VB' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + - - - - + + + + + @@ -62,7 +63,7 @@ Actipro Syntax Language Project (.langproj) - + @@ -213,7 +214,7 @@ Actipro Syntax Language Project (.langproj) - + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/VBScript.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/VBScript.langproj index d871160..7a919c5 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/VBScript.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/VBScript.langproj @@ -6,19 +6,20 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'VBScript' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - + - + - - - + + + + @@ -34,7 +35,7 @@ Actipro Syntax Language Project (.langproj) - + @@ -56,9 +57,9 @@ Actipro Syntax Language Project (.langproj) - + - - - - - - - - - - + + + + + + + + + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Xml.langproj b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Xml.langproj index 59a2458..f11b1b7 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Xml.langproj +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/Languages/Projects/Xml.langproj @@ -6,21 +6,21 @@ Actipro Syntax Language Project (.langproj) http://www.actiprosoftware.com 'XML' language created by Actipro Software LLC. - Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. --> - + - - - - - - - - - + + + + + + + + + diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/CurrentLineHighlighting/MainControl.Designer.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/CurrentLineHighlighting/MainControl.Designer.cs index 85e5942..7ef150d 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/CurrentLineHighlighting/MainControl.Designer.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/CurrentLineHighlighting/MainControl.Designer.cs @@ -26,7 +26,8 @@ private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainControl)); this.editor = new ActiproSoftware.UI.WinForms.Controls.SyntaxEditor.SyntaxEditor(); this.isHighlightingEnabledCheckBox = new System.Windows.Forms.CheckBox(); - this.contentTableLayoutPanel = new System.Windows.Forms.TableLayoutPanel(); + this.isLineNumberHighlightingEnabledCheckBox = new System.Windows.Forms.CheckBox(); + this.contentTableLayoutPanel = new System.Windows.Forms.TableLayoutPanel(); this.headerFlowLayoutPanel = new System.Windows.Forms.FlowLayoutPanel(); this.contentTableLayoutPanel.SuspendLayout(); this.headerFlowLayoutPanel.SuspendLayout(); @@ -59,6 +60,17 @@ private void InitializeComponent() { this.isHighlightingEnabledCheckBox.Text = "Is line highlighting enabled"; this.isHighlightingEnabledCheckBox.UseVisualStyleBackColor = true; this.isHighlightingEnabledCheckBox.CheckedChanged += new System.EventHandler(this.OnIsHighlightingEnabledCheckBoxCheckedChanged); + // + // isLineNumberHighlightingEnabledCheckBox + // + isLineNumberHighlightingEnabledCheckBox.AutoSize = true; + isLineNumberHighlightingEnabledCheckBox.Location = new System.Drawing.Point(178, 3); + isLineNumberHighlightingEnabledCheckBox.Name = "isLineNumberHighlightingEnabledCheckBox"; + isLineNumberHighlightingEnabledCheckBox.Size = new System.Drawing.Size(214, 19); + isLineNumberHighlightingEnabledCheckBox.TabIndex = 1; + isLineNumberHighlightingEnabledCheckBox.Text = "Is line number highlighting enabled"; + isLineNumberHighlightingEnabledCheckBox.UseVisualStyleBackColor = true; + isLineNumberHighlightingEnabledCheckBox.CheckedChanged += this.OnIsLineNumberHighlightingEnabledCheckBoxCheckedChanged; // // contentTableLayoutPanel // @@ -81,6 +93,7 @@ private void InitializeComponent() { this.headerFlowLayoutPanel.AutoSize = true; this.headerFlowLayoutPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.headerFlowLayoutPanel.Controls.Add(this.isHighlightingEnabledCheckBox); + this.headerFlowLayoutPanel.Controls.Add(isLineNumberHighlightingEnabledCheckBox); this.headerFlowLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill; this.headerFlowLayoutPanel.Location = new System.Drawing.Point(13, 13); this.headerFlowLayoutPanel.Name = "headerFlowLayoutPanel"; @@ -105,6 +118,7 @@ private void InitializeComponent() { #endregion private UI.WinForms.Controls.SyntaxEditor.SyntaxEditor editor; private System.Windows.Forms.CheckBox isHighlightingEnabledCheckBox; + private System.Windows.Forms.CheckBox isLineNumberHighlightingEnabledCheckBox; private System.Windows.Forms.TableLayoutPanel contentTableLayoutPanel; private System.Windows.Forms.FlowLayoutPanel headerFlowLayoutPanel; } diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/CurrentLineHighlighting/MainControl.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/CurrentLineHighlighting/MainControl.cs index 4163129..08d4fe8 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/CurrentLineHighlighting/MainControl.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/CurrentLineHighlighting/MainControl.cs @@ -10,11 +10,11 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.CurrentL /// Provides the main user control for this sample. /// public partial class MainControl : UserControl { - + ///////////////////////////////////////////////////////////////////////////////////////////////////// // OBJECT ///////////////////////////////////////////////////////////////////////////////////////////////////// - + /// /// Initializes an instance of the MainControl class. /// @@ -28,11 +28,13 @@ public MainControl() { DisplayItemClassificationTypeProvider provider = new DisplayItemClassificationTypeProvider(); provider.RegisterAll(); - // This is how the style for the current line highlight can be retrieved for color customization - // var style = AmbientHighlightingStyleRegistry.Instance[provider.CurrentLine]; + // This is how the style for the current line or line number highlights can be retrieved for color customization + // var currentLineStyle = AmbientHighlightingStyleRegistry.Instance[provider.CurrentLine]; + // var currentLineNumberStyle = AmbientHighlightingStyleRegistry.Instance[provider.LineNumberCurrent]; // Initialize the UI to match the default editor properties isHighlightingEnabledCheckBox.Checked = editor.IsCurrentLineHighlightingEnabled; + isLineNumberHighlightingEnabledCheckBox.Checked = editor.IsCurrentLineNumberHighlightingEnabled; } ///////////////////////////////////////////////////////////////////////////////////////////////////// @@ -48,6 +50,15 @@ private void OnIsHighlightingEnabledCheckBoxCheckedChanged(object sender, EventA editor.IsCurrentLineHighlightingEnabled = isHighlightingEnabledCheckBox.Checked; } + /// + /// Occurs when the checkbox is checked or unchecked. + /// + /// The sender of the event. + /// A that contains the event data. + private void OnIsLineNumberHighlightingEnabledCheckBoxCheckedChanged(object sender, EventArgs e) { + editor.IsCurrentLineNumberHighlightingEnabled = isLineNumberHighlightingEnabledCheckBox.Checked; + } + ///////////////////////////////////////////////////////////////////////////////////////////////////// // PUBLIC PROCEDURES ///////////////////////////////////////////////////////////////////////////////////////////////////// @@ -59,7 +70,8 @@ protected override void RescaleConstantsForDpi(int deviceDpiOld, int deviceDpiNe if (!Program.IsControlFontScalingHandledByRuntime) { // Manually scale control fonts var manualFontControls = new Control[] { - isHighlightingEnabledCheckBox + isHighlightingEnabledCheckBox, + isLineNumberHighlightingEnabledCheckBox }; foreach (var control in manualFontControls) control.Font = DpiHelper.RescaleFont(control.Font, deviceDpiOld, deviceDpiNew); diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/CurrentLineHighlighting/MainControl.resx b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/CurrentLineHighlighting/MainControl.resx index 4bd359e..90f7c03 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/CurrentLineHighlighting/MainControl.resx +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/CurrentLineHighlighting/MainControl.resx @@ -120,14 +120,25 @@ /* -This sample shows the current line highlighting feature, which renders -a highlight in the active view over the view line that contains the caret. +This sample shows two options for emphasizing the line in the active view +that contains the caret. + +Current line highlighting renders a border above and below the current +line with an optional background color. Set the SyntaxEditor.IsCurrentLineHighlightingEnabled property to true to activate it. The highlight color can be set via a style associated with the pre-defined DisplayItemClassificationTypes.CurrentLine classification type. +Current line number highlighting uses a different style in the line +number margin to render the current line. + +Set the SyntaxEditor.IsCurrentLineNumberHighlightingEnabled property to +true to activate it. The highlight color can be set via a style associated +with the pre-defined DisplayItemClassificationTypes.LineNumberCurrent +classification type. + */ body { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/ISimpleClassificationTypeProvider.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/ISimpleClassificationTypeProvider.g.cs index a8e4f55..5a4b2fc 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/ISimpleClassificationTypeProvider.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/ISimpleClassificationTypeProvider.g.cs @@ -8,7 +8,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.542.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public interface ISimpleClassificationTypeProvider { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleClassificationTypeProvider.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleClassificationTypeProvider.g.cs index 8525bf3..39cf8f8 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleClassificationTypeProvider.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleClassificationTypeProvider.g.cs @@ -14,7 +14,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.542.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class SimpleClassificationTypeProvider : ISimpleClassificationTypeProvider { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleExampleTextProvider.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleExampleTextProvider.g.cs index d60b105..759165b 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleExampleTextProvider.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleExampleTextProvider.g.cs @@ -9,7 +9,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.542.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class SimpleExampleTextProvider : Object, IExampleTextProvider { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleLexer.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleLexer.g.cs index 43e55f7..98f1171 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleLexer.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleLexer.g.cs @@ -11,7 +11,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.542.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class SimpleLexer : DynamicLexer { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleLexicalStateId.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleLexicalStateId.g.cs index 32bc976..2e564c2 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleLexicalStateId.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleLexicalStateId.g.cs @@ -11,7 +11,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.542.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class SimpleLexicalStateId : LexicalStateIdProviderBase { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleSyntaxLanguage.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleSyntaxLanguage.g.cs index 1e0568e..799660d 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleSyntaxLanguage.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleSyntaxLanguage.g.cs @@ -10,7 +10,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.542.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class SimpleSyntaxLanguage : SyntaxLanguage { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleTokenId.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleTokenId.g.cs index c78c507..d2a491f 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleTokenId.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleTokenId.g.cs @@ -11,7 +11,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.542.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class SimpleTokenId : TokenIdProviderBase { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleTokenTagger.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleTokenTagger.g.cs index b59d8c0..ffe15af 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleTokenTagger.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleTokenTagger.g.cs @@ -10,7 +10,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.542.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class SimpleTokenTagger : TokenTagger { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleTokenTaggerProvider.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleTokenTaggerProvider.g.cs index 1ea11be..f309965 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleTokenTaggerProvider.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03b/SimpleTokenTaggerProvider.g.cs @@ -11,7 +11,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.542.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class SimpleTokenTaggerProvider : TaggerProviderBase, ICodeDocumentTaggerProvider { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03c/SimpleTokenTaggerProvider.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03c/SimpleTokenTaggerProvider.cs index d8aed72..b1a5ff0 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03c/SimpleTokenTaggerProvider.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted03c/SimpleTokenTaggerProvider.cs @@ -18,7 +18,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v10.2.530.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class SimpleTokenTaggerProvider : TaggerProviderBase, ICodeDocumentTaggerProvider { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/AssignmentStatement.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/AssignmentStatement.g.cs index a0dffba..ef1a63b 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/AssignmentStatement.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/AssignmentStatement.g.cs @@ -10,7 +10,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.544.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class AssignmentStatement : Statement { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/BinaryOperatorExpression.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/BinaryOperatorExpression.g.cs index a2ca4b2..0badae1 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/BinaryOperatorExpression.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/BinaryOperatorExpression.g.cs @@ -10,7 +10,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.544.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class BinaryOperatorExpression : Expression { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/BlockStatement.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/BlockStatement.g.cs index 9bb4eee..85adb5e 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/BlockStatement.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/BlockStatement.g.cs @@ -10,7 +10,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.544.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class BlockStatement : Statement { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/CompilationUnit.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/CompilationUnit.g.cs index 6a9a475..939d411 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/CompilationUnit.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/CompilationUnit.g.cs @@ -11,7 +11,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.544.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class CompilationUnit : AstNodeBase { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/Expression.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/Expression.g.cs index d2ec330..a7a6059 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/Expression.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/Expression.g.cs @@ -10,7 +10,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.544.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class Expression : AstNodeBase { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/FunctionAccessExpression.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/FunctionAccessExpression.g.cs index f25bba5..ceffc38 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/FunctionAccessExpression.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/FunctionAccessExpression.g.cs @@ -10,7 +10,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.544.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class FunctionAccessExpression : Expression { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/FunctionDeclaration.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/FunctionDeclaration.g.cs index 8f40578..88970fc 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/FunctionDeclaration.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/FunctionDeclaration.g.cs @@ -11,7 +11,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.544.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class FunctionDeclaration : AstNodeBase { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/LiteralExpression.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/LiteralExpression.g.cs index f8fcb53..866774d 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/LiteralExpression.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/LiteralExpression.g.cs @@ -9,7 +9,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.544.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class LiteralExpression : Expression { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/ParenthesizedExpression.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/ParenthesizedExpression.g.cs index 36e39ad..97c99c1 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/ParenthesizedExpression.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/ParenthesizedExpression.g.cs @@ -10,7 +10,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.544.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class ParenthesizedExpression : Expression { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/ReturnStatement.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/ReturnStatement.g.cs index 53e50da..29883dd 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/ReturnStatement.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/ReturnStatement.g.cs @@ -10,7 +10,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.544.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class ReturnStatement : Statement { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/SimpleAstNodeId.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/SimpleAstNodeId.g.cs index 785aeb7..3d0a20d 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/SimpleAstNodeId.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/SimpleAstNodeId.g.cs @@ -11,7 +11,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.544.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class SimpleAstNodeId : AstNodeIdProviderBase { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/SimpleName.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/SimpleName.g.cs index 40dcd9d..4efaa18 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/SimpleName.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/SimpleName.g.cs @@ -9,7 +9,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.544.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class SimpleName : Expression { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/Statement.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/Statement.g.cs index d38cd32..0766a49 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/Statement.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/Statement.g.cs @@ -10,7 +10,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.544.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class Statement : AstNodeBase { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/VariableDeclarationStatement.g.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/VariableDeclarationStatement.g.cs index 64e0586..9b11a25 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/VariableDeclarationStatement.g.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GettingStarted04d/Ast/VariableDeclarationStatement.g.cs @@ -9,7 +9,7 @@ namespace ActiproSoftware.ProductSamples.SyntaxEditorSamples.QuickStart.GettingS /// /// This type was generated by the Actipro Language Designer tool v11.1.544.0 (http://www.actiprosoftware.com). /// Generated code is based on input created by Actipro Software LLC. - /// Copyright (c) 2001-2023 Actipro Software LLC. All rights reserved. + /// Copyright (c) 2001-2024 Actipro Software LLC. All rights reserved. /// public partial class VariableDeclarationStatement : Statement { diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GoToLineOverlay/GoToLineOverlayPane.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GoToLineOverlay/GoToLineOverlayPane.cs index 9da779a..19811f2 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GoToLineOverlay/GoToLineOverlayPane.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/GoToLineOverlay/GoToLineOverlayPane.cs @@ -34,8 +34,13 @@ public GoToLineOverlayPane(IEditorView view) this.SuspendLayout(); try { + #if NET7_0_OR_GREATER + // Use system font (so editor font isn't inherited) + this.Font = SystemFonts.MessageBoxFont; + #else // Use system font (so editor font isn't inherited) and scale to match the DPI of the editor - this.Font = DpiHelper.AutoScaleFont(SystemFonts.DefaultFont, DpiHelper.GetDeviceDpi(view.SyntaxEditor)); + this.Font = DpiHelper.AutoScaleFont(SystemFonts.MessageBoxFont, DpiHelper.GetDeviceDpi(view.SyntaxEditor)); + #endif this.BackColor = ColorScheme.GetKnownColor(KnownColor.Control); this.ForeColor = ColorScheme.GetKnownColor(KnownColor.ControlText); diff --git a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/PrintingOptions/MainControl.Designer.cs b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/PrintingOptions/MainControl.Designer.cs index d283e92..9a4913a 100644 --- a/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/PrintingOptions/MainControl.Designer.cs +++ b/Samples/SampleBrowser/ProductSamples/SyntaxEditorSamples/QuickStart/PrintingOptions/MainControl.Designer.cs @@ -49,6 +49,7 @@ private void InitializeComponent() { // editor // this.editor.AllowDrop = true; + this.editor.AreIndentationGuidesVisible = true; this.editor.AreWordWrapGlyphsVisible = true; this.contentTableLayoutPanel.SetColumnSpan(this.editor, 2); this.editor.Dock = System.Windows.Forms.DockStyle.Fill; diff --git a/Samples/SampleBrowser/Properties/AssemblyInfo.cs b/Samples/SampleBrowser/Properties/AssemblyInfo.cs index 7c9a055..58a24eb 100644 --- a/Samples/SampleBrowser/Properties/AssemblyInfo.cs +++ b/Samples/SampleBrowser/Properties/AssemblyInfo.cs @@ -11,7 +11,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Actipro Software LLC")] [assembly: AssemblyProduct("WinForms Controls Sample Browser")] -[assembly: AssemblyCopyright("Copyright (c) 2002-2023 Actipro Software LLC. All rights reserved.")] +[assembly: AssemblyCopyright("Copyright (c) 2002-2024 Actipro Software LLC. All rights reserved.")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] @@ -29,5 +29,5 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("23.1.3.0")] -[assembly: AssemblyInformationalVersion("23.1.3.0 - 20230911")] +[assembly: AssemblyVersion("24.1.0.0")] +[assembly: AssemblyInformationalVersion("24.1.0.0 - 20240206")] diff --git a/Samples/SampleBrowser/Properties/licenses.licx b/Samples/SampleBrowser/Properties/licenses.licx index 006ba7e..1c216c5 100644 --- a/Samples/SampleBrowser/Properties/licenses.licx +++ b/Samples/SampleBrowser/Properties/licenses.licx @@ -1 +1 @@ -ActiproSoftware.Products.ActiproLicenseToken, ActiproSoftware.Shared.WinForms, Version=23.1.3.0, Culture=neutral, PublicKeyToken=c27e062d3c1a4763 +ActiproSoftware.Products.ActiproLicenseToken, ActiproSoftware.Shared.WinForms, Version=24.1.0.0, Culture=neutral, PublicKeyToken=c27e062d3c1a4763 diff --git a/Samples/SampleBrowser/SampleBrowser.csproj b/Samples/SampleBrowser/SampleBrowser.csproj index f4affd7..5bec83d 100644 --- a/Samples/SampleBrowser/SampleBrowser.csproj +++ b/Samples/SampleBrowser/SampleBrowser.csproj @@ -9,7 +9,7 @@ IMPORTANT NOTES ON VISUAL STUDIO DESIGNER: - * The first listed framework for multi-target projects will determine the Visual Studio designer support + * The first listed framework for multi-target projects will determine the Visual Studio designer support. * .NET Framework targets require the product's offline installer to run with the designer support option even when using NuGet package references. @@ -28,7 +28,7 @@ SampleBrowser - 23.1.2.0 + 24.1.0.0 ActiproSoftware @@ -63,13 +63,18 @@ - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/SampleBrowser/SampleBrowser/Documents/ReleaseHistory.html b/Samples/SampleBrowser/SampleBrowser/Documents/ReleaseHistory.html index cdb51af..84a6881 100644 --- a/Samples/SampleBrowser/SampleBrowser/Documents/ReleaseHistory.html +++ b/Samples/SampleBrowser/SampleBrowser/Documents/ReleaseHistory.html @@ -11,9 +11,128 @@
+

Version 24.1

+ + +

2/23/2024 - v24.1.0

+

Bars

+
    +
  • Added modern Visual Studio renderers.
  • +
  • Improved how MetroStatusBarRenderer draws the resize gripper. Added new StatusBarGripperLightColor and StatusBarGripperDarkColor properties to replace single StatusBarGripperForeColor property.
  • +
  • Improved toolbar separator rendering across multiple renderers to be more accurate.
  • +
  • Renamed VisualStudio2002BarRenderer as WindowsClassicBarRenderer.
  • +
  • Renamed Office2003BarRenderer as OfficeClassicBarRenderer.
  • +
  • Renamed VisualStudio2002StatusBarRenderer as WindowsClassicStatusBarRenderer.
  • +
  • Renamed VisualStudio2005StatusBarRenderer as VisualStudioClassicStatusBarRenderer.
  • +
  • Renamed Office2003StatusBarRenderer as OfficeClassicStatusBarRenderer.
  • +
+

Docking

+
    +
  • Added modern Visual Studio renderers.
  • +
  • Renamed VisualStudio2002DockRenderer as WindowsClassicDockRenderer.
  • +
  • Renamed VisualStudio2002DocumentWindowTabStripRenderer as WindowsClassicDocumentWindowTabStripRenderer.
  • +
  • Renamed VisualStudio2002ToolWindowTabStripRenderer as WindowsClassicToolWindowTabStripRenderer.
  • +
  • Renamed VisualStudio2005DockRenderer as VisualStudioClassicDockRenderer.
  • +
  • Renamed VisualStudio2005DocumentWindowTabStripRenderer as VisualStudioClassicDocumentWindowTabStripRenderer.
  • +
  • Renamed VisualStudio2005ToolWindowTabStripRenderer as VisualStudioClassicToolWindowTabStripRenderer.
  • +
  • Renamed Office2003DockRenderer as OfficeClassicDockRenderer.
  • +
  • Renamed Office2003DocumentWindowTabStripRenderer as OfficeClassicDocumentWindowTabStripRenderer.
  • +
  • Renamed Office2003ToolWindowTabStripRenderer as OfficeClassicToolWindowTabStripRenderer.
  • +
  • Renamed VisualStudioTabStripRenderer as VisualStudioTabStripRendererBase.
  • +
  • Deprecated all Visual Studio 2005 Beta 2 renderers with plans to remove in a future release.
  • +
+

Navigation

+
    +
  • Renamed Office2003NavigationBarRenderer as OfficeLunaNavigationBarRenderer.
  • +
  • Renamed Office2007NavigationBarRenderer as OfficeClassicNavigationBarRenderer.
  • +
+

SyntaxEditor

+
    +
  • Added native support to switch between light and dark themes using distinct color palettes for each theme intent.
  • +
  • Added SyntaxEditorThemeManager to simplify the process of switching between light and dark themes.
  • +
  • Added SyntaxEditor.IsCurrentLineNumberHighlightingEnabled feature that will render the current line number in a style defined by DisplayItemClassificationTypeProvider.LineNumberCurrent.
  • +
  • Added built-in Operator and Punctuation IClassificationType instances to ClassifictionTypes.
  • +
  • Added BuiltInClassificationTypesProvider that will automatically register highlighting styles for built-in IClassificationType instances defined in ClassificationTypes.
  • +
  • Added Punctuation classification type to sample language definitions (where appropriate).
  • +
  • Added DisplayItemClassificationTypes.WordWrapGlyph to separate the word wrap glyph color from the visible white space color.
  • +
  • Added MarkdownDeleted classification type and highlighting style to the free Markdown language project and definition files.
  • +
  • Added support for primary and secondary carets to render with different brushes based on corresponding highlighting styles.
  • +
  • Updated collapsible region foreground, current line background/border, delimiter matching background, and find match highlight background colors to render with a default opacity when configured with opaque colors.
  • +
  • Updated NavigableSymbolSelector to automatically invalidate itself when renderer-related properties of the assocaited SyntaxEditor control are changed.
  • +
  • Fixed word wrap glyphs not rendered in printer usage scenarios.
  • +
  • Fixed printer rendering when syntax highlighting was enabled and the editor was configured for use with a dark theme.
  • +
  • Changed the system font used for overlay panes to better support system text sizes and DPI scaling.
  • +
+
JavaScript Language Add-on
+
    +
  • Added Punctuation classification type.
  • +
  • Fixed Operator classification type not being applied.
  • +
+
.NET Languages Add-on
+
    +
  • Updated the C# parser grammar to support C# 9.0 syntax.
  • +
  • Updated the Roslyn extensions to use the latest Microsoft.CodeAnalysis.Compilers v4.8 NuGet package.
  • +
  • Improved resolver support for C# local functions.
  • +
  • Improved documentation comment display in IntelliPrompt to support 'para' and 'br' tags.
  • +
  • Added Punctuation classification type.
  • +
  • Fixed Operator classification type not being applied.
  • +
+
Python Language Add-on
+
    +
  • Added support for IntelliPrompt to use type hint annotations.
  • +
  • Improved the resolver's ability to resolve types within external modules that were defined in other modules.
  • +
  • Added Punctuation classification type.
  • +
  • Fixed Operator classification type not being applied.
  • +
+

Shared

+
    +
  • Added UIRendererManager.ColorSchemeChanged event that is raised when the UIRendererManager.ColorScheme property is changed.
  • +
  • Added several enhancements to the UIColor class with support for additional color types, grayscale conversion, and chromatic adaptation.
  • +
  • Renamed WindowsXPScrollBarRenderer as WindowsScrollBarRenderer.
  • +
+

Shared

+
    +
  • Fixed an issue in the nativer rendering logic related to clip rectangles.
  • +
+

All

+
    +
  • API documentation is based on assemblies that target .NET 6 (previously .NET Framework).
  • +
  • The Sample Browser application included with the installer changed target from .NET Framework 4.7.2 to .NET 6.
  • +
  • Removed official support for Visual Studio 2017 although users should still be able to continue using the IDE for their own applications. Sample Browser requires Visual Studio 2019 or newer.
  • +
  • Added new Visual Studio Blue color scheme and modern Visual Studio renderers.
  • +
  • Removed all previously deprecated "metro light" renderers that were replaced by the unified "metro" renderers that support both dark and light.
  • +
  • Renamed WindowsColorSchemeType.VisualStudio2005 and WindowsColorScheme.VisualStudio2005 as VisualStudioClassic.
  • +
  • Renamed all WindowsColorSchemeType.Office2007* and WindowsColorScheme.Office2007* values as OfficeClassic (e.g., Office2007Blue renamed as OfficeClassicBlue).
  • +
  • Renamed most WindowsColorSchemeType.WindowsXP* and WindowsColorScheme.WindowsXP* values as Luna (e.g., WindowsXPBlue renamed as LunaBlue). WindowsXPRoyale has been deprecated since it replicates other classic themes and will be removed in a future release.
  • +
+ +

+ + See release history for older versions +

+ +
+
+ +
+
+ +

Version 23.1

+

2/23/2024 - v23.1.4

+

SyntaxEditor

+
.NET Languages Add-on
+
    +
  • Fixed a C# grammar issue related to pattern expression parsing.
  • +
+
Python Language Add-on
+
    +
  • Improved the parsing of subscription expressions.
  • +
+ +

12/4/2023 - v23.1.3

Docking

    @@ -199,7 +318,7 @@

    All

-
+

Version 22.1

@@ -403,7 +522,7 @@

All

-
+

Version 21.1

@@ -558,7 +677,7 @@

All

-
+

Version 20.1

@@ -841,7 +960,7 @@

All

-
+

Version 18.1

@@ -918,7 +1037,7 @@

All

-
+

Version 16.1

@@ -964,7 +1083,7 @@
Web Languages Add-on
-
+

Version 14.1

@@ -1076,7 +1195,7 @@
Web Languages Add-on
-
+

Version 13.1

@@ -1145,7 +1264,7 @@
.NET Languages Add-on
-
+

Version 12.1

diff --git a/Samples/SampleBrowser/SampleBrowser/Models/ProductData.xml b/Samples/SampleBrowser/SampleBrowser/Models/ProductData.xml index 0e0faab..ef59726 100644 --- a/Samples/SampleBrowser/SampleBrowser/Models/ProductData.xml +++ b/Samples/SampleBrowser/SampleBrowser/Models/ProductData.xml @@ -58,7 +58,7 @@ - + @@ -71,7 +71,7 @@ - + diff --git a/Samples/SampleBrowser/SampleBrowser/RootForm.cs b/Samples/SampleBrowser/SampleBrowser/RootForm.cs index 292ed97..85d29d3 100644 --- a/Samples/SampleBrowser/SampleBrowser/RootForm.cs +++ b/Samples/SampleBrowser/SampleBrowser/RootForm.cs @@ -222,7 +222,7 @@ private void NavigateToProductFamily(ProductFamilyInfo familyInfo) { contentHeaderLabel.Text = familyInfo.Title; - this.UpdatePrimaryStatus("Copyright \u00A9 2002-2023 Actipro Software LLC"); + this.UpdatePrimaryStatus("Copyright \u00A9 2002-2024 Actipro Software LLC"); if (familyInfo.Path.EndsWith(".html", StringComparison.OrdinalIgnoreCase)) this.LoadBrowser(familyInfo.Path, familyInfo);