/*
 * Copyright 2012 Jacek Caban for CodeWeavers
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#define DO_NO_IMPORTS
import "uiautomationcore.idl";

[
    uuid(944de083-8fb8-45cf-bcb7-c477acb2f897),
    lcid(0),
    version(1.0)
]
library UIAutomationClient {
    importlib ("stdole2.tlb");

    /* FIXME: Uncomment when properly supported in widl
    [dllname("<no entry points>")]
    module UIA_PatternIds
    {
    */
        const long UIA_InvokePatternId         = 10000;
        const long UIA_SelectionPatternId      = 10001;
        const long UIA_ValuePatternId          = 10002;
        const long UIA_RangeValuePatternId     = 10003;
        const long UIA_ScrollPatternId         = 10004;
        const long UIA_ExpandCollapsePatternId = 10005;
        const long UIA_GridPatternId           = 10006;
        const long UIA_GridItemPatternId       = 10007;
        const long UIA_MultipleViewPatternId   = 10008;
        const long UIA_WindowPatternId         = 10009;
        const long UIA_SelectionItemPatternId  = 10010;
        const long UIA_DockPatternId           = 10011;
        const long UIA_TablePatternId          = 10012;
        const long UIA_TableItemPatternId      = 10013;
        const long UIA_TextPatternId           = 10014;
        const long UIA_TogglePatternId         = 10015;
        const long UIA_TransformPatternId      = 10016;
        const long UIA_ScrollItemPatternId     = 10017;
        const long UIA_LegacyIAccessiblePatternId = 10018;
        const long UIA_ItemContainerPatternId     = 10019;
        const long UIA_VirtualizedItemPatternId   = 10020;
        const long UIA_SynchronizedInputPatternId = 10021;
        const long UIA_ObjectModelPatternId = 10022;
        const long UIA_AnnotationPatternId  = 10023;
        const long UIA_TextPattern2Id       = 10024;
        const long UIA_StylesPatternId      = 10025;
        const long UIA_SpreadsheetPatternId = 10026;
        const long UIA_SpreadsheetItemPatternId  = 10027;
        const long UIA_TransformPattern2Id       = 10028;
        const long UIA_TextChildPatternId        = 10029;
        const long UIA_DragPatternId             = 10030;
        const long UIA_DropTargetPatternId       = 10031;
        const long UIA_TextEditPatternId         = 10032;
        const long UIA_CustomNavigationPatternId = 10033;
    /*
    }
    */

    /* FIXME: Uncomment when properly supported in widl
    [dllname("<no entry points>")]
    module UIA_PropertyIds
    {
    */
        const long UIA_RuntimeIdPropertyId              = 30000;
        const long UIA_BoundingRectanglePropertyId      = 30001;
        const long UIA_ProcessIdPropertyId              = 30002;
        const long UIA_ControlTypePropertyId            = 30003;
        const long UIA_LocalizedControlTypePropertyId   = 30004;
        const long UIA_NamePropertyId                   = 30005;
        const long UIA_AcceleratorKeyPropertyId         = 30006;
        const long UIA_AccessKeyPropertyId              = 30007;
        const long UIA_HasKeyboardFocusPropertyId       = 30008;
        const long UIA_IsKeyboardFocusablePropertyId    = 30009;
        const long UIA_IsEnabledPropertyId              = 30010;
        const long UIA_AutomationIdPropertyId           = 30011;
        const long UIA_ClassNamePropertyId              = 30012;
        const long UIA_HelpTextPropertyId               = 30013;
        const long UIA_ClickablePointPropertyId         = 30014;
        const long UIA_CulturePropertyId                = 30015;
        const long UIA_IsControlElementPropertyId       = 30016;
        const long UIA_IsContentElementPropertyId       = 30017;
        const long UIA_LabeledByPropertyId              = 30018;
        const long UIA_IsPasswordPropertyId             = 30019;
        const long UIA_NativeWindowHandlePropertyId     = 30020;
        const long UIA_ItemTypePropertyId               = 30021;
        const long UIA_IsOffscreenPropertyId            = 30022;
        const long UIA_OrientationPropertyId            = 30023;
        const long UIA_FrameworkIdPropertyId            = 30024;
        const long UIA_IsRequiredForFormPropertyId      = 30025;
        const long UIA_ItemStatusPropertyId             = 30026;
        const long UIA_IsDockPatternAvailablePropertyId = 30027;
        const long UIA_IsExpandCollapsePatternAvailablePropertyId = 30028;
        const long UIA_IsGridItemPatternAvailablePropertyId       = 30029;
        const long UIA_IsGridPatternAvailablePropertyId           = 30030;
        const long UIA_IsInvokePatternAvailablePropertyId         = 30031;
        const long UIA_IsMultipleViewPatternAvailablePropertyId   = 30032;
        const long UIA_IsRangeValuePatternAvailablePropertyId     = 30033;
        const long UIA_IsScrollPatternAvailablePropertyId         = 30034;
        const long UIA_IsScrollItemPatternAvailablePropertyId     = 30035;
        const long UIA_IsSelectionItemPatternAvailablePropertyId  = 30036;
        const long UIA_IsSelectionPatternAvailablePropertyId      = 30037;
        const long UIA_IsTablePatternAvailablePropertyId          = 30038;
        const long UIA_IsTableItemPatternAvailablePropertyId      = 30039;
        const long UIA_IsTextPatternAvailablePropertyId           = 30040;
        const long UIA_IsTogglePatternAvailablePropertyId         = 30041;
        const long UIA_IsTransformPatternAvailablePropertyId      = 30042;
        const long UIA_IsValuePatternAvailablePropertyId          = 30043;
        const long UIA_IsWindowPatternAvailablePropertyId         = 30044;
        const long UIA_ValueValuePropertyId             = 30045;
        const long UIA_ValueIsReadOnlyPropertyId        = 30046;
        const long UIA_RangeValueValuePropertyId        = 30047;
        const long UIA_RangeValueIsReadOnlyPropertyId   = 30048;
        const long UIA_RangeValueMinimumPropertyId      = 30049;
        const long UIA_RangeValueMaximumPropertyId      = 30050;
        const long UIA_RangeValueLargeChangePropertyId  = 30051;
        const long UIA_RangeValueSmallChangePropertyId  = 30052;
        const long UIA_ScrollHorizontalScrollPercentPropertyId    = 30053;
        const long UIA_ScrollHorizontalViewSizePropertyId         = 30054;
        const long UIA_ScrollVerticalScrollPercentPropertyId      = 30055;
        const long UIA_ScrollVerticalViewSizePropertyId           = 30056;
        const long UIA_ScrollHorizontallyScrollablePropertyId     = 30057;
        const long UIA_ScrollVerticallyScrollablePropertyId       = 30058;
        const long UIA_SelectionSelectionPropertyId               = 30059;
        const long UIA_SelectionCanSelectMultiplePropertyId       = 30060;
        const long UIA_SelectionIsSelectionRequiredPropertyId     = 30061;
        const long UIA_GridRowCountPropertyId           = 30062;
        const long UIA_GridColumnCountPropertyId        = 30063;
        const long UIA_GridItemRowPropertyId            = 30064;
        const long UIA_GridItemColumnPropertyId         = 30065;
        const long UIA_GridItemRowSpanPropertyId        = 30066;
        const long UIA_GridItemColumnSpanPropertyId     = 30067;
        const long UIA_GridItemContainingGridPropertyId = 30068;
        const long UIA_DockDockPositionPropertyId       = 30069;
        const long UIA_ExpandCollapseExpandCollapseStatePropertyId = 30070;
        const long UIA_MultipleViewCurrentViewPropertyId           = 30071;
        const long UIA_MultipleViewSupportedViewsPropertyId        = 30072;
        const long UIA_WindowCanMaximizePropertyId                 = 30073;
        const long UIA_WindowCanMinimizePropertyId                 = 30074;
        const long UIA_WindowWindowVisualStatePropertyId           = 30075;
        const long UIA_WindowWindowInteractionStatePropertyId      = 30076;
        const long UIA_WindowIsModalPropertyId                     = 30077;
        const long UIA_WindowIsTopmostPropertyId                   = 30078;
        const long UIA_SelectionItemIsSelectedPropertyId           = 30079;
        const long UIA_SelectionItemSelectionContainerPropertyId   = 30080;
        const long UIA_TableRowHeadersPropertyId                   = 30081;
        const long UIA_TableColumnHeadersPropertyId                = 30082;
        const long UIA_TableRowOrColumnMajorPropertyId             = 30083;
        const long UIA_TableItemRowHeaderItemsPropertyId           = 30084;
        const long UIA_TableItemColumnHeaderItemsPropertyId        = 30085;
        const long UIA_ToggleToggleStatePropertyId                 = 30086;
        const long UIA_TransformCanMovePropertyId                  = 30087;
        const long UIA_TransformCanResizePropertyId                = 30088;
        const long UIA_TransformCanRotatePropertyId                = 30089;
        const long UIA_IsLegacyIAccessiblePatternAvailablePropertyId  = 30090;
        const long UIA_LegacyIAccessibleChildIdPropertyId          = 30091;
        const long UIA_LegacyIAccessibleNamePropertyId             = 30092;
        const long UIA_LegacyIAccessibleValuePropertyId            = 30093;
        const long UIA_LegacyIAccessibleDescriptionPropertyId      = 30094;
        const long UIA_LegacyIAccessibleRolePropertyId             = 30095;
        const long UIA_LegacyIAccessibleStatePropertyId            = 30096;
        const long UIA_LegacyIAccessibleHelpPropertyId             = 30097;
        const long UIA_LegacyIAccessibleKeyboardShortcutPropertyId = 30098;
        const long UIA_LegacyIAccessibleSelectionPropertyId        = 30099;
        const long UIA_LegacyIAccessibleDefaultActionPropertyId    = 30100;
        const long UIA_AriaRolePropertyId                          = 30101;
        const long UIA_AriaPropertiesPropertyId                    = 30102;
        const long UIA_IsDataValidForFormPropertyId                = 30103;
        const long UIA_ControllerForPropertyId                     = 30104;
        const long UIA_DescribedByPropertyId                       = 30105;
        const long UIA_FlowsToPropertyId                           = 30106;
        const long UIA_ProviderDescriptionPropertyId               = 30107;
        const long UIA_IsItemContainerPatternAvailablePropertyId   = 30108;
        const long UIA_IsVirtualizedItemPatternAvailablePropertyId = 30109;
        const long UIA_IsSynchronizedInputPatternAvailablePropertyId  = 30110;
        const long UIA_OptimizeForVisualContentPropertyId      = 30111;
        const long UIA_IsObjectModelPatternAvailablePropertyId = 30112;
        const long UIA_AnnotationAnnotationTypeIdPropertyId    = 30113;
        const long UIA_AnnotationAnnotationTypeNamePropertyId  = 30114;
        const long UIA_AnnotationAuthorPropertyId              = 30115;
        const long UIA_AnnotationDateTimePropertyId            = 30116;
        const long UIA_AnnotationTargetPropertyId              = 30117;
        const long UIA_IsAnnotationPatternAvailablePropertyId  = 30118;
        const long UIA_IsTextPattern2AvailablePropertyId       = 30119;
        const long UIA_StylesStyleIdPropertyId                 = 30120;
        const long UIA_StylesStyleNamePropertyId               = 30121;
        const long UIA_StylesFillColorPropertyId               = 30122;
        const long UIA_StylesFillPatternStylePropertyId        = 30123;
        const long UIA_StylesShapePropertyId                   = 30124;
        const long UIA_StylesFillPatternColorPropertyId        = 30125;
        const long UIA_StylesExtendedPropertiesPropertyId      = 30126;
        const long UIA_IsStylesPatternAvailablePropertyId      = 30127;
        const long UIA_IsSpreadsheetPatternAvailablePropertyId     = 30128;
        const long UIA_SpreadsheetItemFormulaPropertyId            = 30129;
        const long UIA_SpreadsheetItemAnnotationObjectsPropertyId  = 30130;
        const long UIA_SpreadsheetItemAnnotationTypesPropertyId    = 30131;
        const long UIA_IsSpreadsheetItemPatternAvailablePropertyId = 30132;
        const long UIA_Transform2CanZoomPropertyId                 = 30133;
        const long UIA_IsTransformPattern2AvailablePropertyId      = 30134;
        const long UIA_LiveSettingPropertyId                       = 30135;
        const long UIA_IsTextChildPatternAvailablePropertyId       = 30136;
        const long UIA_IsDragPatternAvailablePropertyId            = 30137;
        const long UIA_DragIsGrabbedPropertyId                     = 30138;
        const long UIA_DragDropEffectPropertyId                    = 30139;
        const long UIA_DragDropEffectsPropertyId                   = 30140;
        const long UIA_IsDropTargetPatternAvailablePropertyId      = 30141;
        const long UIA_DropTargetDropTargetEffectPropertyId        = 30142;
        const long UIA_DropTargetDropTargetEffectsPropertyId       = 30143;
        const long UIA_DragGrabbedItemsPropertyId                  = 30144;
        const long UIA_Transform2ZoomLevelPropertyId               = 30145;
        const long UIA_Transform2ZoomMinimumPropertyId             = 30146;
        const long UIA_Transform2ZoomMaximumPropertyId             = 30147;
        const long UIA_FlowsFromPropertyId                         = 30148;
        const long UIA_IsTextEditPatternAvailablePropertyId        = 30149;
        const long UIA_IsPeripheralPropertyId                      = 30150;
        const long UIA_IsCustomNavigationPatternAvailablePropertyId = 30151;
        const long UIA_PositionInSetPropertyId         = 30152;
        const long UIA_SizeOfSetPropertyId             = 30153;
        const long UIA_LevelPropertyId                 = 30154;
        const long UIA_AnnotationTypesPropertyId       = 30155;
        const long UIA_AnnotationObjectsPropertyId     = 30156;
        const long UIA_LandmarkTypePropertyId          = 30157;
        const long UIA_LocalizedLandmarkTypePropertyId = 30158;
        const long UIA_FullDescriptionPropertyId       = 30159;
        const long UIA_FillColorPropertyId             = 30160;
        const long UIA_OutlineColorPropertyId          = 30161;
        const long UIA_FillTypePropertyId              = 30162;
        const long UIA_VisualEffectsPropertyId         = 30163;
        const long UIA_OutlineThicknessPropertyId      = 30164;
        const long UIA_CenterPointPropertyId           = 30165;
        const long UIA_RotationPropertyId              = 30166;
        const long UIA_SizePropertyId                  = 30167;
        const long UIA_IsSelectionPattern2AvailablePropertyId  = 30168;
        const long UIA_Selection2FirstSelectedItemPropertyId   = 30169;
        const long UIA_Selection2LastSelectedItemPropertyId    = 30170;
        const long UIA_Selection2CurrentSelectedItemPropertyId = 30171;
        const long UIA_Selection2ItemCountPropertyId           = 30172;
        const long UIA_HeadingLevelPropertyId                  = 30173;
        const long UIA_IsDialogPropertyId                      = 30174;
    /*
    }
    */
    /* FIXME: Uncomment when properly supported in widl
    [dllname("<no entry points>")]
    module UIA_ControlTypeIds
    {
    */
        const long UIA_ButtonControlTypeId = 50000;
        const long UIA_CalendarControlTypeId = 50001;
        const long UIA_CheckBoxControlTypeId = 50002;
        const long UIA_ComboBoxControlTypeId = 50003;
        const long UIA_EditControlTypeId = 50004;
        const long UIA_HyperlinkControlTypeId = 50005;
        const long UIA_ImageControlTypeId = 50006;
        const long UIA_ListItemControlTypeId = 50007;
        const long UIA_ListControlTypeId = 50008;
        const long UIA_MenuControlTypeId = 50009;
        const long UIA_MenuBarControlTypeId = 50010;
        const long UIA_MenuItemControlTypeId = 50011;
        const long UIA_ProgressBarControlTypeId = 50012;
        const long UIA_RadioButtonControlTypeId = 50013;
        const long UIA_ScrollBarControlTypeId = 50014;
        const long UIA_SliderControlTypeId = 50015;
        const long UIA_SpinnerControlTypeId = 50016;
        const long UIA_StatusBarControlTypeId = 50017;
        const long UIA_TabControlTypeId = 50018;
        const long UIA_TabItemControlTypeId = 50019;
        const long UIA_TextControlTypeId = 50020;
        const long UIA_ToolBarControlTypeId = 50021;
        const long UIA_ToolTipControlTypeId = 50022;
        const long UIA_TreeControlTypeId = 50023;
        const long UIA_TreeItemControlTypeId = 50024;
        const long UIA_CustomControlTypeId = 50025;
        const long UIA_GroupControlTypeId = 50026;
        const long UIA_ThumbControlTypeId = 50027;
        const long UIA_DataGridControlTypeId = 50028;
        const long UIA_DataItemControlTypeId = 50029;
        const long UIA_DocumentControlTypeId = 50030;
        const long UIA_SplitButtonControlTypeId = 50031;
        const long UIA_WindowControlTypeId = 50032;
        const long UIA_PaneControlTypeId = 50033;
        const long UIA_HeaderControlTypeId = 50034;
        const long UIA_HeaderItemControlTypeId = 50035;
        const long UIA_TableControlTypeId = 50036;
        const long UIA_TitleBarControlTypeId = 50037;
        const long UIA_SeparatorControlTypeId = 50038;
        const long UIA_SemanticZoomControlTypeId = 50039;
        const long UIA_AppBarControlTypeId = 50040;
    /*
    };
    */
}
