3 Supported UIA Properties and Control Pattern Methods

Basically, the Properties, Methods and functionality are defined by the UI Automation Specification. Therefore, this chapter has rather informative character to show the relation to the IDM.

UIA Property/Method

IDM Attribute

Remarks

AcceleratorKey

.accelerator

The keyboard shortcut of the accelerator is returned.

AccessKey

.text

The Mnemonic character in the text is returned, for example "Alt+E" for .text "&Edit".

AutomationId

.label, .acc_label

.acc_label, if set, takes precedence over .label. The .label may be supplemented by the numbering :[<I>] to achieve unique identification on sibling level.

BoundingRectangle

.x, .y
.width, .height
.xauto, .yauto

Position and size of the object.

ClassName

Attention

System names or IDM-specific names that may differ from version to version and have no 1:1 correlation with the IDM object class.

ClickablePoint

Point inside the BoundingRectangle for executing a mouse click.

ControlType

.class
(and other attributes like
.options, .style, .arrows)

The mapping to a UIA Control Type does not solely depend on the object class, but possibly also on further object attributes.

FrameworkId

Provided through the UIA implementation by Microsoft.

HasKeyboardFocus

.focus

Returns whether the object has the keyboard focus.

HelpText

.toolhelp resp. .statushelp

If no help text is set in .toolhelp, .statushelp will be returned.

IsEnabled

.sensitive resp. .real_sensitive

Returns the operability respectively sensitivity of the UIA Element.

IsKeyboardFocusable

Object is sensitive and can receive keyboard focus.

IsOffscreen

 

UIA element is visible, but may be covered by overlying windows or elements

IsPassword

.format

For a format with hidden formatting (format string starts with S) this Property returns true.

LocalizedControlType

Provided through the UIA implementation by Microsoft.

LabeledBy

If the IDM object is preceded by an insensitive statictext, the appropriate UIA Element is returned.

Name

.text, .title, .acc_text

With substructures (listbox, treeview, content) often also
.content, .content[I], .content[R,C]

Name of the UIA Element. May be overwritten by the .acc_text attribute.

NativeWindowHandle

AT_WinHandle

Usually the same as the HWND that DM_GetToolkitData() returns for AT_WinHandle.

Orientation

.direction, .docking

For IDM object classes like splitbox, scrollbar, toolbar and tablefield the respective direction is returned here.

OrientationType_Horizontal

.direction = 2

OrientationType_Vertical

.direction = 1

OrientationType_Horizontal

.docking = dock_<up|down|window>

OrientationType_Vertical

.docking = dock_<left|right>

ProcessId

Provided through the UIA implementation by Microsoft.

ProviderDescription

Provided through the UIA implementation by Microsoft.

RuntimeId

Usually provided through the UIA implementation by Microsoft.

3.1 Value Pattern

UIA Property/Method

IDM Attribute

Remarks

ValueIsReadOnly

.editable
.editable[R,C]

Input field or table cell is editable.

A listbox always returns true.

Value

.content
.content[I]
.content[R,C]

Returns the (formatted) content of an input field, a poptext, treeview or listbox item, or a table cell.

SetValue()

.content
.content[I]
.content[R,C]

Modifies the value of the input field or table cell.

3.2 RangeValue Pattern

UIA Property/Method

IDM Attribute

Remarks

ValueIsReadOnly

Range value may be changed via SetValue().

Value

.curvalue

Range value of a spinbox or scrollbar.

Minimum

.minvalue

Lower Range limit.

Maximum

.maxvalue

Upper Range limit.

SetValue()

Modifies the Range value.

3.3 Scroll Pattern

UIA Property/Method

IDM Attribute

Remarks

HorizontallyScrollable

Horizontal scrolling is possible.

HorizonalScrollPercent

Computed value from .vwidth and real width in %.

HorizontalViewSize

Computed value from .vwidth and real width in %.

VerticallyScrollable

Vertical scrolling is possible.

VericalScrollPercent

