Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
c40bccb8
Commit
c40bccb8
authored
Jun 20, 2022
by
Connor McAdams
Committed by
Alexandre Julliard
Jul 25, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
uiautomationcore: Add support for UIAutomationType_String properties.
Signed-off-by:
Connor McAdams
<
cmcadams@codeweavers.com
>
parent
0bc1f687
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
38 additions
and
21 deletions
+38
-21
uiautomation.c
dlls/uiautomationcore/tests/uiautomation.c
+1
-7
uia_client.c
dlls/uiautomationcore/uia_client.c
+9
-0
uia_ids.c
dlls/uiautomationcore/uia_ids.c
+28
-14
No files found.
dlls/uiautomationcore/tests/uiautomation.c
View file @
c40bccb8
...
@@ -4191,10 +4191,7 @@ static void check_uia_prop_val(PROPERTYID prop_id, enum UIAutomationType type, V
...
@@ -4191,10 +4191,7 @@ static void check_uia_prop_val(PROPERTYID prop_id, enum UIAutomationType type, V
switch
(
type
)
switch
(
type
)
{
{
case
UIAutomationType_String
:
case
UIAutomationType_String
:
todo_wine
ok
(
V_VT
(
v
)
==
VT_BSTR
,
"Unexpected VT %d
\n
"
,
V_VT
(
v
));
ok
(
V_VT
(
v
)
==
VT_BSTR
,
"Unexpected VT %d
\n
"
,
V_VT
(
v
));
if
(
V_VT
(
v
)
!=
VT_BSTR
)
break
;
ok
(
!
lstrcmpW
(
V_BSTR
(
v
),
uia_bstr_prop_str
),
"Unexpected BSTR %s
\n
"
,
wine_dbgstr_w
(
V_BSTR
(
v
)));
ok
(
!
lstrcmpW
(
V_BSTR
(
v
),
uia_bstr_prop_str
),
"Unexpected BSTR %s
\n
"
,
wine_dbgstr_w
(
V_BSTR
(
v
)));
ok_method_sequence
(
get_prop_seq
,
NULL
);
ok_method_sequence
(
get_prop_seq
,
NULL
);
break
;
break
;
...
@@ -4417,9 +4414,6 @@ static void test_UiaGetPropertyValue(void)
...
@@ -4417,9 +4414,6 @@ static void test_UiaGetPropertyValue(void)
}
}
winetest_push_context
(
"prop_id %d"
,
prop_id
);
winetest_push_context
(
"prop_id %d"
,
prop_id
);
hr
=
UiaGetPropertyValue
(
node
,
prop_id
,
&
v
);
hr
=
UiaGetPropertyValue
(
node
,
prop_id
,
&
v
);
if
(
hr
==
E_NOTIMPL
)
todo_wine
ok
(
hr
==
S_OK
,
"Unexpected hr %#lx.
\n
"
,
hr
);
else
ok
(
hr
==
S_OK
,
"Unexpected hr %#lx.
\n
"
,
hr
);
ok
(
hr
==
S_OK
,
"Unexpected hr %#lx.
\n
"
,
hr
);
check_uia_prop_val
(
prop_id
,
elem_prop
->
type
,
&
v
);
check_uia_prop_val
(
prop_id
,
elem_prop
->
type
,
&
v
);
...
...
dlls/uiautomationcore/uia_client.c
View file @
c40bccb8
...
@@ -396,6 +396,15 @@ static HRESULT WINAPI uia_provider_get_prop_val(IWineUiaProvider *iface,
...
@@ -396,6 +396,15 @@ static HRESULT WINAPI uia_provider_get_prop_val(IWineUiaProvider *iface,
*
ret_val
=
v
;
*
ret_val
=
v
;
break
;
break
;
case
UIAutomationType_String
:
if
(
V_VT
(
&
v
)
!=
VT_BSTR
)
{
WARN
(
"Invalid vt %d for UIAutomationType_String
\n
"
,
V_VT
(
&
v
));
goto
exit
;
}
*
ret_val
=
v
;
break
;
case
UIAutomationType_Element
:
case
UIAutomationType_Element
:
{
{
IRawElementProviderSimple
*
elprov
;
IRawElementProviderSimple
*
elprov
;
...
...
dlls/uiautomationcore/uia_ids.c
View file @
c40bccb8
...
@@ -32,21 +32,26 @@ static int __cdecl uia_property_guid_compare(const void *a, const void *b)
...
@@ -32,21 +32,26 @@ static int __cdecl uia_property_guid_compare(const void *a, const void *b)
/* Sorted by GUID. */
/* Sorted by GUID. */
static
const
struct
uia_prop_info
default_uia_properties
[]
=
{
static
const
struct
uia_prop_info
default_uia_properties
[]
=
{
{
&
AutomationId_Property_GUID
,
UIA_AutomationIdPropertyId
,
},
{
&
AutomationId_Property_GUID
,
UIA_AutomationIdPropertyId
,
{
&
FrameworkId_Property_GUID
,
UIA_FrameworkIdPropertyId
,
},
UIAutomationType_String
,
},
{
&
FrameworkId_Property_GUID
,
UIA_FrameworkIdPropertyId
,
UIAutomationType_String
,
},
{
&
IsTransformPatternAvailable_Property_GUID
,
UIA_IsTransformPatternAvailablePropertyId
,
},
{
&
IsTransformPatternAvailable_Property_GUID
,
UIA_IsTransformPatternAvailablePropertyId
,
},
{
&
IsScrollItemPatternAvailable_Property_GUID
,
UIA_IsScrollItemPatternAvailablePropertyId
,
},
{
&
IsScrollItemPatternAvailable_Property_GUID
,
UIA_IsScrollItemPatternAvailablePropertyId
,
},
{
&
IsExpandCollapsePatternAvailable_Property_GUID
,
UIA_IsExpandCollapsePatternAvailablePropertyId
,
},
{
&
IsExpandCollapsePatternAvailable_Property_GUID
,
UIA_IsExpandCollapsePatternAvailablePropertyId
,
},
{
&
CenterPoint_Property_GUID
,
UIA_CenterPointPropertyId
,
},
{
&
CenterPoint_Property_GUID
,
UIA_CenterPointPropertyId
,
},
{
&
IsTableItemPatternAvailable_Property_GUID
,
UIA_IsTableItemPatternAvailablePropertyId
,
},
{
&
IsTableItemPatternAvailable_Property_GUID
,
UIA_IsTableItemPatternAvailablePropertyId
,
},
{
&
Scroll_HorizontalScrollPercent_Property_GUID
,
UIA_ScrollHorizontalScrollPercentPropertyId
,
},
{
&
Scroll_HorizontalScrollPercent_Property_GUID
,
UIA_ScrollHorizontalScrollPercentPropertyId
,
},
{
&
AccessKey_Property_GUID
,
UIA_AccessKeyPropertyId
,
},
{
&
AccessKey_Property_GUID
,
UIA_AccessKeyPropertyId
,
UIAutomationType_String
,
},
{
&
RangeValue_Maximum_Property_GUID
,
UIA_RangeValueMaximumPropertyId
,
},
{
&
RangeValue_Maximum_Property_GUID
,
UIA_RangeValueMaximumPropertyId
,
},
{
&
ClassName_Property_GUID
,
UIA_ClassNamePropertyId
,
},
{
&
ClassName_Property_GUID
,
UIA_ClassNamePropertyId
,
UIAutomationType_String
,
},
{
&
Transform2_ZoomMinimum_Property_GUID
,
UIA_Transform2ZoomMinimumPropertyId
,
},
{
&
Transform2_ZoomMinimum_Property_GUID
,
UIA_Transform2ZoomMinimumPropertyId
,
},
{
&
LegacyIAccessible_Description_Property_GUID
,
UIA_LegacyIAccessibleDescriptionPropertyId
,
},
{
&
LegacyIAccessible_Description_Property_GUID
,
UIA_LegacyIAccessibleDescriptionPropertyId
,
},
{
&
Transform2_ZoomLevel_Property_GUID
,
UIA_Transform2ZoomLevelPropertyId
,
},
{
&
Transform2_ZoomLevel_Property_GUID
,
UIA_Transform2ZoomLevelPropertyId
,
},
{
&
Name_Property_GUID
,
UIA_NamePropertyId
,
},
{
&
Name_Property_GUID
,
UIA_NamePropertyId
,
UIAutomationType_String
,
},
{
&
GridItem_RowSpan_Property_GUID
,
UIA_GridItemRowSpanPropertyId
,
},
{
&
GridItem_RowSpan_Property_GUID
,
UIA_GridItemRowSpanPropertyId
,
},
{
&
Size_Property_GUID
,
UIA_SizePropertyId
,
{
&
Size_Property_GUID
,
UIA_SizePropertyId
,
UIAutomationType_DoubleArray
,
},
UIAutomationType_DoubleArray
,
},
...
@@ -54,7 +59,8 @@ static const struct uia_prop_info default_uia_properties[] = {
...
@@ -54,7 +59,8 @@ static const struct uia_prop_info default_uia_properties[] = {
{
&
Styles_FillPatternStyle_Property_GUID
,
UIA_StylesFillPatternStylePropertyId
,
},
{
&
Styles_FillPatternStyle_Property_GUID
,
UIA_StylesFillPatternStylePropertyId
,
},
{
&
FlowsTo_Property_GUID
,
UIA_FlowsToPropertyId
,
{
&
FlowsTo_Property_GUID
,
UIA_FlowsToPropertyId
,
UIAutomationType_ElementArray
,
},
UIAutomationType_ElementArray
,
},
{
&
ItemStatus_Property_GUID
,
UIA_ItemStatusPropertyId
,
},
{
&
ItemStatus_Property_GUID
,
UIA_ItemStatusPropertyId
,
UIAutomationType_String
,
},
{
&
Scroll_VerticalViewSize_Property_GUID
,
UIA_ScrollVerticalViewSizePropertyId
,
},
{
&
Scroll_VerticalViewSize_Property_GUID
,
UIA_ScrollVerticalViewSizePropertyId
,
},
{
&
Selection_IsSelectionRequired_Property_GUID
,
UIA_SelectionIsSelectionRequiredPropertyId
,
},
{
&
Selection_IsSelectionRequired_Property_GUID
,
UIA_SelectionIsSelectionRequiredPropertyId
,
},
{
&
IsGridItemPatternAvailable_Property_GUID
,
UIA_IsGridItemPatternAvailablePropertyId
,
},
{
&
IsGridItemPatternAvailable_Property_GUID
,
UIA_IsGridItemPatternAvailablePropertyId
,
},
...
@@ -100,9 +106,11 @@ static const struct uia_prop_info default_uia_properties[] = {
...
@@ -100,9 +106,11 @@ static const struct uia_prop_info default_uia_properties[] = {
{
&
IsTransformPattern2Available_Property_GUID
,
UIA_IsTransformPattern2AvailablePropertyId
,
},
{
&
IsTransformPattern2Available_Property_GUID
,
UIA_IsTransformPattern2AvailablePropertyId
,
},
{
&
LabeledBy_Property_GUID
,
UIA_LabeledByPropertyId
,
{
&
LabeledBy_Property_GUID
,
UIA_LabeledByPropertyId
,
UIAutomationType_Element
,
},
UIAutomationType_Element
,
},
{
&
ItemType_Property_GUID
,
UIA_ItemTypePropertyId
,
},
{
&
ItemType_Property_GUID
,
UIA_ItemTypePropertyId
,
UIAutomationType_String
,
},
{
&
Transform_CanMove_Property_GUID
,
UIA_TransformCanMovePropertyId
,
},
{
&
Transform_CanMove_Property_GUID
,
UIA_TransformCanMovePropertyId
,
},
{
&
LocalizedControlType_Property_GUID
,
UIA_LocalizedControlTypePropertyId
,
},
{
&
LocalizedControlType_Property_GUID
,
UIA_LocalizedControlTypePropertyId
,
UIAutomationType_String
,
},
{
&
Annotation_AnnotationTypeId_Property_GUID
,
UIA_AnnotationAnnotationTypeIdPropertyId
,
},
{
&
Annotation_AnnotationTypeId_Property_GUID
,
UIA_AnnotationAnnotationTypeIdPropertyId
,
},
{
&
FlowsFrom_Property_GUID
,
UIA_FlowsFromPropertyId
,
{
&
FlowsFrom_Property_GUID
,
UIA_FlowsFromPropertyId
,
UIAutomationType_ElementArray
,
},
UIAutomationType_ElementArray
,
},
...
@@ -154,24 +162,28 @@ static const struct uia_prop_info default_uia_properties[] = {
...
@@ -154,24 +162,28 @@ static const struct uia_prop_info default_uia_properties[] = {
{
&
SpreadsheetItem_Formula_Property_GUID
,
UIA_SpreadsheetItemFormulaPropertyId
,
},
{
&
SpreadsheetItem_Formula_Property_GUID
,
UIA_SpreadsheetItemFormulaPropertyId
,
},
{
&
IsEnabled_Property_GUID
,
UIA_IsEnabledPropertyId
,
{
&
IsEnabled_Property_GUID
,
UIA_IsEnabledPropertyId
,
UIAutomationType_Bool
,
},
UIAutomationType_Bool
,
},
{
&
LocalizedLandmarkType_Property_GUID
,
UIA_LocalizedLandmarkTypePropertyId
,
},
{
&
LocalizedLandmarkType_Property_GUID
,
UIA_LocalizedLandmarkTypePropertyId
,
UIAutomationType_String
,
},
{
&
IsDataValidForForm_Property_GUID
,
UIA_IsDataValidForFormPropertyId
,
{
&
IsDataValidForForm_Property_GUID
,
UIA_IsDataValidForFormPropertyId
,
UIAutomationType_Bool
,
},
UIAutomationType_Bool
,
},
{
&
IsControlElement_Property_GUID
,
UIA_IsControlElementPropertyId
,
{
&
IsControlElement_Property_GUID
,
UIA_IsControlElementPropertyId
,
UIAutomationType_Bool
,
},
UIAutomationType_Bool
,
},
{
&
HelpText_Property_GUID
,
UIA_HelpTextPropertyId
,
},
{
&
HelpText_Property_GUID
,
UIA_HelpTextPropertyId
,
UIAutomationType_String
,
},
{
&
Table_RowHeaders_Property_GUID
,
UIA_TableRowHeadersPropertyId
,
},
{
&
Table_RowHeaders_Property_GUID
,
UIA_TableRowHeadersPropertyId
,
},
{
&
ControllerFor_Property_GUID
,
UIA_ControllerForPropertyId
,
{
&
ControllerFor_Property_GUID
,
UIA_ControllerForPropertyId
,
UIAutomationType_ElementArray
,
},
UIAutomationType_ElementArray
,
},
{
&
ProviderDescription_Property_GUID
,
UIA_ProviderDescriptionPropertyId
,
},
{
&
ProviderDescription_Property_GUID
,
UIA_ProviderDescriptionPropertyId
,
},
{
&
AriaProperties_Property_GUID
,
UIA_AriaPropertiesPropertyId
,
},
{
&
AriaProperties_Property_GUID
,
UIA_AriaPropertiesPropertyId
,
UIAutomationType_String
,
},
{
&
LiveSetting_Property_GUID
,
UIA_LiveSettingPropertyId
,
{
&
LiveSetting_Property_GUID
,
UIA_LiveSettingPropertyId
,
UIAutomationType_Int
,
},
UIAutomationType_Int
,
},
{
&
Selection2_LastSelectedItem_Property_GUID
,
UIA_Selection2LastSelectedItemPropertyId
,
},
{
&
Selection2_LastSelectedItem_Property_GUID
,
UIA_Selection2LastSelectedItemPropertyId
,
},
{
&
Transform2_CanZoom_Property_GUID
,
UIA_Transform2CanZoomPropertyId
,
},
{
&
Transform2_CanZoom_Property_GUID
,
UIA_Transform2CanZoomPropertyId
,
},
{
&
Window_IsModal_Property_GUID
,
UIA_WindowIsModalPropertyId
,
},
{
&
Window_IsModal_Property_GUID
,
UIA_WindowIsModalPropertyId
,
},
{
&
Annotation_AnnotationTypeName_Property_GUID
,
UIA_AnnotationAnnotationTypeNamePropertyId
,
},
{
&
Annotation_AnnotationTypeName_Property_GUID
,
UIA_AnnotationAnnotationTypeNamePropertyId
,
},
{
&
AriaRole_Property_GUID
,
UIA_AriaRolePropertyId
,
},
{
&
AriaRole_Property_GUID
,
UIA_AriaRolePropertyId
,
UIAutomationType_String
,
},
{
&
Scroll_VerticallyScrollable_Property_GUID
,
UIA_ScrollVerticallyScrollablePropertyId
,
},
{
&
Scroll_VerticallyScrollable_Property_GUID
,
UIA_ScrollVerticallyScrollablePropertyId
,
},
{
&
RangeValue_Value_Property_GUID
,
UIA_RangeValueValuePropertyId
,
},
{
&
RangeValue_Value_Property_GUID
,
UIA_RangeValueValuePropertyId
,
},
{
&
ProcessId_Property_GUID
,
UIA_ProcessIdPropertyId
,
{
&
ProcessId_Property_GUID
,
UIA_ProcessIdPropertyId
,
...
@@ -225,7 +237,8 @@ static const struct uia_prop_info default_uia_properties[] = {
...
@@ -225,7 +237,8 @@ static const struct uia_prop_info default_uia_properties[] = {
{
&
Window_IsTopmost_Property_GUID
,
UIA_WindowIsTopmostPropertyId
,
},
{
&
Window_IsTopmost_Property_GUID
,
UIA_WindowIsTopmostPropertyId
,
},
{
&
IsCustomNavigationPatternAvailable_Property_GUID
,
UIA_IsCustomNavigationPatternAvailablePropertyId
,
},
{
&
IsCustomNavigationPatternAvailable_Property_GUID
,
UIA_IsCustomNavigationPatternAvailablePropertyId
,
},
{
&
Scroll_HorizontalViewSize_Property_GUID
,
UIA_ScrollHorizontalViewSizePropertyId
,
},
{
&
Scroll_HorizontalViewSize_Property_GUID
,
UIA_ScrollHorizontalViewSizePropertyId
,
},
{
&
AcceleratorKey_Property_GUID
,
UIA_AcceleratorKeyPropertyId
,
},
{
&
AcceleratorKey_Property_GUID
,
UIA_AcceleratorKeyPropertyId
,
UIAutomationType_String
,
},
{
&
IsTextChildPatternAvailable_Property_GUID
,
UIA_IsTextChildPatternAvailablePropertyId
,
},
{
&
IsTextChildPatternAvailable_Property_GUID
,
UIA_IsTextChildPatternAvailablePropertyId
,
},
{
&
LegacyIAccessible_Selection_Property_GUID
,
UIA_LegacyIAccessibleSelectionPropertyId
,
},
{
&
LegacyIAccessible_Selection_Property_GUID
,
UIA_LegacyIAccessibleSelectionPropertyId
,
},
{
&
FillType_Property_GUID
,
UIA_FillTypePropertyId
,
{
&
FillType_Property_GUID
,
UIA_FillTypePropertyId
,
...
@@ -243,7 +256,8 @@ static const struct uia_prop_info default_uia_properties[] = {
...
@@ -243,7 +256,8 @@ static const struct uia_prop_info default_uia_properties[] = {
{
&
IsSelectionPattern2Available_Property_GUID
,
UIA_IsSelectionPattern2AvailablePropertyId
,
},
{
&
IsSelectionPattern2Available_Property_GUID
,
UIA_IsSelectionPattern2AvailablePropertyId
,
},
{
&
MultipleView_SupportedViews_Property_GUID
,
UIA_MultipleViewSupportedViewsPropertyId
,
},
{
&
MultipleView_SupportedViews_Property_GUID
,
UIA_MultipleViewSupportedViewsPropertyId
,
},
{
&
Styles_FillPatternColor_Property_GUID
,
UIA_StylesFillPatternColorPropertyId
,
},
{
&
Styles_FillPatternColor_Property_GUID
,
UIA_StylesFillPatternColorPropertyId
,
},
{
&
FullDescription_Property_GUID
,
UIA_FullDescriptionPropertyId
,
},
{
&
FullDescription_Property_GUID
,
UIA_FullDescriptionPropertyId
,
UIAutomationType_String
,
},
};
};
static
const
int
prop_id_idx
[]
=
{
static
const
int
prop_id_idx
[]
=
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment