Module: RAutomation::Adapter::MsUia::UiaDll

Extended by:
FFI::Library
Defined in:
lib/rautomation/adapter/ms_uia/uia_dll.rb

Defined Under Namespace

Classes: FindData, SearchCriteria

Constant Summary collapse

HowToFind =
enum(:hwnd, 1,
:id,
:value,
:focus,
:point)

Class Method Summary collapse

Class Method Details

.bounding_rectangle(search_information)



145
146
147
148
149
# 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)



171
172
173
# 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)



167
168
169
# 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)



391
392
393
# 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)



262
263
264
# 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) ⇒ Boolean

Returns:

  • (Boolean)


141
142
143
# 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)



151
152
153
# 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)



155
156
157
# 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)



159
160
161
# 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)



258
259
260
# 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)



163
164
165
# 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)



219
220
221
222
223
224
225
226
# 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)



207
208
209
# 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)



285
286
287
288
289
290
291
292
# 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)



211
212
213
# 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)



215
216
217
# 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)



175
176
177
# 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)



246
247
248
# 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)



254
255
256
# 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)



250
251
252
# 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)



242
243
244
# 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)



277
278
279
# 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)



281
282
283
# 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) ⇒ Boolean

Returns:

  • (Boolean)


347
348
349
# 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)



351
352
353
# 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)



359
360
361
362
363
364
365
366
# 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)



330
331
332
333
334
335
336
337
# 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)



326
327
328
# 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)



339
340
341
# 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)



343
344
345
# 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)



355
356
357
# 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



111
112
113
# File 'lib/rautomation/adapter/ms_uia/uia_dll.rb', line 111

def self.uia_dll_directory
  File.dirname(__FILE__) + '/../../../../ext/UiaDll/Release'
end