rautomation 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/History.rdoc +7 -1
  4. data/VERSION +1 -1
  5. data/ext/UiaDll/RAutomation.UIA/Controls/Clicker.cs +59 -0
  6. data/ext/UiaDll/RAutomation.UIA/Controls/SelectList.cs +76 -0
  7. data/ext/UiaDll/RAutomation.UIA/Controls/Spinner.cs +46 -0
  8. data/ext/UiaDll/RAutomation.UIA/Controls/TabControl.cs +54 -0
  9. data/ext/UiaDll/RAutomation.UIA/Controls/TableControl.cs +87 -0
  10. data/ext/UiaDll/RAutomation.UIA/Controls/TextControl.cs +50 -0
  11. data/ext/UiaDll/RAutomation.UIA/Expander.cs +59 -0
  12. data/ext/UiaDll/RAutomation.UIA/Extensions/Element.cs +108 -0
  13. data/ext/UiaDll/RAutomation.UIA/Extensions/Enumerable.cs +63 -0
  14. data/ext/UiaDll/RAutomation.UIA/Extensions/Property.cs +27 -0
  15. data/ext/UiaDll/RAutomation.UIA/Properties/AssemblyInfo.cs +36 -0
  16. data/ext/UiaDll/RAutomation.UIA/Properties/AutomationProperties.cs +18 -0
  17. data/ext/UiaDll/RAutomation.UIA/RAutomation.UIA.csproj +68 -0
  18. data/ext/UiaDll/UiaDll.sln +24 -2
  19. data/ext/UiaDll/UiaDll/ControlMethods.cpp +6 -5
  20. data/ext/UiaDll/UiaDll/DynamicAssemblyResolver.cpp +24 -0
  21. data/ext/UiaDll/UiaDll/DynamicAssemblyResolver.h +16 -0
  22. data/ext/UiaDll/UiaDll/{AutomationFinder.cpp → Locator.cpp} +25 -15
  23. data/ext/UiaDll/UiaDll/{AutomationFinder.h → Locator.h} +4 -2
  24. data/ext/UiaDll/UiaDll/MenuItemSelector.cpp +3 -3
  25. data/ext/UiaDll/UiaDll/MenuMethods.cpp +4 -0
  26. data/ext/UiaDll/UiaDll/SelectListMethods.cpp +40 -21
  27. data/ext/UiaDll/UiaDll/SpinnerMethods.cpp +61 -0
  28. data/ext/UiaDll/UiaDll/StringHelper.cpp +13 -1
  29. data/ext/UiaDll/UiaDll/StringHelper.h +1 -0
  30. data/ext/UiaDll/UiaDll/TabControlMethods.cpp +11 -8
  31. data/ext/UiaDll/UiaDll/TableMethods.cpp +20 -21
  32. data/ext/UiaDll/UiaDll/TextMethods.cpp +19 -17
  33. data/ext/UiaDll/UiaDll/UiaDll.cpp +191 -342
  34. data/ext/UiaDll/UiaDll/UiaDll.vcxproj +11 -21
  35. data/ext/UiaDll/UiaDll/UiaDll.vcxproj.filters +22 -115
  36. data/ext/UiaDll/UiaDll/dllmain.cpp +1 -21
  37. data/ext/UiaDll/UiaDll/stdafx.h +0 -2
  38. data/ext/WindowsForms/WindowsForms/DataEntryForm.Designer.cs +17 -0
  39. data/ext/WindowsForms/WindowsForms/DataEntryForm.cs +2 -6
  40. data/ext/WindowsForms/WindowsForms/MainFormWindow.Designer.cs +6 -7
  41. data/ext/WindowsForms/WindowsForms/MainFormWindow.cs +2 -0
  42. data/ext/WindowsForms/WindowsForms/UIA.Extensions.dll +0 -0
  43. data/ext/WindowsForms/WindowsForms/ValueMonthCalendar.cs +28 -0
  44. data/ext/WindowsForms/WindowsForms/WindowsForms.csproj +5 -4
  45. data/lib/rautomation/adapter/ms_uia.rb +1 -0
  46. data/lib/rautomation/adapter/ms_uia/control.rb +1 -13
  47. data/lib/rautomation/adapter/ms_uia/functions.rb +2 -16
  48. data/lib/rautomation/adapter/ms_uia/list_box.rb +2 -2
  49. data/lib/rautomation/adapter/ms_uia/spinner.rb +31 -0
  50. data/lib/rautomation/adapter/ms_uia/uia_dll.rb +59 -31
  51. data/lib/rautomation/adapter/ms_uia/window.rb +5 -4
  52. data/rautomation.gemspec +1 -0
  53. data/spec/adapter/ms_uia/spinner_spec.rb +44 -0
  54. data/spec/adapter/ms_uia/value_control_spec.rb +2 -2
  55. metadata +26 -25
  56. data/ext/UiaDll/UiaDll/AutomatedSelectList.cpp +0 -93
  57. data/ext/UiaDll/UiaDll/AutomatedSelectList.h +0 -47
  58. data/ext/UiaDll/UiaDll/AutomatedTabControl.cpp +0 -45
  59. data/ext/UiaDll/UiaDll/AutomatedTabControl.h +0 -41
  60. data/ext/UiaDll/UiaDll/AutomatedTable.cpp +0 -92
  61. data/ext/UiaDll/UiaDll/AutomatedTable.h +0 -35
  62. data/ext/UiaDll/UiaDll/AutomatedText.cpp +0 -22
  63. data/ext/UiaDll/UiaDll/AutomatedText.h +0 -26
  64. data/ext/UiaDll/UiaDll/AutomationClicker.cpp +0 -53
  65. data/ext/UiaDll/UiaDll/AutomationClicker.h +0 -30
  66. data/ext/UiaDll/UiaDll/AutomationControl.cpp +0 -40
  67. data/ext/UiaDll/UiaDll/AutomationControl.h +0 -75
  68. data/ext/UiaDll/UiaDll/ExpandCollapseHelper.cpp +0 -53
  69. data/ext/UiaDll/UiaDll/ExpandCollapseHelper.h +0 -25
  70. data/ext/UiaDll/UiaDll/SelectionItem.cpp +0 -10
  71. data/ext/UiaDll/UiaDll/SelectionItem.h +0 -21
  72. data/ext/UiaDll/UiaDll/Toggle.cpp +0 -2
  73. data/ext/UiaDll/UiaDll/Toggle.h +0 -22
  74. data/ext/UiaDll/UiaDll/globals.h +0 -3
  75. data/ext/WindowsForms/WindowsForms/AutomatableMonthCalendar.cs +0 -59
  76. data/ext/WindowsForms/WindowsForms/AutomationHelpers/AutomationProvider.cs +0 -91
