Table of contents |
UIA Provider
A page to show the mapping being used between UI Automation and ATK.
For an overview of the architecture see the Architecture page.
UIA Control Types
UIA Control Types overview (MSDN)
| UIA Control Type | Status | Providers | ATK Roles | Notes |
|---|---|---|---|---|
| Button | Almost finished (Calvin & Andres) |
ATK_ROLE_PUSH_BUTTON | Work is still needed with states and updating FramingRect from UIA. | |
| Calendar | Not Started | IGridProvider IScrollProvider ISelectionProvider ITableProvider IValueProvider | ATK_ROLE_CALENDAR | |
| CheckBox | Done (Andres) | IToggleProvider | ATK_ROLE_CHECK_BOX | |
| ComboBox | Almost done (Andres) | ATK_ROLE_COMBO_BOX | ||
| DataGrid | Not Started | ATK_ROLE_TABLE | ||
| DataItem | Not Started | |||
| Document | Not Started | ATK_ROLE_DOCUMENT_FRAME | ||
| Edit | In progress (Andres) | ATK_ROLE_ENTRY | ||
| Group | In Progress (Mike) |
IExpandCollapseProvider | ATK_ROLE_PANEL | |
| Header | Not Started | |||
| HeaderItem | Not Started | ATK_ROLE_TABLE_COLUMN_HEADER ATK_ROLE_TABLE_ROW_HEADER | ||
| Hyperlink | Not Started | ATK_ROLE_LINK | ||
| Image | Not Started | ATK_ROLE_IMAGE | ||
| List | In Progress (Calvin) |
ATK_ROLE_LIST | ||
| ListItem | Done (Mike) | ATK_ROLE_LIST_ITEM | ||
| Menu | In progress (Andres) | ATK_ROLE_MENU | We lack the provider yet | |
| MenuBar | Not Started | ATK_ROLE_MENU_BAR | ||
| MenuItem | Not Started | ATK_ROLE_MENU_ITEM | ||
| Pane | In Progress (Calvin) |
ITransformProvider IDockProvider | ATK_ROLE_PANEL | Work is still needed with states and updating FramingRect from UIA. |
| ProgressBar | Not Started | ATK_ROLE_PROGRESS_BAR | ||
| RadioButton | Done (Andres) | ATK_ROLE_RADIO_BUTTON | ||
| ScrollBar | In Progress (Mike) |
IRangeValueProvider | ATK_ROLE_SCROLL_BAR | |
| Separator | Not Started | ATK_ROLE_SEPARATOR | ||
| Slider | Not Started | ATK_ROLE_SLIDER | ||
| Spinner | Not Started | ATK_ROLE_DIAL | ||
| SplitButton | Not Started | |||
| StatusBar | Done (Mike) | IGridProvider | ATK_ROLE_STATUSBAR | |
| Tab | Not Started | ATK_ROLE_PAGE_TAB_LIST | ||
| TabItem | Not Started | ATK_ROLE_PAGE_TAB | ||
| Table | Not Started | ATK_ROLE_TABLE | ||
| Text | Not Started | ATK_ROLE_TEXT | ||
| Thumb | Not Started | |||
| TitleBar | Not Started | ATK_ROLE_CAPTION | ||
| ToolBar | Not Started | ATK_ROLE_TOOL_BAR | ||
| ToolTip | Not Started | ATK_ROLE_TOOL_TIP | ||
| Tree | Not Started | ATK_ROLE_TREE | ||
| TreeItem | Not Started | ATK_ROLE_TREE_TABLE | ||
| Window | In Progress | ATK_ROLE_WINDOW |
UIA Provider Interfaces
The following is a list of UIA Provider interfaces to be used in the table above.
IExpandCollapseProvider IGridItemProvider IInvokeProvider IMultipleViewProvider IRangeValueProvider IRawElementProviderAdviseEvents IRawElementProviderFragment IRawElementProviderFragmentRoot IRawElementProviderHwndOverride IRawElementProviderSimple IScrollItemProvider IScrollProvider ISelectionItemProvider ISelectionProvider ITableItemProvider ITableProvider ITextProvider ITextRangeProvider ITransformProvider IValueProvider IWindowProvider
See also
Interesting as well are the MWF->UIA mappings and the GTK->Gail->ATK->UIA mappings+candidates.