# -*- coding: utf-8 -*-

###############################
#UI Automation Constants
#http://msdn.microsoft.com/en-us/library/windows/desktop/ee671207(v=vs.85).aspx

#You can check element property and pattern using inspect.exe
#http://msdn.microsoft.com/en-us/library/windows/desktop/dd318521(v=vs.85).aspx
###############################


#Automation Element Property Identifiers
element_property_names = (
    "AcceleratorKey",
    "AccessKey",
    "AriaProperties",
    "AriaRole",
    "AutomationId",
    "BoundingRectangle",
    "ClassName",
    "ClickablePoint",
    "ControllerFor",
    "ControlType",
    "Culture",
    "DescribedBy",
    "FlowsFrom",
    "FlowsTo",
    "FrameworkId",
    "HasKeyboardFocus",
    "HelpText",
    "IsContentElement",
    "IsControlElement",
    "IsDataValidForForm",
    "IsEnabled",
    "IsKeyboardFocusable",
    "IsOffscreen",
    "IsPassword",
    "IsPeripheral",
    "IsRequiredForForm",
    "ItemStatus",
    "ItemType",
    "LabeledBy",
    "LiveSetting",
    "LocalizedControlType",
    "Name",
    "NativeWindowHandle",
    "OptimizeForVisualContent",
    "Orientation",
    "ProcessId",
    "ProviderDescription",
    "RuntimeId",
)


# Automation Control Type Identifiers (https://msdn.microsoft.com/en-us/library/windows/desktop/ee671198(v=vs.85).aspx)
control_type_names = (
    "AppBar",
    "Button",
    "Calendar",
    "CheckBox",
    "ComboBox",
    "Custom",
    "DataGrid",
    "DataItem",
    "Document",
    "Edit",
    "Group",
    "Header",
    "HeaderItem",
    "Hyperlink",
    "Image",
    "List",
    "ListItem",
    "MenuBar",
    "Menu",
    "MenuItem",
    "Pane",
    "ProgressBar",
    "RadioButton",
    "ScrollBar",
    "SemanticZoom",
    "Separator",
    "Slider",
    "Spinner",
    "SplitButton",
    "StatusBar",
    "Tab",
    "TabItem",
    "Table",
    "Text",
    "Thumb",
    "TitleBar",
    "ToolBar",
    "ToolTip",
    "Tree",
    "TreeItem",
    "Window",
)


"""
#Control Pattern Property Identifiers
control_pattern_property_names = (
    "AnnotationAnnotationTypeId",
    "AnnotationAnnotationTypeName",
    "AnnotationAuthor",
    "AnnotationDateTime",
    "AnnotationTarget",
    "DockDockPosition",
    "DragDropEffect",
    "DragDropEffects",
    "DragIsGrabbed",
    "DragGrabbedItems",
    "DropTargetDropTargetEffect",
    "DropTargetDropTargetEffects",
    "ExpandCollapseExpandCollapseState",
    "GridColumnCount",
    "GridItemColumn",
    "GridItemColumnSpan",
    "GridItemContainingGrid",
    "GridItemRow",
    "GridItemRowSpan",
    "GridRowCount",
    "LegacyIAccessibleChildId",
    "LegacyIAccessibleDefaultAction",
    "LegacyIAccessibleDescription",
    "LegacyIAccessibleHelp",
    "LegacyIAccessibleKeyboardShortcut",
    "LegacyIAccessibleName",
    "LegacyIAccessibleRole",
    "LegacyIAccessibleSelection",
    "LegacyIAccessibleState",
    "LegacyIAccessibleValue",
    "MultipleViewCurrentView",
    "MultipleViewSupportedViews",
    "RangeValueIsReadOnly",
    "RangeValueLargeChange",
    "RangeValueMaximum",
    "RangeValueMinimum",
    "RangeValueSmallChange",
    "RangeValueValue",
    "ScrollHorizontallyScrollable",
    "ScrollHorizontalScrollPercent",
    "ScrollHorizontalViewSize",
    "ScrollVerticallyScrollable",
    "ScrollVerticalScrollPercent",
    "ScrollVerticalViewSize",
    "SelectionCanSelectMultiple",
    "SelectionIsSelectionRequired",
    "SelectionSelection",
    "SelectionItemIsSelected",
    "SelectionItemSelectionContainer",
    "SpreadsheetItemFormula",
    "SpreadsheetItemAnnotationObjects",
    "SpreadsheetItemAnnotationTypes",
    "StylesExtendedProperties",
    "StylesFillColor",
    "StylesFillPatternColor",
    "StylesFillPatternStyle",
    "StylesShape",
    "StylesStyleId",
    "StylesStyleName",
    "TableColumnHeaders",
    "TableItemColumnHeaderItems",
    "TableRowHeaders",
    "TableRowOrColumnMajor",
    "TableItemRowHeaderItems",
    "ToggleToggleState",
    "TransformCanMove",
    "TransformCanResize",
    "TransformCanRotate",
    "Transform2CanZoom",
    "Transform2ZoomLevel",
    "Transform2ZoomMaximum",
    "Transform2ZoomMinimum",
    "ValueIsReadOnly",
    "ValueValue",
    "WindowCanMaximize",
    "WindowCanMinimize",
    "WindowIsModal",
    "WindowIsTopmost",
    "WindowWindowInteractionState",
    "WindowWindowVisualState",
)
"""
