CalculateSizeAndPosition();
RegisterDefaultLabel();
- NotifyAccessibilityStatesChange(AccessibilityStates.Visible | AccessibilityStates.Showing, true);
+ NotifyAccessibilityStatesChange(AccessibilityStates.Visible | AccessibilityStates.Showing, AccessibilityStatesNotifyMode.Recursive);
}
/// <summary>
{
Hide();
UnregisterDefaultLabel();
- NotifyAccessibilityStatesChange(AccessibilityStates.Visible | AccessibilityStates.Showing, true);
+ NotifyAccessibilityStatesChange(AccessibilityStates.Visible | AccessibilityStates.Showing, AccessibilityStatesNotifyMode.Recursive);
Dispose();
}
View curHighlightedView = Accessibility.Accessibility.Instance.GetCurrentlyHighlightedView();
if (curHighlightedView != null)
{
- curHighlightedView.NotifyAccessibilityStatesChange(AccessibilityStates.Visible | AccessibilityStates.Showing, false);
+ curHighlightedView.NotifyAccessibilityStatesChange(AccessibilityStates.Visible | AccessibilityStates.Showing, AccessibilityStatesNotifyMode.Single);
}
}
if (appearedPage != null)
{
appearedPage.RegisterDefaultLabel();
- appearedPage.NotifyAccessibilityStatesChange(AccessibilityStates.Visible | AccessibilityStates.Showing, false);
+ appearedPage.NotifyAccessibilityStatesChange(AccessibilityStates.Visible | AccessibilityStates.Showing, AccessibilityStatesNotifyMode.Single);
}
}
/// If recursive is true, all children of the Accessibility object will also re-emit the states.
/// </remarks>
/// <param name="states">Accessibility States</param>
- /// <param name="recursive">Flag to point if notifications of children's state would be sent</param>
+ /// <param name="notifyMode">Controls the notification strategy</param>
[EditorBrowsable(EditorBrowsableState.Never)]
- public void NotifyAccessibilityStatesChange(AccessibilityStates states, bool recursive)
+ public void NotifyAccessibilityStatesChange(AccessibilityStates states, AccessibilityStatesNotifyMode notifyMode)
{
- Interop.ControlDevel.DaliToolkitDevelControlNotifyAccessibilityStatesChange(SwigCPtr, (ulong)states, Convert.ToInt32(recursive));
+ Interop.ControlDevel.DaliToolkitDevelControlNotifyAccessibilityStatesChange(SwigCPtr, (ulong)states, (int)notifyMode);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
};
/// <summary>
+ /// Notify mode for AccessibilityStates.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public enum AccessibilityStatesNotifyMode
+ {
+ /// <summary>
+ /// Notify about the change of states in this object only.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames", Justification = "Single is the most descriptive name for sending a single event")]
+ Single = 0,
+
+ /// <summary>
+ /// Notify about the change of states in this object and all its children.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Recursive = 1,
+ }
+
+ /// <summary>
/// The relation between accessible objects.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
Assert.IsNotNull(testingTarget, "Can't create success object View");
Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
- testingTarget.NotifyAccessibilityStatesChange(AccessibilityStates.Busy, true);
+ testingTarget.NotifyAccessibilityStatesChange(AccessibilityStates.Busy, AccessibilityStatesNotifyMode.Recursive);
var result = testingTarget.GetAccessibilityStates();
tlog.Debug(tag, "AccessibilityStates : " + result);