Ejemplo n.º 1
0
        public void SetAccessibilityConstructor(Role role, AccessibilityInterface accessibilityInterface = AccessibilityInterface.None)
        {
            var size = Marshal.SizeOf <Interop.ControlDevel.AccessibilityDelegate>();

            if (accessibilityDelegate == null)
            {
                accessibilityDelegate = new Interop.ControlDevel.AccessibilityDelegate()
                {
                    GetName                  = () => DuplicateString(AccessibilityGetName()),
                    GetDescription           = () => DuplicateString(AccessibilityGetDescription()),
                    DoAction                 = (name) => AccessibilityDoAction(Marshal.PtrToStringAnsi(name)),
                    CalculateStates          = (states) => DuplicateStates(AccessibilityCalculateStates(states)),
                    GetActionCount           = () => AccessibilityGetActionCount(),
                    GetActionName            = (index) => DuplicateString(AccessibilityGetActionName(index)),
                    ShouldReportZeroChildren = () => AccessibilityShouldReportZeroChildren(),
                    GetMinimum               = () => AccessibilityGetMinimum(),
                    GetCurrent               = () => AccessibilityGetCurrent(),
                    GetMaximum               = () => AccessibilityGetMaximum(),
                    SetCurrent               = (value) => AccessibilitySetCurrent(value),
                    GetMinimumIncrement      = () => AccessibilityGetMinimumIncrement(),
                    IsScrollable             = () => AccessibilityIsScrollable(),
                    GetText                  = (startOffset, endOffset) => DuplicateString(AccessibilityGetText(startOffset, endOffset)),
                    GetCharacterCount        = () => AccessibilityGetCharacterCount(),
                    GetCursorOffset          = () => AccessibilityGetCursorOffset(),
                    SetCursorOffset          = (offset) => AccessibilitySetCursorOffset(offset),
                    GetTextAtOffset          = (offset, boundary) => DuplicateRange(AccessibilityGetTextAtOffset(offset, (AccessibilityTextBoundary)boundary)),
                    GetSelection             = (selectionNumber) => DuplicateRange(AccessibilityGetSelection(selectionNumber)),
                    RemoveSelection          = (selectionNumber) => AccessibilityRemoveSelection(selectionNumber),
                    SetSelection             = (selectionNumber, startOffset, endOffset) => AccessibilitySetSelection(selectionNumber, startOffset, endOffset),
                    CopyText                 = (startPosition, endPosition) => AccessibilityCopyText(startPosition, endPosition),
                    CutText                  = (startPosition, endPosition) => AccessibilityCutText(startPosition, endPosition),
                    InsertText               = (startPosition, text) => AccessibilityInsertText(startPosition, Marshal.PtrToStringAnsi(text)),
                    SetTextContents          = (newContents) => AccessibilitySetTextContents(Marshal.PtrToStringAnsi(newContents)),
                    DeleteText               = (startPosition, endPosition) => AccessibilityDeleteText(startPosition, endPosition),
                    ScrollToChild            = (child) => AccessibilityScrollToChild(this.GetInstanceSafely <View>(child)),
                    GetSelectedChildrenCount = () => AccessibilityGetSelectedChildrenCount(),
                    GetSelectedChild         = (selectedChildIndex) => View.getCPtr(AccessibilityGetSelectedChild(selectedChildIndex)).Handle,
                    SelectChild              = (childIndex) => AccessibilitySelectChild(childIndex),
                    DeselectSelectedChild    = (selectedChildIndex) => AccessibilityDeselectSelectedChild(selectedChildIndex),
                    IsChildSelected          = (childIndex) => AccessibilityIsChildSelected(childIndex),
                    SelectAll                = () => AccessibilitySelectAll(),
                    ClearSelection           = () => AccessibilityClearSelection(),
                    DeselectChild            = (childIndex) => AccessibilityDeselectChild(childIndex),
                };

                accessibilityDelegatePtr = Marshal.AllocHGlobal(size);
                Marshal.StructureToPtr(accessibilityDelegate, accessibilityDelegatePtr, false);
            }

            Interop.ControlDevel.DaliToolkitDevelControlSetAccessibilityConstructor(SwigCPtr, (int)role, (int)accessibilityInterface, accessibilityDelegatePtr, size);

            if (NDalicPINVOKE.SWIGPendingException.Pending)
            {
                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
            }
        }
Ejemplo n.º 2
0
        public void SetAccessibilityConstructor(Role role, AccessibilityInterface iface = AccessibilityInterface.None)
        {
            var size = Marshal.SizeOf <Interop.ControlDevel.AccessibilityDelegate>();

            if (_accessibilityDelegate == null)
            {
                _accessibilityDelegate = new Interop.ControlDevel.AccessibilityDelegate()
                {
                    GetName                  = () => strdup(AccessibilityGetName()),
                    GetDescription           = () => strdup(AccessibilityGetDescription()),
                    DoAction                 = (name) => AccessibilityDoAction(Marshal.PtrToStringAnsi(name)),
                    CalculateStates          = () => statesdup(AccessibilityCalculateStates()),
                    GetActionCount           = () => AccessibilityGetActionCount(),
                    GetActionName            = (index) => strdup(AccessibilityGetActionName(index)),
                    ShouldReportZeroChildren = () => AccessibilityShouldReportZeroChildren(),
                    GetMinimum               = () => AccessibilityGetMinimum(),
                    GetCurrent               = () => AccessibilityGetCurrent(),
                    GetMaximum               = () => AccessibilityGetMaximum(),
                    SetCurrent               = (value) => AccessibilitySetCurrent(value),
                    GetMinimumIncrement      = () => AccessibilityGetMinimumIncrement(),
                    IsScrollable             = () => AccessibilityIsScrollable(),
                    GetText                  = (startOffset, endOffset) => strdup(AccessibilityGetText(startOffset, endOffset)),
                    GetCharacterCount        = () => AccessibilityGetCharacterCount(),
                    GetCaretOffset           = () => AccessibilityGetCaretOffset(),
                    SetCaretOffset           = (offset) => AccessibilitySetCaretOffset(offset),
                    GetTextAtOffset          = (offset, boundary) => rangedup(AccessibilityGetTextAtOffset(offset, (TextBoundary)boundary)),
                    GetSelection             = (selectionNum) => rangedup(AccessibilityGetSelection(selectionNum)),
                    RemoveSelection          = (selectionNum) => AccessibilityRemoveSelection(selectionNum),
                    SetSelection             = (selectionNum, startOffset, endOffset) => AccessibilitySetSelection(selectionNum, startOffset, endOffset),
                    CopyText                 = (startPosition, endPosition) => AccessibilityCopyText(startPosition, endPosition),
                    CutText                  = (startPosition, endPosition) => AccessibilityCutText(startPosition, endPosition),
                };

                _accessibilityDelegatePtr = Marshal.AllocHGlobal(size);
                Marshal.StructureToPtr(_accessibilityDelegate, _accessibilityDelegatePtr, false);
            }

            Interop.ControlDevel.DaliToolkitDevelControlSetAccessibilityConstructor(SwigCPtr, (int)role, (int)iface, _accessibilityDelegatePtr, size);


            if (NDalicPINVOKE.SWIGPendingException.Pending)
            {
                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
            }
        }
Ejemplo n.º 3
0
 public void SetAccessibilityConstructor(Role role, AccessibilityInterface accessibilityInterface = AccessibilityInterface.None)
 {
     // We have to store the interface flags until we remove SetAccessibilityConstructor and switch to native C# interfaces
     AtspiInterfaceFlags = (1U << (int)accessibilityInterface);
     AccessibilityRole   = role;
 }