@@ -47,6 +47,10 @@
47
47
  <Reference Include="System.Drawing" />
48
48
  <Reference Include="System.Windows.Forms" />
49
49
  <Reference Include="System.Xml" />
50
+ <Reference Include="UIA.Extensions, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
51
+ <SpecificVersion>False</SpecificVersion>
52
+ <HintPath>.\UIA.Extensions.dll</HintPath>
53
+ </Reference>
50
54
  <Reference Include="UIAutomationClient" />
51
55
  <Reference Include="UIAutomationProvider" />
52
56
  <Reference Include="UIAutomationTypes" />
@@ -59,10 +63,6 @@
59
63
  <Compile Include="AboutBox.Designer.cs">
60
64
  <DependentUpon>AboutBox.cs</DependentUpon>
61
65
  </Compile>
62
- <Compile Include="AutomatableMonthCalendar.cs">
63
- <SubType>Component</SubType>
64
- </Compile>
65
- <Compile Include="AutomationHelpers\AutomationProvider.cs" />
66
66
  <Compile Include="DataEntryForm.cs">
67
67
  <SubType>Form</SubType>
68
68
  </Compile>
@@ -95,6 +95,7 @@
95
95
  </Compile>
96
96
  <Compile Include="Program.cs" />
97
97
  <Compile Include="Properties\AssemblyInfo.cs" />
