[NUI][ATSPI] Calculate states based on DALi
authorShinwoo Kim <cinoo.kim@samsung.com>
Mon, 15 Nov 2021 11:00:49 +0000 (20:00 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Wed, 17 Nov 2021 08:23:25 +0000 (17:23 +0900)
We do not have to same job calculating states.
This patch sets make the View use DALi states.
If there is NUI specific state, then it will be overwritten.

src/Tizen.NUI.Components/Controls/AlertDialog.cs
src/Tizen.NUI.Components/Controls/Button.cs
src/Tizen.NUI.Components/Controls/Dialog.cs
src/Tizen.NUI.Components/Controls/Popup.cs
src/Tizen.NUI.Components/Controls/Switch.cs
src/Tizen.NUI/src/internal/Interop/Interop.ControlDevel.cs
src/Tizen.NUI/src/public/BaseComponents/ViewAccessibility.cs
src/Tizen.NUI/src/public/BaseComponents/ViewPublicMethods.cs

index 68212cf..9e3a600 100755 (executable)
@@ -412,11 +412,11 @@ namespace Tizen.NUI.Components
         /// Informs AT-SPI bridge about the set of AT-SPI states associated with this object.
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override AccessibilityStates AccessibilityCalculateStates()
+        protected override AccessibilityStates AccessibilityCalculateStates(ulong states)
         {
-            var states = base.AccessibilityCalculateStates();
-            FlagSetter(ref states, AccessibilityStates.Modal, true);
-            return states;
+            var accessibilityStates = base.AccessibilityCalculateStates(states);
+            FlagSetter(ref accessibilityStates, AccessibilityStates.Modal, true);
+            return accessibilityStates;
         }
 
 
index 857e178..05cec8e 100755 (executable)
@@ -217,12 +217,12 @@ namespace Tizen.NUI.Components
         /// Calculates current states for the button<br />
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override AccessibilityStates AccessibilityCalculateStates()
+        protected override AccessibilityStates AccessibilityCalculateStates(ulong states)
         {
-            var states = base.AccessibilityCalculateStates();
-            FlagSetter(ref states, AccessibilityStates.Checked, this.IsSelected);
-            FlagSetter(ref states, AccessibilityStates.Enabled, this.IsEnabled);
-            return states;
+            var accessibilityStates = base.AccessibilityCalculateStates(states);
+            FlagSetter(ref accessibilityStates, AccessibilityStates.Checked, this.IsSelected);
+            FlagSetter(ref accessibilityStates, AccessibilityStates.Enabled, this.IsEnabled);
+            return accessibilityStates;
         }
 
         /// <summary>
index 6d36239..56a0b49 100644 (file)
@@ -111,11 +111,11 @@ namespace Tizen.NUI.Components
         /// Informs AT-SPI bridge about the set of AT-SPI states associated with this object.
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override AccessibilityStates AccessibilityCalculateStates()
+        protected override AccessibilityStates AccessibilityCalculateStates(ulong states)
         {
-            var states = base.AccessibilityCalculateStates();
-            FlagSetter(ref states, AccessibilityStates.Modal, true);
-            return states;
+            var accessibilityStates = base.AccessibilityCalculateStates(states);
+            FlagSetter(ref accessibilityStates, AccessibilityStates.Modal, true);
+            return accessibilityStates;
         }
 
         private void OnRelayout(object sender, EventArgs e)
index 5027331..ed4d436 100755 (executable)
@@ -726,11 +726,11 @@ namespace Tizen.NUI.Components
         /// Informs AT-SPI bridge about the set of AT-SPI states associated with this object.
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override AccessibilityStates AccessibilityCalculateStates()
+        protected override AccessibilityStates AccessibilityCalculateStates(ulong states)
         {
-            var states = base.AccessibilityCalculateStates();
-            FlagSetter(ref states, AccessibilityStates.Modal, true);
-            return states;
+            var accessibilityStates = base.AccessibilityCalculateStates(states);
+            FlagSetter(ref accessibilityStates, AccessibilityStates.Modal, true);
+            return accessibilityStates;
         }
 
         private void UpdateView()
index 43bf732..6e2bd80 100644 (file)
@@ -78,11 +78,11 @@ namespace Tizen.NUI.Components
         /// Informs AT-SPI bridge about the set of AT-SPI states associated with this object.
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override AccessibilityStates AccessibilityCalculateStates()
+        protected override AccessibilityStates AccessibilityCalculateStates(ulong states)
         {
-            var states = base.AccessibilityCalculateStates();
-            FlagSetter(ref states, AccessibilityStates.Checked, this.IsSelected);
-            return states;
+            var accessibilityStates = base.AccessibilityCalculateStates(states);
+            FlagSetter(ref accessibilityStates, AccessibilityStates.Checked, this.IsSelected);
+            return accessibilityStates;
         }
 
         /// <summary>
index 7284ee9..ced21d9 100755 (executable)
@@ -208,7 +208,7 @@ namespace Tizen.NUI
                 public AccessibilityDoAction DoAction; // 3
 
                 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-                public delegate IntPtr AccessibilityCalculateStates();
+                public delegate IntPtr AccessibilityCalculateStates(ulong states);
                 [EditorBrowsable(EditorBrowsableState.Never)]
                 public AccessibilityCalculateStates CalculateStates; // 4
 
index 47e2793..708da7e 100755 (executable)
@@ -481,7 +481,7 @@ namespace Tizen.NUI.BaseComponents
                     GetName = () => DuplicateString(AccessibilityGetName()),
                     GetDescription = () => DuplicateString(AccessibilityGetDescription()),
                     DoAction = (name) => AccessibilityDoAction(Marshal.PtrToStringAnsi(name)),
-                    CalculateStates = () => DuplicateStates(AccessibilityCalculateStates()),
+                    CalculateStates = (states) => DuplicateStates(AccessibilityCalculateStates(states)),
                     GetActionCount = () => AccessibilityGetActionCount(),
                     GetActionName = (index) => DuplicateString(AccessibilityGetActionName(index)),
                     ShouldReportZeroChildren = () => AccessibilityShouldReportZeroChildren(),
@@ -626,21 +626,20 @@ namespace Tizen.NUI.BaseComponents
         }
 
         [EditorBrowsable(EditorBrowsableState.Never)]
