From: Connor McAdams cmcadams@codeweavers.com
Signed-off-by: Connor McAdams cmcadams@codeweavers.com --- include/uiautomationclient.idl | 730 +++++++++++++++++++++++++++++++-- include/uiautomationcore.idl | 92 +++++ 2 files changed, 782 insertions(+), 40 deletions(-)
diff --git a/include/uiautomationclient.idl b/include/uiautomationclient.idl index ffef7b840fb..4579e4db652 100644 --- a/include/uiautomationclient.idl +++ b/include/uiautomationclient.idl @@ -622,25 +622,298 @@ library UIAutomationClient { [in] int changesCount); }
- interface IUIAutomationNotificationEventHandler; - - interface IUIAutomationInvokePattern; - interface IUIAutomationDockPattern; - interface IUIAutomationExpandCollapsePattern; - interface IUIAutomationGridPattern; - interface IUIAutomationGridItemPattern; - interface IUIAutomationMultipleViewPattern; - interface IUIAutomationObjectModelPattern; - interface IUIAutomationRangeValuePattern; - interface IUIAutomationScrollPattern; - interface IUIAutomationScrollItemPattern; - interface IUIAutomationSelectionPattern; - interface IUIAutomationSelectionItemPattern; - interface IUIAutomationSynchronizedInputPattern; - interface IUIAutomationTablePattern; - interface IUIAutomationTableItemPattern; - interface IUIAutomationTogglePattern; - interface IUIAutomationTransformPattern; + [ + object, + uuid(c7cb2637-e6c2-4d0c-85de-4948c02175c7), + pointer_default(unique), + oleautomation + ] + interface IUIAutomationNotificationEventHandler : IUnknown + { + HRESULT HandleNotificationEvent( + [in] IUIAutomationElement *sender, + enum NotificationKind notificationKind, + enum NotificationProcessing notificationProcessing, + [in] BSTR displayString, + [in] BSTR activityId); + } + + [ + object, + uuid(fb377fbe-8ea6-46d5-9c73-6499642d3059), + pointer_default(unique) + ] + interface IUIAutomationInvokePattern : IUnknown + { + HRESULT Invoke(); + } + + [ + object, + uuid(fde5ef97-1464-48f6-90bf-43d0948e86ec), + pointer_default(unique) + ] + interface IUIAutomationDockPattern : IUnknown + { + HRESULT SetDockPosition([in] enum DockPosition dockPos); + [propget] HRESULT CurrentDockPosition([out, retval] enum DockPosition *retVal); + [propget] HRESULT CachedDockPosition([out, retval] enum DockPosition *retVal); + } + + [ + object, + uuid(619be086-1f4e-4ee4-bafa-210128738730), + pointer_default(unique) + ] + interface IUIAutomationExpandCollapsePattern : IUnknown + { + HRESULT Expand(); + HRESULT Collapse(); + [propget] HRESULT CurrentExpandCollapseState([out, retval] enum ExpandCollapseState *retVal); + [propget] HRESULT CachedExpandCollapseState([out, retval] enum ExpandCollapseState *retVal); + } + + [ + object, + uuid(414c3cdc-856b-4f5b-8538-3131c6302550), + pointer_default(unique) + ] + interface IUIAutomationGridPattern : IUnknown + { + HRESULT GetItem( + [in] int row, + [in] int column, + [out, retval] IUIAutomationElement **element); + + [propget] HRESULT CurrentRowCount([out, retval] int *retVal); + [propget] HRESULT CurrentColumnCount([out, retval] int *retVal); + [propget] HRESULT CachedRowCount([out, retval] int *retVal); + [propget] HRESULT CachedColumnCount([out, retval] int *retVal); + } + + [ + object, + uuid(78f8ef57-66c3-4e09-bd7c-e79b2004894d), + pointer_default(unique) + ] + interface IUIAutomationGridItemPattern : IUnknown + { + [propget] HRESULT CurrentContainingGrid([out, retval] IUIAutomationElement **retVal); + [propget] HRESULT CurrentRow([out, retval] int *retVal); + [propget] HRESULT CurrentColumn([out, retval] int *retVal); + [propget] HRESULT CurrentRowSpan([out, retval] int *retVal); + [propget] HRESULT CurrentColumnSpan([out, retval] int *retVal); + [propget] HRESULT CachedContainingGrid([out, retval] IUIAutomationElement **retVal); + [propget] HRESULT CachedRow([out, retval] int *retVal); + [propget] HRESULT CachedColumn([out, retval] int *retVal); + [propget] HRESULT CachedRowSpan([out, retval] int *retVal); + [propget] HRESULT CachedColumnSpan([out, retval] int *retVal); + } + + [ + object, + uuid(8d253c91-1dc5-4bb5-b18f-ade16fa495e8), + pointer_default(unique) + ] + interface IUIAutomationMultipleViewPattern : IUnknown + { + HRESULT GetViewName( + [in] int view, + [out, retval] BSTR *name); + + HRESULT SetCurrentView([in] int view); + + [propget] HRESULT CurrentCurrentView([out, retval] int *retVal); + HRESULT GetCurrentSupportedViews([out, retval] SAFEARRAY(int) *retVal); + + [propget] HRESULT CachedCurrentView([out, retval] int *retVal); + HRESULT GetCachedSupportedViews([out, retval] SAFEARRAY(int) *retVal); + } + + [ + object, + uuid(71c284b3-c14d-4d14-981e-19751b0d756d), + pointer_default(unique) + ] + interface IUIAutomationObjectModelPattern : IUnknown + { + HRESULT GetUnderlyingObjectModel([out, retval] IUnknown **retVal); + } + + [ + object, + uuid(59213f4f-7346-49e5-b120-80555987a148), + pointer_default(unique) + ] + interface IUIAutomationRangeValuePattern : IUnknown + { + HRESULT SetValue([in] double val); + + [propget] HRESULT CurrentValue([out, retval] double *retVal); + [propget] HRESULT CurrentIsReadOnly([out, retval] BOOL *retVal); + [propget] HRESULT CurrentMaximum([out, retval] double *retVal); + [propget] HRESULT CurrentMinimum([out, retval] double *retVal); + [propget] HRESULT CurrentLargeChange([out, retval] double *retVal); + [propget] HRESULT CurrentSmallChange([out, retval] double *retVal); + + [propget] HRESULT CachedValue([out, retval] double *retVal); + [propget] HRESULT CachedIsReadOnly([out, retval] BOOL *retVal); + [propget] HRESULT CachedMaximum([out, retval] double *retVal); + [propget] HRESULT CachedMinimum([out, retval] double *retVal); + [propget] HRESULT CachedLargeChange([out, retval] double *retVal); + [propget] HRESULT CachedSmallChange([out, retval] double *retVal); + } + + [ + object, + uuid(88f4d42a-e881-459d-a77c-73bbbb7e02dc), + pointer_default(unique) + ] + interface IUIAutomationScrollPattern : IUnknown + { + HRESULT Scroll( + [in] enum ScrollAmount horizontalAmount, + [in] enum ScrollAmount verticalAmount); + HRESULT SetScrollPercent( + [in] double horizontalPercent, + [in] double verticalPercent); + + [propget] HRESULT CurrentHorizontalScrollPercent([out, retval] double *retVal); + [propget] HRESULT CurrentVerticalScrollPercent([out, retval] double *retVal); + [propget] HRESULT CurrentHorizontalViewSize([out, retval] double *retVal); + [propget] HRESULT CurrentVerticalViewSize([out, retval] double *retVal); + [propget] HRESULT CurrentHorizontallyScrollable([out, retval] BOOL *retVal); + [propget] HRESULT CurrentVerticallyScrollable([out, retval] BOOL *retVal); + + [propget] HRESULT CachedHorizontalScrollPercent([out, retval] double *retVal); + [propget] HRESULT CachedVerticalScrollPercent([out, retval] double *retVal); + [propget] HRESULT CachedHorizontalViewSize([out, retval] double *retVal); + [propget] HRESULT CachedVerticalViewSize([out, retval] double *retVal); + [propget] HRESULT CachedHorizontallyScrollable([out, retval] BOOL *retVal); + [propget] HRESULT CachedVerticallyScrollable([out, retval] BOOL *retVal); + } + + [ + object, + uuid(b488300f-d015-4f19-9c29-bb595e3645ef), + pointer_default(unique) + ] + interface IUIAutomationScrollItemPattern : IUnknown + { + HRESULT ScrollIntoView(); + } + + [ + object, + uuid(5ed5202e-b2ac-47a6-b638-4b0bf140d78e), + pointer_default(unique) + ] + interface IUIAutomationSelectionPattern : IUnknown + { + HRESULT GetCurrentSelection([out, retval] IUIAutomationElementArray **retVal); + [propget] HRESULT CurrentCanSelectMultiple([out, retval] BOOL *retVal); + [propget] HRESULT CurrentIsSelectionRequired([out, retval] BOOL *retVal); + + HRESULT GetCachedSelection([out, retval] IUIAutomationElementArray **retVal); + [propget] HRESULT CachedCanSelectMultiple([out, retval] BOOL *retVal); + [propget] HRESULT CachedIsSelectionRequired([out, retval] BOOL *retVal); + } + + [ + object, + uuid(a8efa66a-0fda-421a-9194-38021f3578ea), + pointer_default(unique) + ] + interface IUIAutomationSelectionItemPattern : IUnknown + { + HRESULT Select(); + HRESULT AddToSelection(); + HRESULT RemoveFromSelection(); + + [propget] HRESULT CurrentIsSelected([out, retval] BOOL *retVal); + [propget] HRESULT CurrentSelectionContainer([out, retval] IUIAutomationElement **retVal); + + [propget] HRESULT CachedIsSelected([out, retval] BOOL *retVal); + [propget] HRESULT CachedSelectionContainer([out, retval] IUIAutomationElement **retVal); + } + + [ + object, + uuid(2233be0b-afb7-448b-9fda-3b378aa5eae1), + pointer_default(unique) + ] + interface IUIAutomationSynchronizedInputPattern : IUnknown + { + HRESULT StartListening([in] enum SynchronizedInputType inputType); + HRESULT Cancel(); + } + + [ + object, + uuid(620e691c-ea96-4710-a850-754b24ce2417), + pointer_default(unique) + ] + interface IUIAutomationTablePattern : IUnknown + { + HRESULT GetCurrentRowHeaders([out, retval] IUIAutomationElementArray **retVal); + HRESULT GetCurrentColumnHeaders([out, retval] IUIAutomationElementArray **retVal); + [propget] HRESULT CurrentRowOrColumnMajor([out, retval] enum RowOrColumnMajor *retVal); + + HRESULT GetCachedRowHeaders([out, retval] IUIAutomationElementArray **retVal); + HRESULT GetCachedColumnHeaders([out, retval] IUIAutomationElementArray **retVal); + [propget] HRESULT CachedRowOrColumnMajor([out, retval] enum RowOrColumnMajor *retVal); + } + + [ + object, + uuid(0b964eb3-ef2e-4464-9c79-61d61737a27e), + pointer_default(unique) + ] + interface IUIAutomationTableItemPattern : IUnknown + { + HRESULT GetCurrentRowHeaderItems([out, retval] IUIAutomationElementArray **retVal); + HRESULT GetCurrentColumnHeaderItems([out, retval] IUIAutomationElementArray **retVal); + + HRESULT GetCachedRowHeaderItems([out, retval] IUIAutomationElementArray **retVal); + HRESULT GetCachedColumnHeaderItems([out, retval] IUIAutomationElementArray **retVal); + } + + [ + object, + uuid(94cf8058-9b8d-4ab9-8bfd-4cd0a33c8c70), + pointer_default(unique) + ] + interface IUIAutomationTogglePattern : IUnknown + { + HRESULT Toggle(); + + [propget] HRESULT CurrentToggleState([out, retval] enum ToggleState *retVal); + [propget] HRESULT CachedToggleState([out, retval] enum ToggleState *retVal); + } + + [ + object, + uuid(a9b55844-a55d-4ef0-926d-569c16ff89bb), + pointer_default(unique) + ] + interface IUIAutomationTransformPattern : IUnknown + { + HRESULT Move( + [in] double x, + [in] double y); + HRESULT Resize( + [in] double width, + [in] double height); + HRESULT Rotate([in] double degrees); + + [propget] HRESULT CurrentCanMove([out, retval] BOOL *retVal); + [propget] HRESULT CurrentCanResize([out, retval] BOOL *retVal); + [propget] HRESULT CurrentCanRotate([out, retval] BOOL *retVal); + + [propget] HRESULT CachedCanMove([out, retval] BOOL *retVal); + [propget] HRESULT CachedCanResize([out, retval] BOOL *retVal); + [propget] HRESULT CachedCanRotate([out, retval] BOOL *retVal); + }
[ object, @@ -685,14 +958,162 @@ library UIAutomationClient { [propget] HRESULT CachedWindowInteractionState([out, retval] enum WindowInteractionState *retVal); }
- interface IUIAutomationTextRange; - interface IUIAutomationTextRange2; - interface IUIAutomationTextRangeArray; - interface IUIAutomationTextPattern; - interface IUIAutomationTextPattern2; - interface IUIAutomationTextEditPattern; - interface IUIAutomationCustomNavigationPattern; - interface IUIAutomationActiveTextPositionChangedEventHandler; + [ + object, + uuid(a543cc6a-f4ae-494b-8239-c814481187a8), + pointer_default(unique) + ] + interface IUIAutomationTextRange : IUnknown + { + HRESULT Clone([out, retval] IUIAutomationTextRange **clonedRange); + HRESULT Compare( + [in] IUIAutomationTextRange *range, + [out, retval] BOOL *areSame); + HRESULT CompareEndpoints( + [in] enum TextPatternRangeEndpoint srcEndPoint, + [in] IUIAutomationTextRange *range, + [in] enum TextPatternRangeEndpoint targetEndPoint, + [out, retval] int *compValue); + + HRESULT ExpandToEnclosingUnit([in] enum TextUnit textUnit); + + HRESULT FindAttribute( + [in] TEXTATTRIBUTEID attr, + [in] VARIANT val, + [in] BOOL backward, + [out, retval] IUIAutomationTextRange **found); + HRESULT FindText( + [in] BSTR text, + [in] BOOL backward, + [in] BOOL ignoreCase, + [out, retval] IUIAutomationTextRange **found); + + HRESULT GetAttributeValue( + [in] TEXTATTRIBUTEID attr, + [out, retval] VARIANT *value); + HRESULT GetBoundingRectangles([out, retval] SAFEARRAY(double) *boundingRects); + HRESULT GetEnclosingElement([out, retval] IUIAutomationElement **enclosingElement); + HRESULT GetText( + [in] int maxLength, + [out, retval] BSTR *text); + + HRESULT Move( + [in] enum TextUnit unit, + [in] int count, + [out, retval] int *moved); + HRESULT MoveEndpointByUnit( + [in] enum TextPatternRangeEndpoint endpoint, + [in] enum TextUnit unit, + [in] int count, + [out, retval] int *moved); + HRESULT MoveEndpointByRange( + [in] enum TextPatternRangeEndpoint srcEndPoint, + [in] IUIAutomationTextRange *range, + [in] enum TextPatternRangeEndpoint targetEndPoint); + + HRESULT Select(); + HRESULT AddToSelection(); + HRESULT RemoveFromSelection( ); + HRESULT ScrollIntoView([in] BOOL alignToTop); + + HRESULT GetChildren([out, retval] IUIAutomationElementArray **children); + } + + [ + object, + uuid(bb9b40e0-5e04-46bd-9be0-4b601b9afad4), + pointer_default(unique) + ] + interface IUIAutomationTextRange2 : IUIAutomationTextRange + { + HRESULT ShowContextMenu(); + } + + [ + object, + uuid(ce4ae76a-e717-4c98-81ea-47371d028eb6), + pointer_default(unique) + ] + interface IUIAutomationTextRangeArray : IUnknown + { + [propget] HRESULT Length([out, retval] int *length); + HRESULT GetElement( + [in] int index, + [out, retval] IUIAutomationTextRange **element); + } + + [ + object, + uuid(32eba289-3583-42c9-9c59-3b6d9a1e9b6a), + pointer_default(unique) + ] + interface IUIAutomationTextPattern : IUnknown + { + HRESULT RangeFromPoint( + [in] POINT pt, + [out, retval] IUIAutomationTextRange **range); + HRESULT RangeFromChild( + [in] IUIAutomationElement *child, + [out, retval] IUIAutomationTextRange **range); + + HRESULT GetSelection([out, retval] IUIAutomationTextRangeArray **ranges); + HRESULT GetVisibleRanges([out, retval] IUIAutomationTextRangeArray **ranges); + [propget] HRESULT DocumentRange([out, retval] IUIAutomationTextRange **range); + [propget] HRESULT SupportedTextSelection([out, retval] enum SupportedTextSelection *supportedTextSelection); + + } + + [ + object, + uuid(506a921a-fcc9-409f-b23b-37eb74106872), + pointer_default(unique) + ] + interface IUIAutomationTextPattern2 : IUIAutomationTextPattern + { + HRESULT RangeFromAnnotation( + [in] IUIAutomationElement *annotation, + [out, retval] IUIAutomationTextRange **range); + + HRESULT GetCaretRange( + [out] BOOL *isActive, + [out, retval] IUIAutomationTextRange **range); + } + + [ + object, + uuid(17e21576-996c-4870-99d9-bff323380c06), + pointer_default(unique) + ] + interface IUIAutomationTextEditPattern : IUIAutomationTextPattern + { + HRESULT GetActiveComposition([out, retval] IUIAutomationTextRange **range); + HRESULT GetConversionTarget([out, retval] IUIAutomationTextRange **range); + } + + [ + object, + uuid(01ea217a-1766-47ed-a6cc-acf492854b1f), + pointer_default(unique) + ] + interface IUIAutomationCustomNavigationPattern : IUnknown + { + HRESULT Navigate( + [in] enum NavigateDirection direction, + [out, retval] IUIAutomationElement **pRetVal); + } + + [ + object, + uuid(f97933b0-8dae-4496-8997-5ba015fe0d82), + pointer_default(unique), + oleautomation + ] + interface IUIAutomationActiveTextPositionChangedEventHandler : IUnknown + { + HRESULT HandleActiveTextPositionChangedEvent( + [in] IUIAutomationElement *sender, + [in] IUIAutomationTextRange *range); + }
[ object, @@ -730,16 +1151,175 @@ library UIAutomationClient { HRESULT GetIAccessible([out, retval] IAccessible **ppAccessible); };
- interface IUIAutomationItemContainerPattern; - interface IUIAutomationVirtualizedItemPattern; - interface IUIAutomationAnnotationPattern; - interface IUIAutomationStylesPattern; - interface IUIAutomationSpreadsheetPattern; - interface IUIAutomationSpreadsheetItemPattern; - interface IUIAutomationTransformPattern2; - interface IUIAutomationTextChildPattern; - interface IUIAutomationDragPattern; - interface IUIAutomationDropTargetPattern; + [ + object, + uuid(c690fdb2-27a8-423c-812d-429773c9084e), + pointer_default(unique) + ] + interface IUIAutomationItemContainerPattern : IUnknown + { + HRESULT FindItemByProperty( + [in] IUIAutomationElement *pStartAfter, + [in] PROPERTYID propertyId, + [in] VARIANT value, + [out, retval] IUIAutomationElement **pFound); + }; + + [ + object, + uuid(6ba3d7a6-04cf-4f11-8793-a8d1cde9969f), + pointer_default(unique) + ] + interface IUIAutomationVirtualizedItemPattern : IUnknown + { + HRESULT Realize(); + }; + + [ + object, + uuid(9a175b21-339e-41b1-8e8b-623f6b681098), + pointer_default(unique) + ] + interface IUIAutomationAnnotationPattern : IUnknown + { + [propget] HRESULT CurrentAnnotationTypeId([out, retval] int *retVal); + [propget] HRESULT CurrentAnnotationTypeName([out, retval] BSTR *retVal); + [propget] HRESULT CurrentAuthor( [out, retval] BSTR *retVal); + [propget] HRESULT CurrentDateTime( [out, retval] BSTR *retVal); + [propget] HRESULT CurrentTarget( [out, retval] IUIAutomationElement **retVal); + + [propget] HRESULT CachedAnnotationTypeId([out, retval] int *retVal); + [propget] HRESULT CachedAnnotationTypeName([out, retval] BSTR *retVal); + [propget] HRESULT CachedAuthor( [out, retval] BSTR *retVal); + [propget] HRESULT CachedDateTime( [out, retval] BSTR *retVal); + [propget] HRESULT CachedTarget( [out, retval] IUIAutomationElement **retVal); + }; + + [ + object, + uuid(85b5f0a2-bd79-484a-ad2b-388c9838d5fb), + pointer_default(unique) + ] + interface IUIAutomationStylesPattern : IUnknown + { + [propget] HRESULT CurrentStyleId([out, retval] int *retVal); + [propget] HRESULT CurrentStyleName([out, retval] BSTR *retVal); + [propget] HRESULT CurrentFillColor([out, retval] int *retVal); + [propget] HRESULT CurrentFillPatternStyle([out, retval] BSTR *retVal); + [propget] HRESULT CurrentShape([out, retval] BSTR *retVal); + [propget] HRESULT CurrentFillPatternColor([out, retval] int *retVal); + [propget] HRESULT CurrentExtendedProperties([out, retval] BSTR *retVal); + HRESULT GetCurrentExtendedPropertiesAsArray( + [out, size_is( ,*propertyCount)] struct ExtendedProperty **propertyArray, + [out] int *propertyCount); + + [propget] HRESULT CachedStyleId([out, retval] int *retVal); + [propget] HRESULT CachedStyleName([out, retval] BSTR *retVal); + [propget] HRESULT CachedFillColor([out, retval] int *retVal); + [propget] HRESULT CachedFillPatternStyle([out, retval] BSTR *retVal); + [propget] HRESULT CachedShape([out, retval] BSTR *retVal); + [propget] HRESULT CachedFillPatternColor([out, retval] int *retVal); + [propget] HRESULT CachedExtendedProperties([out, retval] BSTR *retVal); + HRESULT GetCachedExtendedPropertiesAsArray( + [out, size_is( ,*propertyCount)] struct ExtendedProperty **propertyArray, + [out] int *propertyCount); + }; + + [ + object, + uuid(7517a7c8-faae-4de9-9f08-29b91e8595c1), + pointer_default(unique) + ] + interface IUIAutomationSpreadsheetPattern : IUnknown + { + HRESULT GetItemByName( + [in] BSTR name, + [out, retval] IUIAutomationElement **element); + }; + + [ + object, + uuid(7d4fb86c-8d34-40e1-8e83-62c15204e335), + pointer_default(unique) + ] + interface IUIAutomationSpreadsheetItemPattern : IUnknown + { + [propget] HRESULT CurrentFormula([out, retval] BSTR *retVal); + HRESULT GetCurrentAnnotationObjects([out, retval] IUIAutomationElementArray **retVal); + HRESULT GetCurrentAnnotationTypes([out, retval] SAFEARRAY(int) *retVal); + + [propget] HRESULT CachedFormula([out, retval] BSTR *retVal); + HRESULT GetCachedAnnotationObjects([out, retval] IUIAutomationElementArray **retVal); + HRESULT GetCachedAnnotationTypes([out, retval] SAFEARRAY(int) *retVal); + }; + + [ + object, + uuid(6d74d017-6ecb-4381-b38b-3c17a48ff1c2), + pointer_default(unique) + ] + interface IUIAutomationTransformPattern2 : IUIAutomationTransformPattern + { + HRESULT Zoom([in] double zoomValue); + HRESULT ZoomByUnit([in] enum ZoomUnit zoomUnit); + + [propget] HRESULT CurrentCanZoom([out, retval] BOOL *retVal); + [propget] HRESULT CachedCanZoom([out, retval] BOOL *retVal); + + [propget] HRESULT CurrentZoomLevel([out, retval] double *retVal); + [propget] HRESULT CachedZoomLevel([out, retval] double *retVal); + + [propget] HRESULT CurrentZoomMinimum([out, retval] double *retVal); + [propget] HRESULT CachedZoomMinimum([out, retval] double *retVal); + + [propget] HRESULT CurrentZoomMaximum([out, retval] double *retVal); + [propget] HRESULT CachedZoomMaximum([out, retval] double *retVal); + } + + [ + object, + uuid(6552b038-ae05-40c8-abfd-aa08352aab86), + pointer_default(unique) + ] + interface IUIAutomationTextChildPattern : IUnknown + { + [propget] HRESULT TextContainer([out, retval] IUIAutomationElement **container); + [propget] HRESULT TextRange([out, retval] IUIAutomationTextRange **range); + } + + [ + object, + uuid(1dc7b570-1f54-4bad-bcda-d36a722fb7bd), + pointer_default(unique) + ] + interface IUIAutomationDragPattern : IUnknown + { + [propget] HRESULT CurrentIsGrabbed([out, retval] BOOL *retVal); + [propget] HRESULT CachedIsGrabbed([out, retval] BOOL *retVal); + + [propget] HRESULT CurrentDropEffect([out, retval] BSTR *retVal); + [propget] HRESULT CachedDropEffect([out, retval] BSTR *retVal); + + [propget] HRESULT CurrentDropEffects([out, retval] SAFEARRAY(BSTR) *retVal); + [propget] HRESULT CachedDropEffects([out, retval] SAFEARRAY(BSTR) *retVal); + + HRESULT GetCurrentGrabbedItems([out, retval] IUIAutomationElementArray **retVal); + HRESULT GetCachedGrabbedItems([out, retval] IUIAutomationElementArray **retVal); + } + + [ + object, + uuid(69a095f7-eee4-430e-a46b-fb73b1ae39a5), + pointer_default(unique) + ] + interface IUIAutomationDropTargetPattern : IUnknown + { + [propget] HRESULT CurrentDropTargetEffect([out, retval] BSTR *retVal); + [propget] HRESULT CachedDropTargetEffect([out, retval] BSTR *retVal); + + [propget] HRESULT CurrentDropTargetEffects([out, retval] SAFEARRAY(BSTR) *retVal); + [propget] HRESULT CachedDropTargetEffects([out, retval] SAFEARRAY(BSTR) *retVal); + }
[ object, @@ -1033,9 +1613,79 @@ library UIAutomationClient { [out, retval] IUIAutomationElement **element); }
- interface IUIAutomationProxyFactory; - interface IUIAutomationProxyFactoryEntry; - interface IUIAutomationProxyFactoryMapping; + [ + object, + uuid(85b94ecd-849d-42b6-b94d-d6db23fdf5a4), + pointer_default(unique) + ] + interface IUIAutomationProxyFactory : IUnknown + { + HRESULT CreateProvider( + [in] UIA_HWND hwnd, + [in] LONG idObject, + [in] LONG idChild, + [out, retval] IRawElementProviderSimple **provider); + + [propget] HRESULT ProxyFactoryId([out, retval] BSTR *factoryId); + } + + [ + object, + uuid(d50e472e-b64b-490c-bca1-d30696f9f289), + pointer_default(unique) + ] + interface IUIAutomationProxyFactoryEntry : IUnknown + { + [propget] HRESULT ProxyFactory([out, retval] IUIAutomationProxyFactory **factory); + + [propget] HRESULT ClassName([out, retval] BSTR *className); + [propget] HRESULT ImageName([out, retval] BSTR *imageName); + [propget] HRESULT AllowSubstringMatch([out, retval] BOOL *allowSubstringMatch); + [propget] HRESULT CanCheckBaseClass([out, retval] BOOL *canCheckBaseClass); + [propget] HRESULT NeedsAdviseEvents([out, retval] BOOL *adviseEvents); + + [propput] HRESULT ClassName([in] LPCWSTR className); + [propput] HRESULT ImageName([in] LPCWSTR imageName); + [propput] HRESULT AllowSubstringMatch([in] BOOL allowSubstringMatch); + [propput] HRESULT CanCheckBaseClass([in] BOOL canCheckBaseClass); + [propput] HRESULT NeedsAdviseEvents([in] BOOL adviseEvents); + + HRESULT SetWinEventsForAutomationEvent( + [in] EVENTID eventId, + [in] PROPERTYID propertyId, + [in] SAFEARRAY(UINT) winEvents); + HRESULT GetWinEventsForAutomationEvent( + [in] EVENTID eventId, + [in] PROPERTYID propertyId, + [out, retval] SAFEARRAY(UINT) *winEvents); + } + + [ + object, + uuid(09e31e18-872d-4873-93d1-1e541ec133fd), + pointer_default(unique) + ] + interface IUIAutomationProxyFactoryMapping : IUnknown + { + [propget] HRESULT Count([out, retval] UINT *count); + + HRESULT GetTable([out, retval] SAFEARRAY(IUIAutomationProxyFactoryEntry) *table); + HRESULT GetEntry( + [in] UINT index, + [out, retval] IUIAutomationProxyFactoryEntry **entry); + + HRESULT SetTable([in] SAFEARRAY(IUIAutomationProxyFactoryEntry) factoryList); + HRESULT InsertEntries( + [in] UINT before, + [in] SAFEARRAY(IUIAutomationProxyFactoryEntry) factoryList); + HRESULT InsertEntry( + [in] UINT before, + [in] IUIAutomationProxyFactoryEntry *factory); + + HRESULT RemoveEntry([in] UINT index); + HRESULT ClearTable(); + HRESULT RestoreDefaultTable(); + }
[ object, diff --git a/include/uiautomationcore.idl b/include/uiautomationcore.idl index 98894407441..715d9cf4b9e 100644 --- a/include/uiautomationcore.idl +++ b/include/uiautomationcore.idl @@ -63,12 +63,59 @@ enum OrientationType { OrientationType_Vertical = 0x0002, };
+enum DockPosition { + DockPosition_Top = 0x0000, + DockPosition_Left = 0x0001, + DockPosition_Bottom = 0x0002, + DockPosition_Right = 0x0003, + DockPosition_Fill = 0x0004, + DockPosition_None = 0x0005, +}; + +enum ExpandCollapseState { + ExpandCollapseState_Collapsed = 0x0000, + ExpandCollapseState_Expanded = 0x0001, + ExpandCollapseState_PartiallyExpanded = 0x0002, + ExpandCollapseState_LeafNode = 0x0003, +}; + +enum ScrollAmount { + ScrollAmount_LargeDecrement = 0x0000, + ScrollAmount_SmallDecrement = 0x0001, + ScrollAmount_NoAmount = 0x0002, + ScrollAmount_LargeIncrement = 0x0003, + ScrollAmount_SmallIncrement = 0x0004, +}; + +enum RowOrColumnMajor { + RowOrColumnMajor_RowMajor = 0x0000, + RowOrColumnMajor_ColumnMajor = 0x0001, + RowOrColumnMajor_Indeterminate = 0x0002, +}; + +enum ToggleState { + ToggleState_Off = 0x0000, + ToggleState_On = 0x0001, + ToggleState_Indeterminate = 0x0002, +}; + enum WindowVisualState { WindowVisualState_Normal = 0x0000, WindowVisualState_Maximized = 0x0001, WindowVisualState_Minimized = 0x0002, };
+enum SynchronizedInputType { + SynchronizedInputType_KeyUp = 0x0001, + SynchronizedInputType_KeyDown = 0x0002, + SynchronizedInputType_LeftMouseUp = 0x0004, + SynchronizedInputType_LeftMouseDown = 0x0008, + SynchronizedInputType_RightMouseUp = 0x0010, + SynchronizedInputType_RightMouseDown = 0x0020, +}; + +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(SynchronizedInputType)") + enum WindowInteractionState { WindowInteractionState_Running = 0x0000, WindowInteractionState_Closing = 0x0001, @@ -77,12 +124,57 @@ enum WindowInteractionState { WindowInteractionState_NotResponding = 0x0004, };
+enum TextUnit { + TextUnit_Character = 0x0000, + TextUnit_Format = 0x0001, + TextUnit_Word = 0x0002, + TextUnit_Line = 0x0003, + TextUnit_Paragraph = 0x0004, + TextUnit_Page = 0x0005, + TextUnit_Document = 0x0006, +}; + +enum TextPatternRangeEndpoint { + TextPatternRangeEndpoint_Start = 0x0000, + TextPatternRangeEndpoint_End = 0x0001, +}; + +enum SupportedTextSelection { + SupportedTextSelection_None = 0x0000, + SupportedTextSelection_Single = 0x0001, + SupportedTextSelection_Multiple = 0x0002, +}; + enum LiveSetting { Off = 0x0000, Polite = 0x0001, Assertive = 0x0002, };
+enum ZoomUnit { + ZoomUnit_NoAmount = 0x0000, + ZoomUnit_LargeDecrement = 0x0001, + ZoomUnit_SmallDecrement = 0x0002, + ZoomUnit_LargeIncrement = 0x0003, + ZoomUnit_SmallIncrement = 0x0004, +}; + +enum NotificationProcessing { + NotificationProcessing_ImportantAll = 0x0000, + NotificationProcessing_ImportantMostRecent = 0x0001, + NotificationProcessing_All = 0x0002, + NotificationProcessing_MostRecent = 0x0003, + NotificationProcessing_CurrentThenMostRecent = 0x0004, +}; + +enum NotificationKind { + NotificationKind_ItemAdded = 0x0000, + NotificationKind_ItemRemoved = 0x0001, + NotificationKind_ActionCompleted = 0x0002, + NotificationKind_ActionAborted = 0x0003, + NotificationKind_Other = 0x0004, +}; + typedef int PROPERTYID; typedef int PATTERNID; typedef int EVENTID;