From b2a882b79d23e4b64d170965a9ae4cbbf9ddf346 Mon Sep 17 00:00:00 2001 From: Robert McRackan Date: Mon, 13 May 2024 15:17:17 -0400 Subject: [PATCH] Bug fix #904 -- navigation bug with new Accessibility feature --- Source/AppScaffolding/AppScaffolding.csproj | 2 +- Source/AppScaffolding/LibationScaffolding.cs | 1 + .../AccessibleDataGridViewButtonCell.cs | 19 +++++++-------- .../AccessibleDataGridViewTextBoxCell.cs | 23 ++++++++----------- 4 files changed, 20 insertions(+), 25 deletions(-) diff --git a/Source/AppScaffolding/AppScaffolding.csproj b/Source/AppScaffolding/AppScaffolding.csproj index c0632ad2..77a9892c 100644 --- a/Source/AppScaffolding/AppScaffolding.csproj +++ b/Source/AppScaffolding/AppScaffolding.csproj @@ -2,7 +2,7 @@ net8.0 - 11.3.10.1 + 11.3.11.1 diff --git a/Source/AppScaffolding/LibationScaffolding.cs b/Source/AppScaffolding/LibationScaffolding.cs index d40fa29a..5f849940 100644 --- a/Source/AppScaffolding/LibationScaffolding.cs +++ b/Source/AppScaffolding/LibationScaffolding.cs @@ -243,6 +243,7 @@ namespace AppScaffolding LogLevel_Error_Enabled = Log.Logger.IsErrorEnabled(), LogLevel_Fatal_Enabled = Log.Logger.IsFatalEnabled(), + config.AutoScan, config.BetaOptIn, config.UseCoverAsFolderIcon, config.LibationFiles, diff --git a/Source/LibationWinForms/AccessibleDataGridViewButtonCell.cs b/Source/LibationWinForms/AccessibleDataGridViewButtonCell.cs index a580f14f..fd8f7267 100644 --- a/Source/LibationWinForms/AccessibleDataGridViewButtonCell.cs +++ b/Source/LibationWinForms/AccessibleDataGridViewButtonCell.cs @@ -4,31 +4,28 @@ namespace LibationWinForms { public class AccessibleDataGridViewButtonCell : DataGridViewButtonCell { - protected string AccessibilityName - { - get => MyAccessibilityObject.AccessibilityName; - set => MyAccessibilityObject.AccessibilityName = value; - } + private string accessibilityDescription; + + protected string AccessibilityName { get; } /// /// Get or set description for accessibility. eg: screen readers. Also sets the ToolTipText /// protected string AccessibilityDescription { - get => MyAccessibilityObject.AccessibilityDescription; + get => accessibilityDescription; set { - MyAccessibilityObject.AccessibilityDescription = value; - MyAccessibilityObject.Owner.ToolTipText = value; + accessibilityDescription = value; + ToolTipText = value; } } - protected ButtonCellAccessibilityObject MyAccessibilityObject { get; set; } - protected override AccessibleObject CreateAccessibilityInstance() => MyAccessibilityObject; + protected override AccessibleObject CreateAccessibilityInstance() => new ButtonCellAccessibilityObject(this, name: AccessibilityName, description: AccessibilityDescription); public AccessibleDataGridViewButtonCell(string accessibilityName) : base() { - MyAccessibilityObject = new(this, name: accessibilityName, description: ""); + AccessibilityName = accessibilityName; } protected class ButtonCellAccessibilityObject : DataGridViewButtonCellAccessibleObject diff --git a/Source/LibationWinForms/AccessibleDataGridViewTextBoxCell.cs b/Source/LibationWinForms/AccessibleDataGridViewTextBoxCell.cs index 33c0707e..941c9d58 100644 --- a/Source/LibationWinForms/AccessibleDataGridViewTextBoxCell.cs +++ b/Source/LibationWinForms/AccessibleDataGridViewTextBoxCell.cs @@ -4,34 +4,31 @@ namespace LibationWinForms { internal class AccessibleDataGridViewTextBoxCell : DataGridViewTextBoxCell { - protected virtual string AccessibilityName - { - get => MyAccessibilityObject.AccessibilityName; - set => MyAccessibilityObject.AccessibilityName = value; - } + private string accessibilityDescription; + + protected string AccessibilityName { get; } /// /// Get or set description for accessibility. eg: screen readers. Also sets the ToolTipText /// protected string AccessibilityDescription { - get => MyAccessibilityObject.AccessibilityDescription; + get => accessibilityDescription; set { - MyAccessibilityObject.AccessibilityDescription = value; - MyAccessibilityObject.Owner.ToolTipText = value; + accessibilityDescription = value; + ToolTipText = value; } } - protected ButtonCellAccessibilityObject MyAccessibilityObject { get; set; } - protected override AccessibleObject CreateAccessibilityInstance() => MyAccessibilityObject; + protected override AccessibleObject CreateAccessibilityInstance() => new TextBoxCellAccessibilityObject(this, name: AccessibilityName, description: AccessibilityDescription); public AccessibleDataGridViewTextBoxCell(string accessibilityName) : base() { - MyAccessibilityObject = new(this, name: accessibilityName, description: ""); + AccessibilityName = accessibilityName; } - protected class ButtonCellAccessibilityObject : DataGridViewTextBoxCellAccessibleObject + protected class TextBoxCellAccessibilityObject : DataGridViewTextBoxCellAccessibleObject { public string AccessibilityName { get; set; } public string AccessibilityDescription { get; set; } @@ -39,7 +36,7 @@ namespace LibationWinForms public override string Name => AccessibilityName; public override string Description => AccessibilityDescription; - public ButtonCellAccessibilityObject(DataGridViewCell owner, string name, string description) : base(owner) + public TextBoxCellAccessibilityObject(DataGridViewCell owner, string name, string description) : base(owner) { AccessibilityName = name; AccessibilityDescription = description;