-        protected virtual AccessibilityStates AccessibilityCalculateStates()
+        protected virtual AccessibilityStates AccessibilityCalculateStates(ulong states)
         {
-            AccessibilityStates states = 0;
+            AccessibilityStates _states = (AccessibilityStates)states;
 
-            FlagSetter(ref states, AccessibilityStates.Highlightable, this.AccessibilityHighlightable);
-            FlagSetter(ref states, AccessibilityStates.Focusable, this.Focusable);
-            FlagSetter(ref states, AccessibilityStates.Focused, this.State == States.Focused);
-            FlagSetter(ref states, AccessibilityStates.Highlighted, this.IsHighlighted);
-            FlagSetter(ref states, AccessibilityStates.Enabled, this.State != States.Disabled);
-            FlagSetter(ref states, AccessibilityStates.Sensitive, this.Sensitive);
-            FlagSetter(ref states, AccessibilityStates.Visible, true);
-            FlagSetter(ref states, AccessibilityStates.Showing, this.Visibility);
-            FlagSetter(ref states, AccessibilityStates.Defunct, !this.IsOnWindow);
+            FlagSetter(ref _states, AccessibilityStates.Highlightable, this.AccessibilityHighlightable);
+            FlagSetter(ref _states, AccessibilityStates.Focusable, this.Focusable);
+            FlagSetter(ref _states, AccessibilityStates.Focused, this.State == States.Focused);
+            FlagSetter(ref _states, AccessibilityStates.Highlighted, this.IsHighlighted);
+            FlagSetter(ref _states, AccessibilityStates.Enabled, this.State != States.Disabled);
+            FlagSetter(ref _states, AccessibilityStates.Sensitive, this.Sensitive);
+            FlagSetter(ref _states, AccessibilityStates.Visible, true);
+            FlagSetter(ref _states, AccessibilityStates.Defunct, !this.IsOnWindow);
 
-            return states;
+            return _states;
         }
 
         [EditorBrowsable(EditorBrowsableState.Never)]
index 3bfc5a5..1d7dac3 100755 (executable)
@@ -303,7 +303,7 @@ namespace Tizen.NUI.BaseComponents
         /// <since_tizen> 3 </since_tizen>
         public void Show()
         {
-            if (Accessibility.Accessibility.Enabled && ((AccessibilityCalculateStates() & AccessibilityStates.Modal) != 0))
+            if (Accessibility.Accessibility.Enabled && ((GetAccessibilityStates() & AccessibilityStates.Modal) != 0))
             {
                 RegisterPopup();
             }
@@ -324,7 +324,7 @@ namespace Tizen.NUI.BaseComponents
         {
             SetVisible(false);
 
-            if (Accessibility.Accessibility.Enabled && ((AccessibilityCalculateStates() & AccessibilityStates.Modal) != 0))
+            if (Accessibility.Accessibility.Enabled && ((GetAccessibilityStates() & AccessibilityStates.Modal) != 0))
             {
                 RemovePopup();
             }