Class: RAutomation::Adapter::Win32::SelectList
- Inherits:
-
Control
- Object
- Control
- RAutomation::Adapter::Win32::SelectList
show all
- Includes:
- WaitHelper
- Defined in:
- lib/rautomation/adapter/win_32/select_list.rb
Defined Under Namespace
Classes: SelectListOption
Constant Summary
collapse
- DEFAULT_LOCATORS =
Default locators used for searching buttons.
{:class => /combobox/i}
Instance Method Summary
collapse
Methods inherited from Control
#class_name, #click, #disabled?, #enabled?, #exist?, #focus, #focused?, #hwnd, #initialize
Instance Method Details
#dropbox_boundary
76
77
78
79
80
81
82
|
# File 'lib/rautomation/adapter/win_32/select_list.rb', line 76
def dropbox_boundary
boundary = FFI::MemoryPointer.new :long, 4
Functions.send_message(hwnd, Constants::CB_GETDROPPEDCONTROLRECT, 0 ,boundary)
boundary.read_array_of_long(4)
end
|
#get_top_index
84
85
86
|
# File 'lib/rautomation/adapter/win_32/select_list.rb', line 84
def get_top_index
Functions.send_message(hwnd, Constants::CB_GETTOPINDEX, 0 ,nil)
end
|
#list_item_height
72
73
74
|
# File 'lib/rautomation/adapter/win_32/select_list.rb', line 72
def list_item_height
Functions.send_message(hwnd, Constants::CB_GETITEMHEIGHT, 0 ,nil)
end
|
#option(options)
55
56
57
58
59
60
61
62
|
# File 'lib/rautomation/adapter/win_32/select_list.rb', line 55
def option(options)
item_count.times do |item_no|
item = Functions.retrieve_combobox_item_text(hwnd, 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
48
|
# File 'lib/rautomation/adapter/win_32/select_list.rb', line 34
def options(options = {})
items = []
item_count.times do |item_no|
item = Functions.retrieve_combobox_item_text(hwnd, 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)
64
65
66
|
# File 'lib/rautomation/adapter/win_32/select_list.rb', line 64
def select(index)
Functions.send_message(hwnd, Constants::CB_SETCURSEL, index, nil) != Constants::CB_ERR
end
|
#set(text)
68
69
70
|
# File 'lib/rautomation/adapter/win_32/select_list.rb', line 68
def set(text)
option(:text => text).set
end
|
#value
50
51
52
53
|
# File 'lib/rautomation/adapter/win_32/select_list.rb', line 50
def value
selected_option = options.find { |option| option.selected? }
selected_option ? selected_option.text : ""
end
|