Class: RAutomation::Adapter::MsUia::SelectList

Inherits:
Control
  • Object
show all
Includes:
Locators, WaitHelper
Defined in:
lib/rautomation/adapter/ms_uia/select_list.rb

Defined Under Namespace

Classes: SelectListOption

Instance Method Summary collapse

Methods inherited from Control

#assert_enabled, #bounding_rectangle, #cached_hwnd, #click, #collapse, #control_class, #control_name, #disabled?, #enabled?, #expand, #focus, #focused?, #get_current_control_type, #hwnd, #initialize, #matches_type?, #new_pid, #search_information, #visible?

Constructor Details

This class inherits a constructor from RAutomation::Adapter::MsUia::Control

Instance Method Details

#exist?Boolean Also known as: exists?

Returns:

  • (Boolean)


65
66
67
# File 'lib/rautomation/adapter/ms_uia/select_list.rb', line 65

def exist?
  super && matches_type?(Constants::UIA_COMBOBOX_CONTROL_TYPE)
end

#option(options)



53
54
55
56
57
58
59
# File 'lib/rautomation/adapter/ms_uia/select_list.rb', line 53

def option(options)
  UiaDll::select_options(search_information).each_with_index do |item, item_no|
    return SelectListOption.new(self, item, item_no) if options[:text] == item
  end

  nil
end

#options(options = {})



34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/rautomation/adapter/ms_uia/select_list.rb', line 34

def options(options = {})
  items = []

  select_options = UiaDll::select_options(search_information)
  select_options.each_with_index do |item, item_no|
    if options[:text]
      items.push(SelectListOption.new(self, item, item_no)) if options[:text] == item
    else
      items.push(SelectListOption.new(self, item, item_no))
    end
  end

  items
end

#select(index)



61
62
63
# File 'lib/rautomation/adapter/ms_uia/select_list.rb', line 61

def select(index)
  UiaDll::select_list_select_index search_information, index
end

#set(value)



30
31
32
# File 'lib/rautomation/adapter/ms_uia/select_list.rb', line 30

def set(value)
  UiaDll::select_list_select_value(search_information, value)
end

#value



49
50
51
# File 'lib/rautomation/adapter/ms_uia/select_list.rb', line 49

def value
  UiaDll::selection(search_information)
end