コード例 #1
0
 public void Initialize(object parentWidget, IAccessibleEventSink eventSink)
 {
     this.eventSink = eventSink;
     widget         = parentWidget as INSAccessibility;
     if (widget == null)
     {
         throw new ArgumentException("The widget does not implement INSAccessibility.", nameof(parentWidget));
     }
     eventProxy = widget as INSAccessibleEventSource;
 }
コード例 #2
0
 public void Initialize(object parentWidget, IAccessibleEventSink eventSink)
 {
     this.eventSink = eventSink;
     if (parentWidget is EmbedNativeWidgetBackend)             // bypass embedding container and bind to the embedded view
     {
         widget = ((EmbedNativeWidgetBackend)parentWidget).EmbeddedView;
     }
     else if (parentWidget is CustomAlignedContainer)             // bypass alignment containers
     {
         widget = ((CustomAlignedContainer)parentWidget).Child;
     }
     if (widget == null)
     {
         widget = parentWidget as INSAccessibility;
     }
     if (widget == null)
     {
         throw new ArgumentException("The widget does not implement INSAccessibility.", nameof(parentWidget));
     }
     eventProxy = widget as INSAccessibleEventSource;
 }
コード例 #3
0
ファイル: Util.cs プロジェクト: wiltonlazary/xwt
        public static Accessibility.Role GetXwtRole(INSAccessibility widget)
        {
            var r  = widget.AccessibilityRole;
            var sr = widget.AccessibilitySubrole;

            if (r == NSAccessibilityRoles.ButtonRole)
            {
                if (sr == NSAccessibilitySubroles.CloseButtonSubrole)
                {
                    return(Accessibility.Role.ButtonClose);
                }
                if (sr == NSAccessibilitySubroles.MinimizeButtonSubrole)
                {
                    return(Accessibility.Role.ButtonMinimize);
                }
                if (sr == NSAccessibilitySubroles.ZoomButtonSubrole)
                {
                    return(Accessibility.Role.ButtonMaximize);
                }
                if (sr == NSAccessibilitySubroles.FullScreenButtonSubrole)
                {
                    return(Accessibility.Role.ButtonFullscreen);
                }
                return(Accessibility.Role.Button);
            }
            if (r == NSAccessibilityRoles.CellRole)
            {
                return(Accessibility.Role.Cell);
            }
            if (r == NSAccessibilityRoles.CheckBoxRole)
            {
                return(Accessibility.Role.CheckBox);
            }
            if (r == NSAccessibilityRoles.ColorWellRole)
            {
                return(Accessibility.Role.ColorChooser);
            }
            if (r == NSAccessibilityRoles.ColumnRole)
            {
                return(Accessibility.Role.Column);
            }
            if (r == NSAccessibilityRoles.ComboBoxRole)
            {
                return(Accessibility.Role.ComboBox);
            }
            if (r == NSAccessibilityRoles.ComboBoxRole)
            {
                return(Accessibility.Role.ComboBox);
            }
            if (r == NSAccessibilityRoles.DisclosureTriangleRole)
            {
                return(Accessibility.Role.Disclosure);
            }
            if (r == NSAccessibilityRoles.GroupRole)
            {
                return(Accessibility.Role.Group);
            }
            if (r == NSAccessibilityRoles.ImageRole)
            {
                return(Accessibility.Role.Image);
            }
            if (r == NSAccessibilityRoles.LevelIndicatorRole)
            {
                return(Accessibility.Role.LevelIndicator);
            }
            if (r == NSAccessibilityRoles.LinkRole)
            {
                return(Accessibility.Role.Link);
            }
            if (r == NSAccessibilityRoles.ListRole)
            {
                return(Accessibility.Role.List);
            }
            if (r == "NSAccessibilityMenuBarRole")
            {
                return(Accessibility.Role.MenuBar);
            }
            if (r == NSAccessibilityRoles.MenuBarItemRole)
            {
                return(Accessibility.Role.MenuBarItem);
            }
            if (r == NSAccessibilityRoles.MenuItemRole)
            {
                return(Accessibility.Role.MenuItem);
            }
            if (r == NSAccessibilityRoles.MenuRole)
            {
                return(Accessibility.Role.Menu);
            }
            if (r == NSAccessibilityRoles.OutlineRole)
            {
                return(Accessibility.Role.Tree);
            }
            if (r == NSAccessibilityRoles.PopUpButtonRole)
            {
                return(Accessibility.Role.MenuButton);
            }
            if (r == NSAccessibilityRoles.PopoverRole)
            {
                return(Accessibility.Role.Popup);
            }
            if (r == NSAccessibilityRoles.ProgressIndicatorRole)
            {
                return(Accessibility.Role.ProgressBar);
            }
            if (r == NSAccessibilityRoles.RadioButtonRole)
            {
                return(Accessibility.Role.RadioButton);
            }
            if (r == NSAccessibilityRoles.RadioGroupRole)
            {
                return(Accessibility.Role.RadioGroup);
            }
            if (r == NSAccessibilityRoles.RowRole)
            {
                return(Accessibility.Role.Row);
            }
            if (r == NSAccessibilityRoles.ScrollAreaRole)
            {
                return(Accessibility.Role.ScrollView);
            }
            if (r == NSAccessibilityRoles.ScrollBarRole)
            {
                return(Accessibility.Role.ScrollBar);
            }
            if (r == NSAccessibilityRoles.SliderRole)
            {
                return(Accessibility.Role.Slider);
            }
            if (r == NSAccessibilityRoles.SplitGroupRole)
            {
                return(Accessibility.Role.Paned);
            }
            if (r == NSAccessibilityRoles.SplitterRole)
            {
                return(Accessibility.Role.PanedSplitter);
            }
            if (r == NSAccessibilityRoles.StaticTextRole)
            {
                return(Accessibility.Role.Label);
            }
            if (r == NSAccessibilityRoles.TabGroupRole)
            {
                return(Accessibility.Role.Notebook);
            }
            if (r == NSAccessibilityRoles.TableRole)
            {
                return(Accessibility.Role.Table);
            }
            if (r == NSAccessibilityRoles.TextAreaRole)
            {
                return(Accessibility.Role.TextEntry);
            }
            if (r == NSAccessibilityRoles.TextFieldRole)
            {
                if (sr == NSAccessibilitySubroles.SearchFieldSubrole)
                {
                    return(Accessibility.Role.TextEntrySearch);
                }
                if (sr == NSAccessibilitySubroles.SecureTextFieldSubrole)
                {
                    return(Accessibility.Role.TextEntryPassword);
                }
                return(Accessibility.Role.TextEntry);
            }
            if (r == NSAccessibilityRoles.ToolbarRole)
            {
                return(Accessibility.Role.ToolBar);
            }
            if (r == NSAccessibilityRoles.ValueIndicatorRole)
            {
                return(Accessibility.Role.SpinButton);
            }
            //if (r == NSAccessibilityRoles.WindowRole)
            //	return Accessibility.Role.Window;

            return(Accessibility.Role.Custom);

            // TODO:
            //NSAccessibilityRoles.ApplicationRole;
            //NSAccessibilityRoles.BrowserRole;
            //NSAccessibilityRoles.BusyIndicatorRole;
            //NSAccessibilityRoles.DrawerRole;
            //NSAccessibilityRoles.GridRole;
            //NSAccessibilityRoles.GrowAreaRole;
            //NSAccessibilityRoles.HandleRole;
            //NSAccessibilityRoles.HelpTagRole;
            //NSAccessibilityRoles.IncrementorRole;
            //NSAccessibilityRoles.LayoutAreaRole;
            //NSAccessibilityRoles.LayoutItemRole;
            //NSAccessibilityRoles.IncrementorRole
            //NSAccessibilityRoles.MatteRole;
            //NSAccessibilityRoles.MenuButtonRole;
            //NSAccessibilityRoles.RelevanceIndicatorRole;
            //NSAccessibilityRoles.RulerMarkerRole;
            //NSAccessibilityRoles.RulerRole;
            //NSAccessibilityRoles.SheetRole;
            //NSAccessibilityRoles.UnknownRole;
        }