98
+ <Compile Include="ValueMonthCalendar.cs" />
98
99
  <EmbeddedResource Include="AboutBox.resx">
99
100
  <DependentUpon>AboutBox.cs</DependentUpon>
100
101
  </EmbeddedResource>
@@ -19,6 +19,7 @@ require File.dirname(__FILE__) + "/ms_uia/menu"
19
19
  require File.dirname(__FILE__) + "/ms_uia/radio"
20
20
  require File.dirname(__FILE__) + "/ms_uia/text_field"
21
21
  require File.dirname(__FILE__) + "/ms_uia/select_list"
22
+ require File.dirname(__FILE__) + "/ms_uia/spinner"
22
23
  require File.dirname(__FILE__) + "/ms_uia/table"
23
24
  require File.dirname(__FILE__) + "/ms_uia/tab_control"
24
25
  require File.dirname(__FILE__) + "/ms_uia/label"
@@ -85,19 +85,7 @@ module RAutomation
85
85
  end
86
86
 
87
87
  def visible?
88
- element = UiaDll::element_from_handle(hwnd)
89
-
90
- off_screen = FFI::MemoryPointer.new :int
91
-
92
- if UiaDll::is_offscreen(element, off_screen) == 0
93
- fail "Could not check element"
94
- end
95
-
96
- # puts "return #{off_screen.read_int}"
97
- if off_screen.read_int == 0
98
- return true
99
- end
100
- false
88
+ !UiaDll::is_offscreen(search_information)
101
89
  end
102
90
 
103
91
  def matches_type?(*classes)
@@ -172,8 +172,7 @@ module RAutomation
172
172
  raise UnknownElementException, "#{locators[:id]} does not exist" if hwnd == 0
173
173
  hwnd
174
174
  when locators[:point]
175
- uia_control = UiaDll::element_from_point(locators[:point][0], locators[:point][1])
176
- hwnd = UiaDll::current_native_window_handle(uia_control) # return HWND of UIA element
175
+ hwnd = UiaDll::handle_from_point(*locators[:point])
177
176
  raise UnknownElementException, "#{locators[:point]} does not exist" if hwnd == 0
178
177
  hwnd
179
178
  else
@@ -192,14 +191,6 @@ module RAutomation
192
191
  text_for(control_hwnd)
193
192
  end
194
193
 
195
- def control_click(control_hwnd)
196
- string_buffer = FFI::MemoryPointer.new :char, 1024
197
- UiaDll::control_mouse_click control_hwnd, string_buffer, 1024
198
- error_info = string_buffer.read_string
199
- raise error_info unless error_info.empty?
200
- true
201
- end
202
-
203
194
  def set_control_focus(control_hwnd)
204
195
  within_foreground_thread control_hwnd do
205
196
  _set_control_focus(control_hwnd)
@@ -214,12 +205,7 @@ module RAutomation
214
205
  end
215
206
 
216
207
  def control_name(control_hwnd)
217
- string_buffer = FFI::MemoryPointer.new :char, 255
218
- if (UiaDll::get_control_name(control_hwnd, string_buffer, 255))
219
- string_buffer.read_string
220
- else
221
- fail "Cannot get name for control with HWND 0x" + control_hwnd.to_s(16)
222
- end
208
+ UiaDll::name(UiaDll::SearchCriteria.from_locator(control_hwnd, :hwnd => control_hwnd))
223
209
  end
224
210
 
225
211
  private
@@ -11,13 +11,13 @@ module RAutomation
11
11
  end
12
12
 
13
13
  def items
14
- UiaDll::find_table_values(search_information).map do |list_item|
14
+ UiaDll::table_values(search_information).map do |list_item|
15
15
  @window.list_item(:value => list_item)
16
16
  end
17
17
  end
18
18
 
19
19
  def strings
20
- UiaDll::find_table_values(search_information)
20
+ UiaDll::table_values(search_information)
21
21
  end
22
22
 
23
23
  def value
@@ -0,0 +1,31 @@
1
+ module RAutomation
2
+ module Adapter
3
+ module MsUia
4
+ class Spinner < Control
5
+ def set(value)
6
+ UiaDll::set_spinner_value(search_information, value)
7
+ end
8
+
9
+ def value
10
+ UiaDll::spinner_value(search_information)
11
+ end
12
+
13
+ def minimum
14
+ UiaDll::spinner_min(search_information)
15
+ end
16
+
17
+ def maximum
18
+ UiaDll::spinner_max(search_information)
19
+ end
20
+
21
+ def increment
22
+ UiaDll::increment_spinner(search_information)
23
+ end
24
+
25
+ def decrement
26
+ UiaDll::decrement_spinner(search_information)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -108,9 +108,17 @@ module RAutomation
108
108
  :how, HowToFind, :data, FindData
109
109
  end
110
110
 
111
- ffi_lib File.dirname(__FILE__) + '/../../../../ext/UiaDll/Release/UiaDll.dll'
111
+ def self.uia_dll_directory
112
+ File.dirname(__FILE__) + '/../../../../ext/UiaDll/Release'
113
+ end
114
+
115
+
116
+ ffi_lib File.join(uia_dll_directory, 'UiaDll.dll')
112
117
  ffi_convention :stdcall
113
118
 
119
+ attach_function :init, :initialize, [:string], :void
120
+ init(uia_dll_directory)
121
+
114
122
  # Generic Control methods
115
123
  attach_function :cached_hwnd, :NativeWindowHandle, [SearchCriteria.by_ref], :long
116
124
  attach_function :ElementExists, [SearchCriteria.by_ref], :bool
@@ -189,6 +197,44 @@ module RAutomation
189
197
  string_from(:SelectList_Selection, search_information)
190
198
  end
191
199
 
200
+ # Spinner methods
201
+ attach_function :Spinner_GetValue,
202
+ [SearchCriteria.by_ref, :pointer, :int], :double
203
+ attach_function :Spinner_SetValue,
204
+ [SearchCriteria.by_ref, :double, :pointer, :int], :void
205
+ attach_function :Spinner_Minimum,
206
+ [SearchCriteria.by_ref, :pointer, :int], :double
207
+ attach_function :Spinner_Maximum,
208
+ [SearchCriteria.by_ref, :pointer, :int], :double
209
+ attach_function :Spinner_Increment,
210
+ [SearchCriteria.by_ref, :pointer, :int], :double
211
+ attach_function :Spinner_Decrement,
212
+ [SearchCriteria.by_ref, :pointer, :int], :double
213
+
214
+ def self.spinner_value(search_information)
215
+ can_throw(:Spinner_GetValue, search_information)
216
+ end
217
+
218
+ def self.set_spinner_value(search_information, value)
219
+ can_throw(:Spinner_SetValue, search_information, value)
220
+ end
221
+
222
+ def self.spinner_min(search_information)
223
+ can_throw(:Spinner_Minimum, search_information)
224
+ end
225
+
226
+ def self.spinner_max(search_information)
227
+ can_throw(:Spinner_Maximum, search_information)
228
+ end
229
+
230
+ def self.increment_spinner(search_information)
231
+ can_throw(:Spinner_Increment, search_information)
232
+ end
233
+
234
+ def self.decrement_spinner(search_information)
235
+ can_throw(:Spinner_Decrement, search_information)
236
+ end
237
+
192
238
  # Tab Control methods
193
239
  attach_function :TabControl_Items,
194
240
  [SearchCriteria.by_ref, :pointer], :int
@@ -228,8 +274,6 @@ module RAutomation
228
274
  [SearchCriteria.by_ref, :pointer], :int
229
275
  attach_function :Table_GetValues,
230
276
  [SearchCriteria.by_ref, :pointer], :int
231
- attach_function :Table_FindValues,
232
- [SearchCriteria.by_ref, :pointer], :int
233
277
  attach_function :table_row_count, :Table_RowCount,
234
278
  [SearchCriteria.by_ref], :int
235
279
  attach_function :Table_CoordinateIsValid,
@@ -268,47 +312,31 @@ module RAutomation
268
312
  strings_from :Table_GetValues, search_information
269
313
  end
270
314
 
271
- def self.find_table_values(search_information)
272
- strings_from :Table_FindValues, search_information
273
- end
274
-
275
315
  # String methods
276
316
  attach_function :clean_up_strings, :String_CleanUp,
277
317
  [:pointer, :int], :void
278
318
 
279
- attach_function :element_from_handle, :RA_ElementFromHandle,
280
- [:long], :pointer
281
- attach_function :element_from_point, :RA_ElementFromPoint,
282
- [:int, :int], :pointer
283
- attach_function :current_native_window_handle, :RA_CurrentNativeWindowHandle,
284
- [:pointer], :long
285
- attach_function :move_mouse, :RA_MoveMouse,
319
+ attach_function :handle_from_point, :HandleFromPoint,
320
+ [:int, :int], :long
321
+ attach_function :move_mouse, :MoveMouse,
286
322
  [:int,:int], :long
287
- attach_function :click_mouse, :RA_ClickMouse,
323
+ attach_function :click_mouse, :ClickMouse,
288
324
  [], :long
289
- attach_function :is_offscreen, :RA_CurrentIsOffscreen,
290
- [:pointer, :pointer], :int
291
- attach_function :find_children, :RA_FindChildren,
292
- [:pointer, :pointer], :int
293
- attach_function :get_control_name, :RA_GetControlName,
294
- [:long, :pointer, :int], :bool
295
- attach_function :select, :RA_Select,
296
- [:pointer], :int
297
- attach_function :expand_by_value, :RA_ExpandItemByValue,
325
+ attach_function :is_offscreen, :IsOffscreen,
326
+ [SearchCriteria.by_ref], :bool
327
+ attach_function :expand_by_value, :ExpandItemByValue,
298
328
  [SearchCriteria.by_ref, :string], :void
299
- attach_function :expand_by_index, :RA_ExpandItemByIndex,
329
+ attach_function :expand_by_index, :ExpandItemByIndex,
300
330
  [SearchCriteria.by_ref, :int], :void
301
- attach_function :collapse_by_value, :RA_CollapseItemByValue,
331
+ attach_function :collapse_by_value, :CollapseItemByValue,
302
332
  [SearchCriteria.by_ref, :string], :void
303
- attach_function :collapse_by_index, :RA_CollapseItemByIndex,
333
+ attach_function :collapse_by_index, :CollapseItemByIndex,
304
334
  [SearchCriteria.by_ref, :int], :void
305
- attach_function :RA_Click,
335
+ attach_function :Click,
306
336
  [SearchCriteria.by_ref, :pointer, :int], :bool
307
- attach_function :control_mouse_click, :RA_PointAndClick,
308
- [:long, :pointer, :int], :void
309
337
 
310
338
  def self.control_click(search_information)
311
- can_throw(:RA_Click, search_information)
339
+ can_throw(:Click, search_information)
312
340
  end
313
341
 
314
342
  private
@@ -169,6 +169,11 @@ module RAutomation
169
169
  TabControl.new(self, locator)
170
170
  end
171
171
 
172
+ # @see Spinner#initialize
173
+ def spinner(locator)
174
+ Spinner.new(self, locator)
175
+ end
176
+
172
177
  # @see TextField#initialize
173
178
  # @see RAutomation::Window#text_field
174
179
  def text_field(locator)
@@ -187,10 +192,6 @@ module RAutomation
187
192
  Functions.respond_to?(name) ? Functions.send(name, *args) : super
