sikulix 1.1.0.3 → 1.1.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 79254b1df7a34649ceed1765590f4b3036b803a8
4
- data.tar.gz: 79a7453162e4e577359c4ac98ca7a7a30901dd59
3
+ metadata.gz: 490fa003b67f867a66376c9f976594608f817c4d
4
+ data.tar.gz: 6d5462a07769b291b29b0a728f1aaf7e008f23ea
5
5
  SHA512:
6
- metadata.gz: 3902b052eaba0ebf3b2dcbe8986983e98d787ddc79a24e4ba5d6f8a6868626c209f6edef920a74e25b1494556051f58e408d61368626b23de7dac18613bcb814
7
- data.tar.gz: 23e8339486235a5c6989196f1712206af5e4b5ae7e02bf0ba26fd91b1b0fe6ce265f8d80f4440b5ff40cb7f266b4f5a1be44584cc12d03f45653d92203109b5e
6
+ metadata.gz: c8dd52131ad1612e31a1e0d9458127023fabd7bdc25833d51fb67cafea5563a93122c56148ad4aa360e47e0b68d0b254eee90f773e907aebeb95ecfcc449fe55
7
+ data.tar.gz: e9d407765e5cb56bd7e75b020634504bba817ff3f9bab8a70dfc9fdfe0a33704b69afb4523f10c86375d2dec6cbfac628e4ce05790c0caef094e8ec7d5760a82
@@ -4,8 +4,8 @@ module Sikulix
4
4
  class Platform
5
5
  def self.check_and_require
6
6
  begin
7
- # check running from IDE
8
- java_import org.sikuli.basics.Sikulix
7
+ # check running from SikuliX
8
+ java_import org.sikuli.script.Sikulix
9
9
  rescue
10
10
  # check external jar
11
11
  sikulix_path = (ENV['SIKULIXAPI_JAR'] || ENV['SIKULIX_HOME'] || "").chomp(' ')
@@ -6,53 +6,41 @@ require 'java'
6
6
  # Classes and methods for using SikuliX
7
7
  module Sikulix
8
8
  private
9
-
10
9
  # 'private' for avoiding of unexpected effects when
11
10
  # 'include Sikulix' is used.
11
+ java_import java.net.Socket
12
12
 
13
- java_import org.sikuli.script.Sikulix
14
- java_import org.sikuli.script.Screen
15
- java_import org.sikuli.script.Region
16
- java_import org.sikuli.script.ScreenUnion
13
+ java_import org.sikuli.script.support.RunTime
14
+ $RUNTIME = RunTime.get()
17
15
 
18
- java_import org.sikuli.script.Observing
19
- java_import org.sikuli.script.ObserverCallBack
16
+ java_import org.sikuli.script.Sikulix
20
17
 
18
+ java_import org.sikuli.basics.Settings
21
19
  java_import org.sikuli.script.Constants
22
- java_import org.sikuli.script.Finder
23
- java_import org.sikuli.script.ImageFinder
24
- java_import org.sikuli.script.ImageFind
25
-
26
20
  java_import org.sikuli.script.Button
27
21
  java_import org.sikuli.basics.OS
28
22
 
29
- java_import org.sikuli.script.Match
30
- java_import org.sikuli.script.Pattern
23
+ java_import org.sikuli.basics.Debug
24
+
25
+ java_import org.sikuli.script.Screen
26
+ java_import org.sikuli.script.Region
31
27
  java_import org.sikuli.script.Location
28
+ java_import org.sikuli.script.Offset
32
29
 
33
30
  java_import org.sikuli.script.ImagePath
34
31
  java_import org.sikuli.script.Image
35
- java_import org.sikuli.script.ImageGroup
32
+
33
+ java_import org.sikuli.script.ObserverCallBack
34
+ java_import org.sikuli.script.ObserveEvent
35
+
36
+ java_import org.sikuli.script.Finder
37
+ java_import org.sikuli.script.Match
38
+ java_import org.sikuli.script.Pattern
36
39
 
37
40
  java_import org.sikuli.script.App
38
41
  java_import org.sikuli.script.Key
39
42
  java_import org.sikuli.script.KeyModifier
40
43
  java_import org.sikuli.script.Mouse
41
- java_import org.sikuli.script.Keys
42
-
43
- java_import org.sikuli.basics.Settings
44
- java_import org.sikuli.basics.ExtensionManager
45
-
46
- java_import org.sikuli.script.compare.DistanceComparator
47
- java_import org.sikuli.script.compare.VerticalComparator
48
- java_import org.sikuli.script.compare.HorizontalComparator
49
-
50
- java_import org.sikuli.basics.Debug
51
-
52
- begin
53
- java_import org.sikuli.scriptrunner.ScriptRunner
54
- rescue
55
- end
56
44
 
57
45
  #
58
46
  # This method generates a wrapper for Java Native exception processing
@@ -92,47 +80,6 @@ module Sikulix
92
80
  private name
93
81
  end
94
82
 