Computed value from .vheight and real height in %.

VericalViewSize

Computed value from .vheight and real height in %.

Scroll()

Scrolls relatively.

SetScrollPercent()

Scrolls to a specific % position.

3.4 ScrollItem Pattern

UIA Property/Method

IDM Attribute

Remarks

ScrollIntoView()

Scrolls the element into the visible area.

3.5 Transform Pattern

UIA Property/Method

IDM Attribute

Remarks

CanMove

.moveable

Window or toolbar can be moved.

CanResize

.sizeable

Window or toolbar can be decreased and increased in size.

Or the splibox area can be decreased and increased in size.

CanRotate

Not covered by the IDM.

Move()

Allows moving a window or toolbar.

Resize()

Allows resizing a window, toolbar or splibox area.

Rotate()

3.6 Grid Pattern

UIA Property/Method

IDM Attribute

Remarks

ColumnCount

.colcount

Returns the number of visible columns in a table.

RowCount

.rowcount

Returns the number of visible rows in a table.

GetItem()

Returns the UIA Element of a cell.

3.7 GridItem Pattern

UIA Property/Method

IDM Attribute

Remarks

GridItemColumn

Column index (from 0 and without invisible columns).

GridItemColumnSpan

Is always 1 because cells cannot be merged in the IDM.

GridItemRowCount

Row index (from 0 and without invisible rows).

GridItemRowSpan

Is always 1 because cells cannot be merged in the IDM.

3.8 Selection Pattern

UIA Property/Method

IDM Attribute

Remarks

SelectionCanSelectMultiple

.multisel
.selstyle
.selection[]

Listboxes and tables may support multiple selection.

SelectionIsRequired

Is a selection required?

GetSelection()

Returns the selected UIA Elements.

3.9 SelectionItem Pattern

UIA Property/Method

IDM Attribute

Remarks

SelectionItemIsSelected

.active
.activeitem

Returns true for an active item.

AddToSelection()

Adds an item to a multiple selection.

RemoveFromSelect()

Removes a selected item from a multiple selection.

Select()

Selects this item.

3.10 Toggle Pattern

UIA Property/Method

IDM Attribute

Remarks

ToggleState

.active
.state

Activation or state of a checkbox, image object or menuitem in checkbox style.

Toggle()

Toggles the states between checked, unchecked and indeterminate.

3.11 ExpandCollapse Pattern

UIA Property/Method

IDM Attribute

Remarks

ExpandCollapseState

.open (Treeview)

Collapse()

Close a subtree.

Expand()

Open a subtree.

3.12 Window Pattern

UIA Property/Method

IDM Attribute

Remarks

CanMinimize

.iconifyable

Window can be minimized.

CanMaximize

.maximizable

Window can be maximized.

IsTopmost

.top_most

Window is always in front of all other windows.

WindowIsModal

.dialogbox

Windows with .dialogbox = true are modal windows.

WindowInteractionState

WindowVisualState

Window state (minimized, maximized, etc.).

Close()

Close the window.

SetWindowVisualState()

Enables to minimize or maximize the window.

WaitForInputIdle()

3.13 Dock Pattern

UIA Property/Method

IDM Attribute

Remarks

DockDockPosition

.docking

Returns the docking position of a toolbar.

SetDockPosition()

Allows to change the docking of a toolbar.

3.14 Table Pattern

UIA Property/Method

IDM Attribute

Remarks

TableRowOrColumnMajor

.direction

Indicates the orientation of the table.

GetColumnHeaders()

Returns the UIA Elements of the visible column header cells.

GetRowHeaders()

Returns the UIA Elements of the visible row header cells.

3.15 TableItem Pattern

UIA Property/Method

IDM Attribute

Remarks

GetColumnHeaderItems()

Returns the corresponding UIA Elements in the header range [row,1] … [row,.colheader] of the table.

GetRowHeaderItems()

Returns the corresponding UIA Elements in the header range [1,col] … [.rowheader,col] of the table.