188
193
  end
189
194
 
190
- def count_children(element)
191
- UiaDll::find_children(element, nil)
192
- end
193
-
194
195
  def bounding_rectangle
195
196
  window = UiaDll::element_from_handle(hwnd)
196
197
 
data/rautomation.gemspec CHANGED
@@ -19,6 +19,7 @@ RAutomation provides:
19
19
  ext_binaries = [
20
20
  "ext/IAccessibleDLL/Release/IAccessibleDLL.dll",
21
21
  "ext/UiaDll/Release/UiaDll.dll",
22
+ "ext/UiaDll/Release/RAutomation.UIA.dll",
22
23
  "ext/WindowsForms/Release/WindowsForms.exe"
23
24
  ]
24
25
  s.files = `git ls-files`.split("\n") + ext_binaries
@@ -0,0 +1,44 @@
1
+ require 'spec_helper'
2
+
3
+ include RAutomation::Adapter
4
+
5
+ describe MsUia::Spinner, :if => SpecHelper.adapter == :ms_uia do
6
+ let(:main_window) { RAutomation::Window.new(:title => 'MainFormWindow') }
7
+ let(:data_entry) { main_window.button(:value => 'Data Entry Form').click { window.exist? } }
8
+ let(:window) { RAutomation::Window.new(:title => 'DataEntryForm') }
9
+
10
+ subject { window.spinner(:id => 'numericUpDown1') }
11
+
12
+ before(:each) do
13
+ data_entry
14
+ end
15
+
16
+ it { should exist }
17
+
18
+ it '#set' do
19
+ subject.set 4.0
20
+ subject.value.should eq(4.0)
21
+ end
22
+
23
+ it '#minimum' do
24
+ subject.minimum.should eq(-100.0)
25
+ end
26
+
27
+ it '#maximum' do
28
+ subject.maximum.should eq(100.0)
29
+ end
30
+
31
+ it 'likes for values to be within range' do
32
+ lambda { subject.set(1000.0) }.should raise_error
33
+ end
34
+
35
+ it '#increment' do
36
+ subject.set 5.0
37
+ subject.increment.should eq(6.0)
38
+ end
39
+
40
+ it '#decrement' do
41
+ subject.set 5.0
42
+ subject.decrement.should eq(4.0)
43
+ end
44
+ end
@@ -5,7 +5,7 @@ describe "MsUia::ValueControl", :if => SpecHelper.adapter == :ms_uia do
5
5
  let(:value_control) { window.value_control(:id => "automatableMonthCalendar1") }
6
6
 
7
7
  it "can set and get values" do
8
- value_control.set "12/25/2012"
9
- value_control.value.should eq("12/25/2012 12:00:00 AM")
8
+ value_control.set '12/25/2012'
9
+ value_control.value.should eq('12/25/2012')
10
10
  end
11
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rautomation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jarmo Pertman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-26 00:00:00.000000000 Z
11
+ date: 2013-08-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -105,40 +105,38 @@ files:
105
105
  - ext/IAccessibleDLL/IAccessibleDLL/stdafx.h
106
106
  - ext/IAccessibleDLL/IAccessibleDLL/table_support.cpp
107
107
  - ext/IAccessibleDLL/IAccessibleDLL/targetver.h
108
+ - ext/UiaDll/RAutomation.UIA/Controls/Clicker.cs
109
+ - ext/UiaDll/RAutomation.UIA/Controls/SelectList.cs
110
+ - ext/UiaDll/RAutomation.UIA/Controls/Spinner.cs
111
+ - ext/UiaDll/RAutomation.UIA/Controls/TabControl.cs
112
+ - ext/UiaDll/RAutomation.UIA/Controls/TableControl.cs
113
+ - ext/UiaDll/RAutomation.UIA/Controls/TextControl.cs
114
+ - ext/UiaDll/RAutomation.UIA/Expander.cs
115
+ - ext/UiaDll/RAutomation.UIA/Extensions/Element.cs
116
+ - ext/UiaDll/RAutomation.UIA/Extensions/Enumerable.cs
117
+ - ext/UiaDll/RAutomation.UIA/Extensions/Property.cs
118
+ - ext/UiaDll/RAutomation.UIA/Properties/AssemblyInfo.cs
119
+ - ext/UiaDll/RAutomation.UIA/Properties/AutomationProperties.cs
120
+ - ext/UiaDll/RAutomation.UIA/RAutomation.UIA.csproj
108
121
  - ext/UiaDll/UiaDll.sln
