blob: e7bb7cbba23fb6ef68aeb5dcd272ef8dcdcd1b85 [file] [log] [blame]
// gtx.proto
// Definitions for protobufs used by GTXiLib.
syntax = "proto3";
package gtxilib.oopclasses.protos;
// Definition for Point data in 2D space.
// Next index: 3
message Point {
optional float x = 1;
optional float y = 2;
}
// Definition for 2D size data.
// Next index: 3
message Size {
optional float width = 1;
optional float height = 2;
}
// Definition for 2D rectangle data.
// Next index: 3
message Rect {
optional Point origin = 1;
optional Size size = 2;
}
// Protobuf equivalent for XCTest's XCUIElementType. Note that these enums are
// named after
// https://developer.apple.com/documentation/xctest/xcuielementtype?language=objc
// Note: the enums are wrapped in messages to avoid name some collisions (for
// ex: TAB_BAR).
message ElementType {
enum ElementTypeEnum {
// Note that ANY is also the default element type for objects whose type was
// unknown/unspecified. For example when element is deserialized and type
// field was missing, the ElementType enum value will be ANY(=0).
ANY = 0;
OTHER = 1;
APPLICATION = 2;
GROUP = 3;
WINDOW = 4;
SHEET = 5;
DRAWER = 6;
ALERT = 7;
DIALOG = 8;
BUTTON = 9;
RADIO_BUTTON = 10;
RADIO_GROUP = 11;
CHECK_BOX = 12;
DISCLOSURE_TRIANGLE = 13;
POP_UP_BUTTON = 14;
COMBO_BOX = 15;
MENU_BUTTON = 16;
TOOLBAR_BUTTON = 17;
POPOVER = 18;
KEYBOARD = 19;
KEY = 20;
NAVIGATION_BAR = 21;
TAB_BAR = 22;
TAB_GROUP = 23;
TOOLBAR = 24;
STATUS_BAR = 25;
TABLE = 26;
TABLE_ROW = 27;
TABLE_COLUMN = 28;
OUTLINE = 29;
OUTLINE_ROW = 30;
BROWSER = 31;
COLLECTION_VIEW = 32;
SLIDER = 33;
PAGE_INDICATOR = 34;
PROGRESS_INDICATOR = 35;
ACTIVITY_INDICATOR = 36;
SEGMENTED_CONTROL = 37;
PICKER = 38;
PICKER_WHEEL = 39;
SWITCH = 40;
TOGGLE = 41;
LINK = 42;
IMAGE = 43;
ICON = 44;
SEARCH_FIELD = 45;
SCROLL_VIEW = 46;
SCROLL_BAR = 47;
STATIC_TEXT = 48;
TEXT_FIELD = 49;
SECURE_TEXT_FIELD = 50;
DATE_PICKER = 51;
TEXT_VIEW = 52;
MENU = 53;
MENU_ITEM = 54;
MENU_BAR = 55;
MENU_BAR_ITEM = 56;
MAP = 57;
WEB_VIEW = 58;
INCREMENT_ARROW = 59;
DECREMENT_ARROW = 60;
TIMELINE = 61;
RATING_INDICATOR = 62;
VALUE_INDICATOR = 63;
SPLIT_GROUP = 64;
SPLITTER = 65;
RELEVANCE_INDICATOR = 66;
COLOR_WELL = 67;
HELP_TAG = 68;
MATTE = 69;
DOCK_ITEM = 70;
RULER = 71;
RULER_MARKER = 72;
GRID = 73;
LEVEL_INDICATOR = 74;
CELL = 75;
LAYOUT_AREA = 76;
LAYOUT_ITEM = 77;
HANDLE = 78;
STEPPER = 79;
TAB = 80;
TOUCH_BAR = 81;
STATUS_ITEM = 82;
}
}
// Definition for UI element data. Note that the properties are intentionally
// named to differ from UIAccessibility properties of NSObject to avoid
// conflicts when proto is used in Objective-C.
// Next index: 6
message UIElement {
optional bool is_ax_element = 1;
optional uint64 ax_traits = 2;
optional string ax_label = 3;
optional Rect ax_frame = 4;
optional ElementType.ElementTypeEnum ax_element_type = 5;
}