module RAutomation::Adapter::MsUia::UiaDll
Constants
- HowToFind
Public Class Methods
bounding_rectangle(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 145 def self.bounding_rectangle(search_information) boundary = FFI::MemoryPointer.new :long, 4 BoundingRectangle search_information, boundary boundary.read_array_of_long(4) end
children_class_names(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 171 def self.children_class_names(search_information) strings_from :GetClassNames, search_information end
class_name(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 167 def self.class_name(search_information) string_from(:ClassName, search_information) end
control_click(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 391 def self.control_click(search_information) can_throw(:Click, search_information) end
decrement_spinner(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 262 def self.decrement_spinner(search_information) can_throw(:Spinner_Decrement, search_information) end
exists?(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 141 def self.exists?(search_information) ElementExists search_information end
get_control_value(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 151 def self.get_control_value(search_information) string_from(:Control_GetValue, search_information) end
get_text(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 155 def self.get_text(search_information) string_from(:Text_GetValue, search_information) end
help_text(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 159 def self.help_text(search_information) string_from(:HelpText, search_information) end
increment_spinner(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 258 def self.increment_spinner(search_information) can_throw(:Spinner_Increment, search_information) end
name(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 163 def self.name(search_information) string_from(:Name, search_information) end
remove_from_selection(search_information, which_item)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 219 def self.remove_from_selection(search_information, which_item) case which_item when Integer can_throw(:SelectList_RemoveIndex, search_information, which_item) when String can_throw(:SelectList_RemoveValue, search_information, which_item) end end
select_options(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 207 def self.select_options(search_information) strings_from(:SelectList_Options, search_information) end
select_tab(search_information, which)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 285 def self.select_tab(search_information, which) case which when Integer can_throw(:TabControl_SelectByIndex, search_information, which) when String can_throw(:TabControl_SelectByValue, search_information, which) end end
selection(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 211 def self.selection(search_information) string_from(:SelectList_Selection, search_information) end
selections(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 215 def self.selections(search_information) strings_from(:SelectList_Selections, search_information) end
send_keys(search_information, keys_to_send)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 175 def self.send_keys(search_information, keys_to_send) can_throw(:SendKeys, search_information, keys_to_send) end
set_spinner_value(search_information, value)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 246 def self.set_spinner_value(search_information, value) can_throw(:Spinner_SetValue, search_information, value) end
spinner_max(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 254 def self.spinner_max(search_information) can_throw(:Spinner_Maximum, search_information) end
spinner_min(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 250 def self.spinner_min(search_information) can_throw(:Spinner_Minimum, search_information) end
spinner_value(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 242 def self.spinner_value(search_information) can_throw(:Spinner_GetValue, search_information) end
tab_items(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 277 def self.tab_items(search_information) strings_from(:TabControl_Items, search_information) end
tab_selection(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 281 def self.tab_selection(search_information) string_from(:TabControl_Selection, search_information) end
table_coordinate_valid?(search_information, row, column=0)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 347 def self.table_coordinate_valid?(search_information, row, column=0) Table_CoordinateIsValid search_information, row, column end
table_headers(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 351 def self.table_headers(search_information) strings_from :Table_GetHeaders, search_information end
table_remove_from_selection(search_information, which_row)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 359 def self.table_remove_from_selection(search_information, which_row) case which_row when Integer can_throw(:Table_RemoveRowByIndex, search_information, which_row) when String can_throw(:Table_RemoveRowByValue, search_information, which_row) end end
table_select(search_information, which_item)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 330 def self.table_select(search_information, which_item) case which_item when Integer can_throw(:Table_SelectByIndex, search_information, which_item) when String can_throw(:Table_SelectByValue, search_information, which_item) end end
table_selected_indexes(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 326 def self.table_selected_indexes(search_information) integers_from(:Table_GetSelectedIndexes, search_information) end
table_single_select(search_information, which_item)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 339 def self.table_single_select(search_information, which_item) can_throw(:Table_SingleSelectByIndex, search_information, which_item) end
table_value_at(search_information, row, column=0)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 343 def self.table_value_at(search_information, row, column=0) string_from(:Table_ValueAt, search_information, row, column) end
table_values(search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 355 def self.table_values(search_information) strings_from :Table_GetValues, search_information end
uia_dll_directory()
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 111 def self.uia_dll_directory File.dirname(__FILE__) + '/../../../../ext/UiaDll/Release' end
Private Class Methods
can_throw(method, *args)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 418 def self.can_throw(method, *args) string_buffer = FFI::MemoryPointer.new :char, 1024 result = send method, *(args << string_buffer << 1024) error_info = string_buffer.read_string raise error_info unless error_info.empty? result end
integers_from(method, search_information)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 396 def self.integers_from(method, search_information) item_count = send method, search_information, nil pointer = FFI::MemoryPointer.new :pointer, item_count send method, search_information, pointer pointer.read_array_of_int(item_count) end
string_from(method, *args)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 412 def self.string_from(method, *args) pointer = FFI::MemoryPointer.new :pointer, 1024 send method, *(args << pointer << 1024) pointer.read_string end
strings_from(method, hwnd)
click to toggle source
# File lib/rautomation/adapter/ms_uia/uia_dll.rb, line 403 def self.strings_from(method, hwnd) string_count = send method, hwnd, nil pointer = FFI::MemoryPointer.new :pointer, string_count send method, hwnd, pointer strings = pointer.get_array_of_string 0, string_count clean_up_strings pointer, string_count strings end