from enum import Enum


class GBTUIHint(str, Enum):
    ALLOW_ARRAY_FOCUS = "ALLOW_ARRAY_FOCUS"
    ALLOW_FEATURE_SELECTION = "ALLOW_FEATURE_SELECTION"
    ALLOW_FLAT_SKETCH_SELECTION = "ALLOW_FLAT_SKETCH_SELECTION"
    ALLOW_QUERY_ORDER = "ALLOW_QUERY_ORDER"
    ALWAYS_HIDDEN = "ALWAYS_HIDDEN"
    ALWAYS_USE_DEPENDENCIES = "ALWAYS_USE_DEPENDENCIES"
    CAN_BE_TOLERANT = "CAN_BE_TOLERANT"
    CAN_BE_TOLERANT_DIAMETER = "CAN_BE_TOLERANT_DIAMETER"
    COLLAPSE_ARRAY_ITEMS = "COLLAPSE_ARRAY_ITEMS"
    CONTROL_VISIBILITY = "CONTROL_VISIBILITY"
    DISPLAY_CURRENT_VALUE_ONLY = "DISPLAY_CURRENT_VALUE_ONLY"
    DISPLAY_SHORT = "DISPLAY_SHORT"
    FIRST_IN_ROW = "FIRST_IN_ROW"
    FOCUS_INNER_QUERY = "FOCUS_INNER_QUERY"
    FOCUS_ON_VISIBLE = "FOCUS_ON_VISIBLE"
    HORIZONTAL_ENUM = "HORIZONTAL_ENUM"
    INITIAL_FOCUS = "INITIAL_FOCUS"
    INITIAL_FOCUS_ON_EDIT = "INITIAL_FOCUS_ON_EDIT"
    MATCH_LAST_ARRAY_ITEM = "MATCH_LAST_ARRAY_ITEM"
    MATE_CONNECTOR_AXIS_TYPE = "MATE_CONNECTOR_AXIS_TYPE"
    NO_PREVIEW_PROVIDED = "NO_PREVIEW_PROVIDED"
    NO_QUERY_VARIABLE = "NO_QUERY_VARIABLE"
    OPPOSITE_DIRECTION = "OPPOSITE_DIRECTION"
    OPPOSITE_DIRECTION_CIRCULAR = "OPPOSITE_DIRECTION_CIRCULAR"
    PLUS_MINUS = "PLUS_MINUS"
    PREVENT_ARRAY_REORDER = "PREVENT_ARRAY_REORDER"
    PREVENT_CREATING_NEW_MATE_CONNECTORS = "PREVENT_CREATING_NEW_MATE_CONNECTORS"
    PRIMARY_AXIS = "PRIMARY_AXIS"
    QUERY_VARIABLE_NAME = "QUERY_VARIABLE_NAME"
    READ_ONLY = "READ_ONLY"
    REMEMBER_PREVIOUS_VALUE = "REMEMBER_PREVIOUS_VALUE"
    SHOW_CREATE_SELECTION = "SHOW_CREATE_SELECTION"
    SHOW_EXPRESSION = "SHOW_EXPRESSION"
    SHOW_INLINE_CONFIG_INPUTS = "SHOW_INLINE_CONFIG_INPUTS"
    SHOW_LABEL = "SHOW_LABEL"
    SHOW_TOLERANCE = "SHOW_TOLERANCE"
    UNCONFIGURABLE = "UNCONFIGURABLE"
    UNKNOWN = "UNKNOWN"
    VARIABLE_NAME = "VARIABLE_NAME"

    def __str__(self) -> str:
        return str(self.value)
