from enum import Enum, auto

class ConfigActionType(Enum):
	REGISTER_NEW_CONFIG = auto()
	GET_ARJUNA_OPTION_VALUE = auto()
	GET_USER_OPTION_VALUE = auto()


class DataSourceActionType(Enum):
	CREATE_FILE_DATA_SOURCE = auto()
	GET_NEXT_RECORD = auto()
	GET_ALL_RECORDS = auto()
	RESET = auto()

class GuiActionType(Enum):
	CREATE_GUI = auto()
	CREATE_CHILD_GUI = auto()

class GuiAutoActionType(Enum):
	LAUNCH_AUTOMATOR = auto()
	QUIT_AUTOMATOR = auto()

	DEFINE_ELEMENT = auto()
	DEFINE_MULTIELEMENT = auto()
	DEFINE_DROPDOWN = auto()
	DEFINE_RADIOGROUP = auto()
	DEFINE_ALERT = auto()
	
	BROWSER_GO_TO_URL = auto()
	BROWSER_GO_BACK = auto()
	BROWSER_GO_FORWARD = auto()
	BROWSER_REFRESH = auto()
	BROWSER_EXECUTE_JAVASCRIPT = auto()
	
	CREATE_ELEMENT = auto()
	CREATE_MULTIELEMENT = auto()
	CREATE_DROPDOWN = auto()
	CREATE_RADIOGROUP = auto()
	CREATE_ALERT = auto()

	DEFINE_MAIN_WINDOW = auto()
	DEFINE_DOM_ROOT = auto()
	SET_SLOMO = auto()
	
	ELEMENT_ENTER_TEXT = auto()
	ELEMENT_SET_TEXT = auto()
	ELEMENT_CLEAR_TEXT = auto()
	
	ELEMENT_CLICK = auto() 
	
	ELEMENT_WAIT_UNTIL_CLICKABLE = auto() 
	
	ELEMENT_CHECK = auto()
	ELEMENT_UNCHECK = auto()
	
	DROPDOWN_HAS_VALUE_SELECTED = auto()
	DROPDOWN_HAS_INDEX_SELECTED = auto()
	DROPDOWN_SELECT_BY_VALUE = auto()
	DROPDOWN_SELECT_BY_INDEX = auto() 
	DROPDOWN_GET_FIRST_SELECTED_OPTION_VALUE = auto()
	DROPDOWN_HAS_VISIBLE_TEXT_SELECTED = auto()
	DROPDOWN_GET_FIRST_SELECTED_OPTION_TEXT = auto()
	DROPDOWN_SELECT_BY_VISIBLE_TEXT = auto()
	
	RADIOGROUP_HAS_VALUE_SELECTED = auto()
	RADIOGROUP_HAS_INDEX_SELECTED = auto()
	RADIOGROUP_SELECT_BY_VALUE = auto()
	RADIOGROUP_SELECT_BY_INDEX = auto() 
	RADIOGROUP_GET_FIRST_SELECTED_OPTION_VALUE = auto()

	DOMROOT_FOCUS = auto()
	DOMROOT_CREATE_FRAME = auto()
	
	ALERT_CONFIRM = auto()
	ALERT_DISMISS = auto()
	ALERT_GET_TEXT = auto()
	ALERT_SEND_TEXT = auto()
	
	FRAME_FOCUS = auto()
	FRAME_CREATE_FRAME = auto()
	FRAME_GET_PARENT = auto()
	
	WINDOW_FOCUS = auto()
	WINDOW_GET_TITLE = auto() 
	
	MAIN_WINDOW_MAXIMIZE = auto()
	MAIN_WINDOW_CREATE_CHILD_WINDOW = auto()
	MAIN_WINDOW_GET_LATEST_CHILD_WINDOW = auto()
	MAIN_WINDOW_CLOSE_ALL_CHILD_WINDOWS = auto()
	
	CHILD_WINDOW_CLOSE = auto()

class SetuActionType(Enum):
	HELLO = auto()
	EXIT = auto()

class TestSessionActionType(Enum):
	INIT = auto()
	END = auto()