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