109
122
  - ext/UiaDll/UiaDll/AssemblyInfo.cpp
110
- - ext/UiaDll/UiaDll/AutomatedSelectList.cpp
111
- - ext/UiaDll/UiaDll/AutomatedSelectList.h
112
- - ext/UiaDll/UiaDll/AutomatedTabControl.cpp
113
- - ext/UiaDll/UiaDll/AutomatedTabControl.h
114
- - ext/UiaDll/UiaDll/AutomatedTable.cpp
115
- - ext/UiaDll/UiaDll/AutomatedTable.h
116
- - ext/UiaDll/UiaDll/AutomatedText.cpp
117
- - ext/UiaDll/UiaDll/AutomatedText.h
118
- - ext/UiaDll/UiaDll/AutomationClicker.cpp
119
- - ext/UiaDll/UiaDll/AutomationClicker.h
120
- - ext/UiaDll/UiaDll/AutomationControl.cpp
121
- - ext/UiaDll/UiaDll/AutomationControl.h
122
- - ext/UiaDll/UiaDll/AutomationFinder.cpp
123
- - ext/UiaDll/UiaDll/AutomationFinder.h
124
123
  - ext/UiaDll/UiaDll/ControlMethods.cpp
125
- - ext/UiaDll/UiaDll/ExpandCollapseHelper.cpp
126
- - ext/UiaDll/UiaDll/ExpandCollapseHelper.h
124
+ - ext/UiaDll/UiaDll/DynamicAssemblyResolver.cpp
125
+ - ext/UiaDll/UiaDll/DynamicAssemblyResolver.h
126
+ - ext/UiaDll/UiaDll/Locator.cpp
127
+ - ext/UiaDll/UiaDll/Locator.h
127
128
  - ext/UiaDll/UiaDll/MenuItemSelector.cpp
128
129
  - ext/UiaDll/UiaDll/MenuItemSelector.h
129
130
  - ext/UiaDll/UiaDll/MenuMethods.cpp
130
131
  - ext/UiaDll/UiaDll/ReadMe.txt
131
132
  - ext/UiaDll/UiaDll/SelectListMethods.cpp
132
- - ext/UiaDll/UiaDll/SelectionItem.cpp
133
- - ext/UiaDll/UiaDll/SelectionItem.h
133
+ - ext/UiaDll/UiaDll/SpinnerMethods.cpp
134
134
  - ext/UiaDll/UiaDll/StringHelper.cpp
135
135
  - ext/UiaDll/UiaDll/StringHelper.h
136
136
  - ext/UiaDll/UiaDll/StringMethods.cpp
137
137
  - ext/UiaDll/UiaDll/TabControlMethods.cpp
138
138
  - ext/UiaDll/UiaDll/TableMethods.cpp
139
139
  - ext/UiaDll/UiaDll/TextMethods.cpp
140
- - ext/UiaDll/UiaDll/Toggle.cpp
141
- - ext/UiaDll/UiaDll/Toggle.h
142
140
  - ext/UiaDll/UiaDll/ToggleStateHelper.h
143
141
  - ext/UiaDll/UiaDll/UiaDll.cpp
144
142
  - ext/UiaDll/UiaDll/UiaDll.h
@@ -147,7 +145,6 @@ files:
147
145
  - ext/UiaDll/UiaDll/app.ico
148
146
  - ext/UiaDll/UiaDll/app.rc
149
147
  - ext/UiaDll/UiaDll/dllmain.cpp