95
- # Redefinition of native org.sikuli.script.Region class
96
- class Region
97
- # Service class for all callbacks processing
98
- class RObserverCallBack < ObserverCallBack # :nodoc: all
99
- def initialize(block)
100
- super()
101
- @block = block
102
- end
103
- %w(appeared vanished changed).each do |name|
104
- define_method(name) do |*args|
105
- @block.call(*(args.first @block.arity))
106
- end
107
- end
108
- end
109
- alias_method :java_onAppear, :onAppear
110
- alias_method :java_onVanish, :onVanish
111
- alias_method :java_onChange, :onChange
112
-
113
- # Redefinition of the java method for Ruby specific
114
- def onAppear(target, &block)
115
- java_onAppear target, RObserverCallBack.new(block)
116
- end
117
-
118
- # Redefinition of the java method for Ruby specific
119
- def onVanish(target, &block)
120
- java_onVanish target, RObserverCallBack.new(block)
121
- end
122
-
123
- # Redefinition of the java method for Ruby specific
124
- def onChange(&block)
125
- java_onChange RObserverCallBack.new(block)
126
- end
127
-
128
- # alias_method :java_findAll, :findAll
129
- # def findAll(*args)
130
- # begin
131
- # java_findAll(*args)
132
- # rescue NativeException => e; raise e.message; end
133
- # end
134
- end
135
-
136
83
  # Wrap following java-methods by an exception processor
137
84
  native_exception_protect(
138
85
  Region,
@@ -141,8 +88,22 @@ module Sikulix
141
88
  :type, :paste, :observe]
142
89
  )
143
90
 
144
- # Default screen object for "undotted" methods.
91
+ # Default screen of host machine.
145
92
  $SIKULI_SCREEN = Screen.new
93
+ # Screen used for undotted methods.
94
+ $DEFAULT_SCREEN = $SIKULI_SCREEN
95
+
96
+ # Replaces default screen for which all undotted methods are
97
+ # called with another screen
98
+ # example:
99
+ # setDefaultScreen($SIKULI_SCREEN)
100
+ # click(Location(10,10)) <- click will be performed on local screen
101
+ def setDefaultScreen(screen)
102
+ if screen.respond_to?(:click)
103
+ $DEFAULT_SCREEN = screen
104
+ Debug.log("Screen switched")
105
+ end
106
+ end
146
107
 
147
108
  # This is an alternative for method generation using define_method
148
109
  # # Generate hash of ('method name'=>method)
@@ -171,12 +132,13 @@ module Sikulix
171
132
 
172
133
  # Generate static methods in Sikulix context
173
134
  # for possible "undotted" methods.
174
- [$SIKULI_SCREEN, Sikulix].each do |obj|
175
- mtype = (obj.class == Class ? :java_class_methods : :java_instance_methods)
176
- obj.java_class.method(mtype).call.map(&:name).uniq.each do |name|
177
- obj_meth = obj.method(name)
178
- dynamic_def(name) { |*args, &block| obj_meth.call(*args, &block) }
179
- end
135
+ Sikulix.java_class.java_class_methods.map(&:name).uniq.each do |name|
136
+ obj_method = Sikulix.method(name)
137
+ dynamic_def(name) { |*args, &block| obj_method.call(*args, &block) }
138
+ end
139
+
140
+ $SIKULI_SCREEN.java_class.java_instance_methods.map(&:name).uniq.each do |name|
141
+ dynamic_def(name) { |*args, &block| $DEFAULT_SCREEN.method(name).call(*args, &block) }
180
142
  end
181
143
 
182
144
  # TODO: check it after Env Java-class refactoring
@@ -219,10 +181,11 @@ module Sikulix
219
181
 
220
182
  # Generate methods like constructors.
221
183
  # Example: Pattern("123.png").similar(0.5)
222
- [Pattern, Region, Screen, App, Location].each do |cl|
184
+ [Pattern, Region, Screen, App].each do |cl|
223
185
  name = cl.java_class.simple_name
224
186
  dynamic_def(name) { |*args| cl.new(*args) }
225
187
  end
188
+ dynamic_def("Location") { |*args| Location.new(*args).setOtherScreen($DEFAULT_SCREEN) }
226
189
  end
227
190
 
228
191
  # This is an alternative for method generation using define_method
metadata CHANGED
@@ -1,18 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sikulix
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0.3
4
+ version: 1.1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman S Samarev
8
8
  - Raimund Hocke
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-09-10 00:00:00.000000000 Z
12
+ date: 2019-04-04 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: A wrapper over SikuliX java lib (sikulixapi.jar)
15
- email: rssdev10@gmail.com
14
+ description: SikuliX Java API Wrapper (sikulixapi.jar version 1.1.4+)
15
+ email: sikulix@outlook.com
16
16
  executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
@@ -24,24 +24,24 @@ homepage: http://sikulix.com
24
24
  licenses:
25
25
  - MIT
26
26
  metadata: {}
27
- post_install_message:
27
+ post_install_message:
28
28
  rdoc_options: []
29
29
  require_paths:
30
30
  - lib
31
31
  required_ruby_version: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - '>='
33
+ - - ">="
34
34
  - !ruby/object:Gem::Version
35
35
  version: '0'
36
36
  required_rubygems_version: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  requirements: []
42
- rubyforge_project:
43
- rubygems_version: 2.1.9
44
- signing_key:
42
+ rubyforge_project:
43
+ rubygems_version: 2.5.2.3
44
+ signing_key:
45
45
  specification_version: 4
46
46
  summary: Sikulix gem
47
47
  test_files: []