1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2017 The Qt Company Ltd. 4 ** Contact: https://www.qt.io/licensing/ 5 ** 6 ** This file is part of the QtGui module of the Qt Toolkit. 7 ** 8 ** $QT_BEGIN_LICENSE:LGPL$ 9 ** Commercial License Usage 10 ** Licensees holding valid commercial Qt licenses may use this file in 11 ** accordance with the commercial license agreement provided with the 12 ** Software or, alternatively, in accordance with the terms contained in 13 ** a written agreement between you and The Qt Company. For licensing terms 14 ** and conditions see https://www.qt.io/terms-conditions. For further 15 ** information use the contact form at https://www.qt.io/contact-us. 16 ** 17 ** GNU Lesser General Public License Usage 18 ** Alternatively, this file may be used under the terms of the GNU Lesser 19 ** General Public License version 3 as published by the Free Software 20 ** Foundation and appearing in the file LICENSE.LGPL3 included in the 21 ** packaging of this file. Please review the following information to 22 ** ensure the GNU Lesser General Public License version 3 requirements 23 ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. 24 ** 25 ** GNU General Public License Usage 26 ** Alternatively, this file may be used under the terms of the GNU 27 ** General Public License version 2.0 or (at your option) the GNU General 28 ** Public license version 3 or any later version approved by the KDE Free 29 ** Qt Foundation. The licenses are as published by the Free Software 30 ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 31 ** included in the packaging of this file. Please review the following 32 ** information to ensure the GNU General Public License requirements will 33 ** be met: https://www.gnu.org/licenses/gpl-2.0.html and 34 ** https://www.gnu.org/licenses/gpl-3.0.html. 35 ** 36 ** $QT_END_LICENSE$ 37 ** 38 ****************************************************************************/ 39 40 #ifndef UIATYPES_H 41 #define UIATYPES_H 42 43 // 44 // W A R N I N G 45 // ------------- 46 // 47 // This file is not part of the Qt API. It exists purely as an 48 // implementation detail. This header file may change from version to 49 // version without notice, or even be removed. 50 // 51 // We mean it. 52 // 53 54 typedef int PROPERTYID; 55 typedef int PATTERNID; 56 typedef int EVENTID; 57 typedef int TEXTATTRIBUTEID; 58 typedef int CONTROLTYPEID; 59 typedef int LANDMARKTYPEID; 60 typedef int METADATAID; 61 62 typedef void *UIA_HWND; 63 64 enum NavigateDirection { 65 NavigateDirection_Parent = 0, 66 NavigateDirection_NextSibling = 1, 67 NavigateDirection_PreviousSibling = 2, 68 NavigateDirection_FirstChild = 3, 69 NavigateDirection_LastChild = 4 70 }; 71 72 enum ProviderOptions { 73 ProviderOptions_ClientSideProvider = 0x1, 74 ProviderOptions_ServerSideProvider = 0x2, 75 ProviderOptions_NonClientAreaProvider = 0x4, 76 ProviderOptions_OverrideProvider = 0x8, 77 ProviderOptions_ProviderOwnsSetFocus = 0x10, 78 ProviderOptions_UseComThreading = 0x20, 79 ProviderOptions_RefuseNonClientSupport = 0x40, 80 ProviderOptions_HasNativeIAccessible = 0x80, 81 ProviderOptions_UseClientCoordinates = 0x100 82 }; 83 84 enum SupportedTextSelection { 85 SupportedTextSelection_None = 0, 86 SupportedTextSelection_Single = 1, 87 SupportedTextSelection_Multiple = 2 88 }; 89 90 enum TextUnit { 91 TextUnit_Character = 0, 92 TextUnit_Format = 1, 93 TextUnit_Word = 2, 94 TextUnit_Line = 3, 95 TextUnit_Paragraph = 4, 96 TextUnit_Page = 5, 97 TextUnit_Document = 6 98 }; 99 100 enum TextPatternRangeEndpoint { 101 TextPatternRangeEndpoint_Start = 0, 102 TextPatternRangeEndpoint_End = 1 103 }; 104 105 enum CaretPosition { 106 CaretPosition_Unknown = 0, 107 CaretPosition_EndOfLine = 1, 108 CaretPosition_BeginningOfLine = 2 109 }; 110 111 enum ToggleState { 112 ToggleState_Off = 0, 113 ToggleState_On = 1, 114 ToggleState_Indeterminate = 2 115 }; 116 117 enum RowOrColumnMajor { 118 RowOrColumnMajor_RowMajor = 0, 119 RowOrColumnMajor_ColumnMajor = 1, 120 RowOrColumnMajor_Indeterminate = 2 121 }; 122 123 enum TreeScope { 124 TreeScope_None = 0, 125 TreeScope_Element = 0x1, 126 TreeScope_Children = 0x2, 127 TreeScope_Descendants = 0x4, 128 TreeScope_Parent = 0x8, 129 TreeScope_Ancestors = 0x10, 130 TreeScope_Subtree = TreeScope_Element | TreeScope_Children | TreeScope_Descendants 131 }; 132 133 enum OrientationType { 134 OrientationType_None = 0, 135 OrientationType_Horizontal = 1, 136 OrientationType_Vertical = 2 137 }; 138 139 enum PropertyConditionFlags { 140 PropertyConditionFlags_None = 0, 141 PropertyConditionFlags_IgnoreCase = 1 142 }; 143 144 enum WindowVisualState { 145 WindowVisualState_Normal = 0, 146 WindowVisualState_Maximized = 1, 147 WindowVisualState_Minimized = 2 148 }; 149 150 enum WindowInteractionState { 151 WindowInteractionState_Running = 0, 152 WindowInteractionState_Closing = 1, 153 WindowInteractionState_ReadyForUserInteraction = 2, 154 WindowInteractionState_BlockedByModalWindow = 3, 155 WindowInteractionState_NotResponding = 4 156 }; 157 158 enum ExpandCollapseState { 159 ExpandCollapseState_Collapsed = 0, 160 ExpandCollapseState_Expanded = 1, 161 ExpandCollapseState_PartiallyExpanded = 2, 162 ExpandCollapseState_LeafNode = 3 163 }; 164 165 enum NotificationKind { 166 NotificationKind_ItemAdded = 0, 167 NotificationKind_ItemRemoved = 1, 168 NotificationKind_ActionCompleted = 2, 169 NotificationKind_ActionAborted = 3, 170 NotificationKind_Other = 4 171 }; 172 173 enum NotificationProcessing { 174 NotificationProcessing_ImportantAll = 0, 175 NotificationProcessing_ImportantMostRecent = 1, 176 NotificationProcessing_All = 2, 177 NotificationProcessing_MostRecent = 3, 178 NotificationProcessing_CurrentThenMostRecent = 4 179 }; 180 181 struct UiaRect { 182 double left; 183 double top; 184 double width; 185 double height; 186 }; 187 188 struct UiaPoint { 189 double x; 190 double y; 191 }; 192 193 #endif 194