150
- - ext/UiaDll/UiaDll/globals.h
151
148
  - ext/UiaDll/UiaDll/resource.h
152
149
  - ext/UiaDll/UiaDll/stdafx.cpp
153
150
  - ext/UiaDll/UiaDll/stdafx.h
@@ -156,8 +153,6 @@ files:
156
153
  - ext/WindowsForms/WindowsForms/AboutBox.Designer.cs
157
154
  - ext/WindowsForms/WindowsForms/AboutBox.cs
158
155
  - ext/WindowsForms/WindowsForms/AboutBox.resx
159
- - ext/WindowsForms/WindowsForms/AutomatableMonthCalendar.cs
160
- - ext/WindowsForms/WindowsForms/AutomationHelpers/AutomationProvider.cs
161
156
  - ext/WindowsForms/WindowsForms/DataEntryForm.Designer.cs
162
157
  - ext/WindowsForms/WindowsForms/DataEntryForm.cs
163
158
  - ext/WindowsForms/WindowsForms/DataEntryForm.resx
@@ -180,6 +175,8 @@ files:
180
175
  - ext/WindowsForms/WindowsForms/SimpleElementsForm.Designer.cs
181
176
  - ext/WindowsForms/WindowsForms/SimpleElementsForm.cs
182
177
  - ext/WindowsForms/WindowsForms/SimpleElementsForm.resx
178
+ - ext/WindowsForms/WindowsForms/UIA.Extensions.dll
179
+ - ext/WindowsForms/WindowsForms/ValueMonthCalendar.cs
183
180
  - ext/WindowsForms/WindowsForms/WindowsForms.csproj
184
181
  - lib/rautomation.rb
185
182
  - lib/rautomation/adapter/autoit.rb
@@ -205,6 +202,7 @@ files:
205
202
  - lib/rautomation/adapter/ms_uia/menu.rb
206
203
  - lib/rautomation/adapter/ms_uia/radio.rb
207
204
  - lib/rautomation/adapter/ms_uia/select_list.rb
205
+ - lib/rautomation/adapter/ms_uia/spinner.rb
208
206
  - lib/rautomation/adapter/ms_uia/tab_control.rb
209
207
  - lib/rautomation/adapter/ms_uia/table.rb
210
208
  - lib/rautomation/adapter/ms_uia/text_field.rb
@@ -247,6 +245,7 @@ files:
247
245
  - spec/adapter/ms_uia/listbox_spec.rb
248
246
  - spec/adapter/ms_uia/radio_spec.rb
249
247
  - spec/adapter/ms_uia/select_list_spec.rb
248
+ - spec/adapter/ms_uia/spinner_spec.rb
250
249
  - spec/adapter/ms_uia/tab_control_spec.rb
251
250
  - spec/adapter/ms_uia/table_spec.rb
252
251
  - spec/adapter/ms_uia/text_field_spec.rb
@@ -271,6 +270,7 @@ files:
271
270
  - spec/windows_spec.rb
272
271
  - ext/IAccessibleDLL/Release/IAccessibleDLL.dll
273
272
  - ext/UiaDll/Release/UiaDll.dll
273
+ - ext/UiaDll/Release/RAutomation.UIA.dll
274
274
  - ext/WindowsForms/Release/WindowsForms.exe
275
275
  homepage: http://github.com/jarmo/RAutomation
276
276
  licenses:
@@ -309,6 +309,7 @@ test_files:
309
309
  - spec/adapter/ms_uia/listbox_spec.rb
310
310
  - spec/adapter/ms_uia/radio_spec.rb
311
311
  - spec/adapter/ms_uia/select_list_spec.rb
312
+ - spec/adapter/ms_uia/spinner_spec.rb
312
313
  - spec/adapter/ms_uia/tab_control_spec.rb
313
314
  - spec/adapter/ms_uia/table_spec.rb
314
315
  - spec/adapter/ms_uia/text_field_spec.rb