2 Mapping of IDM Object Classes to UIA Control Types
The IDM has as a design principle the use of the object classes (controls, widgets) provided by the system or toolkit to implement the interface objects and thus to keep operation and appearance as compliant as possible with the system.
Many of the IDM object classes are covered by the UI Automation Support for Standard Controls
from Microsoft. If possible and required, the IDM adds the necessary properties.
With regard to UI Automation support in the IDM, the following categories can be distinguished:
D |
Particular object classes cannot be equipped with additional UIA support through the IDM, but have sufficient support through the Microsoft default implementation. These include e.g. menubox, menuitem, menusep, messagebox and filereq. |
E |
Most of these object classes get complementary UIA support through the IDM, especially to facilitate their identification. |
X |
Object classes implemented by the IDM and object classes with inadequate Microsoft default implementation get individual UIA support. These are mainly the object classes image, tablefield, splitbox, layoutbox, progressbar, poptext and toolbar. |
U |
For special object classes such as control, canvas and USW objects, UIA support lies in the hands of the application programmer or object implementer. |
The following table shall serve as a reference point for the mapping of IDM object classes to UIA Control Types as well as the functionality provided by the Pattern affiliation:
Category |
IDM Object Class |
UIA Control Type |
|
---|---|---|---|
U |
canvas |
Pane |
To be implemented by the canvas programmer |
E |
checkbox |
CheckBox |
Toggle, Invoke |
U |
control |
Pane |
Depends on the OLE/control object |
E |
edittext |
Edit |
System-dependent – typically Value, Text, Text2 Multi-line texts with scrollbars usually also have the Scroll Pattern |
E |
edittext |
Document |
System-dependent – typically Value, Text, Text2 |
D |
filereq |
Window |
System-dependent |
X |
groupbox |
Pane Child: Group |
Invoke, Scroll (with virtual areas) |
X |
image |
Button Children: Text, Image |
Invoke, Toggle |
X |
layoutbox |
Pane |
Scroll (with virtual areas) |
E |
listbox |
List Children: ListItem |
Scroll, Selection, Invoke |
D |
menubox |
Menu |
ExpandCollapse |
D |
menuitem |
MenuItem |
Toggle, Invoke, ExpandCollapse, SelectionItem – |
D |
menusep |
Separator |
– |
D |
messagebox |
Window |
System-dependent |
E |
notebook |
Tab |
Selection |
E |
notepage |
TabItem/Pane |
SelectionItem |
X |
poptext |
ComboBox Children: Edit, List, Text |
ExpandCollapse, Value sowie Selection – |
X |
progressbar |
ProgressBar |
RangeValue |
X |
pushbutton |
Button |
Invoke |
E |
radiobutton |
RadioButton |
SelectionItem |
X |
rectangle |
Button |
Invoke |
X |
scrollbar |
ScrollBar |
RangeValue |
X |
scrollbar ( |
Slider |
RangeValue |
X |
spinbox |
Spinner |
RangeValue, Value, Selection – |
X |
splitbox |
Pane Children: Pane |
Visible split areas are sub-Panes with Transform Pattern |
X |
statictext (insensitiv |
Text |
Text |
X |
statictext (sensitiv |
Button |
Invoke |
E |
statusbar |
StatusBar |
– |
X |
tablefield |
Table Children: ListItem |
Grid, Table, GridItem, TableItem, Invoke, Scroll, Selection |
X |
toolbar |
ToolBar |
Dock, Transform, Window ( |
E |
treeview |
Tree |
Scroll, Selection |
E |
window |
Window |
Window, Transform |
UI Automation support may be changed by Microsoft anytime, so that changes concerning the mapping of UIA ControlTypes, Patterns, Properties and Events are always possible.