sikulix 1.1.0.3 → 1.1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []