ruby_motion_query 1.6.1 → 1.7.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: b355a45a7110338fc6c02889a66d384c1734a33a
4
- data.tar.gz: fc38661d7c12c3e2f87d416dae6033a50c37bd84
3
+ metadata.gz: f671d2796fc4aff7e4d887b96f0264e77f2325a1
4
+ data.tar.gz: 86fdf864c95877496ec43b14a5eb151b1a74a4f4
5
5
  SHA512:
6
- metadata.gz: f53052d866be68dd0477ef021b73ed699d8e17e22a644376f2f54de0f596906bfafad95ce426b94e473182ee52cf65017ede0dde8d4adeeb22d601e9e2f9a28a
7
- data.tar.gz: 760ac10daad4c5931d39c7e5723a86966cd952408f97c5a643989e16e7052bbad680fc8e6e95618e355767a192fe31da9ee8440401d9a57ba55d875c5b252cd7
6
+ metadata.gz: 80f58e497f9f38d112c473e329ea51a83e229fab1b4a5a9b27cd1a0df39204dbe581e5d174f59971bfa2f52197a39f22862a62acc449c65439692e68453441ad
7
+ data.tar.gz: e25c918eb3455eec499c009f577f318f883e7439db5b9cb93706b34432eb77090144c85475fe2d7ef146277eb7a3c96ba5d64b233391f7746ea48dd50417bf90
@@ -51,7 +51,7 @@ module RubyMotionQuery
51
51
  when UIButton then view.titleForState(UIControlStateNormal)
52
52
  when UIImageView then view.image
53
53
  #when UITableView then
54
- #when UISwitch then
54
+ when UISwitch then view.on?
55
55
  #when UIDatePicker then
56
56
  #when UISegmentedControl then
57
57
  #when UIRefreshControl then
@@ -128,6 +128,29 @@ module RubyMotionQuery
128
128
  out
129
129
  end
130
130
 
131
+ # @return [RMQ]
132
+ def sink(opts = {})
133
+ opts = {
134
+ duration: 0.4,
135
+ animations: ->(cq) {
136
+ cq.style {|st| st.scale = 1.0}
137
+ }
138
+ }.merge(opts)
139
+
140
+ out = @rmq.animate(
141
+ duration: opts[:duration_out] || 0.1,
142
+ animations: ->(q) {
143
+ q.style {|st| st.scale = 0.9}
144
+ },
145
+ completion: ->(did_finish, completion_rmq) {
146
+ if did_finish
147
+ completion_rmq.animate(opts)
148
+ end
149
+ }
150
+ )
151
+ out
152
+ end
153
+
131
154
  # @return [RMQ]
132
155
  def sink_and_throb(opts = {})
133
156
  opts = {
@@ -220,7 +243,8 @@ module RubyMotionQuery
220
243
  duration: 0.5,
221
244
  options: UIViewAnimationOptionCurveEaseIn,
222
245
  before: ->(bq) {
223
- start_frame = bq.get.frame
246
+ bq.hide
247
+ start_frame = bq.get.frame.dup
224
248
 
225
249
  case from_direction
226
250
  when :right
@@ -232,6 +256,7 @@ module RubyMotionQuery
232
256
  else :bottom
233
257
  bq.move(t: rmq.device.height)
234
258
  end
259
+ bq.show
235
260
  start_frame
236
261
  },
237
262
  animations: ->(aq, return_var) {
@@ -121,10 +121,16 @@ module RubyMotionQuery
121
121
  def current_view_controller(root_view_controller = nil)
122
122
  if root_view_controller || ((window = RMQ.app.window) && (root_view_controller = window.rootViewController))
123
123
  case root_view_controller
124
+ when UIMoreNavigationController # This must be above UINavigationController because it's a subclass
125
+ root_view_controller.visibleViewController
124
126
  when UINavigationController
125
127
  current_view_controller(root_view_controller.visibleViewController)
126
128
  when UITabBarController
127
- current_view_controller(root_view_controller.selectedViewController)
129
+ if root_view_controller.viewControllers.count > 5 && root_view_controller.selectedIndex >= 4
130
+ current_view_controller(root_view_controller.moreNavigationController)
131
+ else
132
+ current_view_controller(root_view_controller.selectedViewController)
133
+ end
128
134
  else
129
135
  if root_view_controller.respond_to?(:visibleViewController)
130
136
  current_view_controller(root_view_controller.visibleViewController)
@@ -271,6 +271,10 @@ module RubyMotionQuery
271
271
  puts out
272
272
  end
273
273
 
274
+ def log_tree
275
+ self.log :tree
276
+ end
277
+
274
278
  def tree_to_s(selected_views, depth = 0)
275
279
  out = ""
276
280
 
@@ -161,13 +161,9 @@ module RubyMotionQuery
161
161
 
162
162
  def self.from_base_color(values)
163
163
  base = values[:base] || values[:color]
164
- begin
165
- r, g, b, a = Pointer.new('d'), Pointer.new('d'), Pointer.new('d'), Pointer.new('d')
166
- base.getRed(r, green: g, blue: b, alpha: a)
167
- rescue
168
- r, g, b, a = Pointer.new('f'), Pointer.new('f'), Pointer.new('f'), Pointer.new('f')
169
- base.getRed(r, green: g, blue: b, alpha: a)
170
- end
164
+ type = CGSize.type[/(f|d)/]
165
+ r, g, b, a = Pointer.new(type), Pointer.new(type), Pointer.new(type), Pointer.new(type)
166
+ base.getRed(r, green: g, blue: b, alpha: a)
171
167
 
172
168
  r = values[:r] || values[:red] || r.value
173
169
  g = values[:g] || values[:green] || g.value
@@ -64,6 +64,12 @@ module RubyMotionQuery
64
64
  styles[0] = value
65
65
  end
66
66
 
67
+ # view.rmq_data.styles = [:something]
68
+ # Convenience method for setting the entire styles variable
69
+ def styles=(s)
70
+ @_styles = Array(s)
71
+ end
72
+
67
73
  #view.rmq_data.styles
68
74
  def styles
69
75
  @_styles ||= []
@@ -90,7 +90,9 @@ module RubyMotionQuery
90
90
  end
91
91
 
92
92
  def simulator?
93
- @_simulator = !(UIDevice.currentDevice.model =~ /simulator/i).nil? if @_simulator.nil?
93
+ if @_simulator.nil?
94
+ @_simulator = !(UIDevice.currentDevice.name.downcase =~ /simulator/).nil?
95
+ end
94
96
  @_simulator
95
97
  end
96
98
 
@@ -114,6 +116,11 @@ module RubyMotionQuery
114
116
  @_five_point_five_inch
115
117
  end
116
118
 
119
+ def twelve_point_nine_inch?
120
+ @_twelve_point_nine_inch = (Device.height == 1366.0) if @_twelve_point_nine_inch.nil?
121
+ @_twelve_point_nine_inch
122
+ end
123
+
117
124
  def retina?
118
125
  if @_retina.nil?
119
126
  main_screen = Device.screen
@@ -190,6 +197,8 @@ module RubyMotionQuery
190
197
  puts "screen size: 4\""
191
198
  elsif three_point_five_inch?
192
199
  puts "screen size: 3.5\""
200
+ elsif twelve_point_nine_inch?
201
+ puts "screen size: 12.9\""
193
202
  end
194
203
  end
195
204
 
@@ -106,9 +106,20 @@ module RubyMotionQuery
106
106
  self
107
107
  end
108
108
 
109
- def trigger(event)
109
+ def trigger(event_name)
110
110
  selected.each do |view|
111
- events(view)[event].block.call(view.rmq) if events(view)[event]
111
+ event = events(view)[event_name]
112
+
113
+ if event
114
+ case event.block.arity
115
+ when 2
116
+ event.block.call(view, event)
117
+ when 1
118
+ event.block.call(view)
119
+ else
120
+ event.block.call
121
+ end
122
+ end
112
123
  end
113
124
 
114
125
  self
@@ -25,10 +25,10 @@ module RubyMotionQuery
25
25
  #
26
26
  #
27
27
  # # Another way is to add named fonts:
28
- # RubyMotionQuery::Font.add_named_font :large, STANDARD_FONT, 44
28
+ # RubyMotionQuery::Font.add_named :large, STANDARD_FONT, 44
29
29
  #
30
30
  # # In a stylesheet you can just do
31
- # font.add_named_font :large, STANDARD_FONT, 44
31
+ # font.add_named :large, STANDARD_FONT, 44
32
32
  #
33
33
  # # The use like so in your stylesheet:
34
34
  # font = font.large
@@ -75,7 +75,7 @@ module RubyMotionQuery
75
75
  #
76
76
  # @example
77
77
  # font = rmq.font.system(18)
78
- def system(size = nil)
78
+ def system(size = UIFont.systemFontSize)
79
79
  UIFont.systemFontOfSize(size)
80
80
  end
81
81
 
@@ -17,7 +17,7 @@ module RubyMotionQuery
17
17
 
18
18
  # @return [UIImage]
19
19
  def resource_for_device(file_base_name, opts = {})
20
- ext = if RMQ.device.five_point_five_inch?
20
+ ext = if RMQ.device.five_point_five_inch? || RMQ.device.ipad?
21
21
  "-736h"
22
22
  elsif RMQ.device.four_point_seven_inch?
23
23
  "-667h"
@@ -368,6 +368,10 @@ module RubyMotionQuery
368
368
  t = root_view_point.y
369
369
  end
370
370
 
371
+ if rmq.app.development? && (w <= 0 || h <= 0)
372
+ puts "#{view.rmq_data.style_name}: One or more values in your frame is a negative or zero. If this is unexpected, check your styles.\nFrame values: {l: #{l}, t: #{t}, w: #{w}, h: #{h}}"
373
+ end
374
+
371
375
  [l,t,w,h]
372
376
  end
373
377
 
@@ -67,7 +67,7 @@ module RubyMotionQuery
67
67
 
68
68
  # managing overlay views
69
69
  def clear_button_mode ; view.clearButtonMode ; end
70
- def clear_button_mode=(v) ; view.clearButtonMode = v ; end
70
+ def clear_button_mode=(v) ; view.clearButtonMode = TEXT_FIELD_MODES[v] || v ; end
71
71
 
72
72
  def left_view ; view.leftView ; end
73
73
  def left_view=(v) ; view.leftView = v ; end
@@ -387,6 +387,11 @@ module RubyMotionQuery
387
387
  end
388
388
  def shadow_opacity ; @view.layer.shadowOpacity ; end
389
389
 
390
+ def shadow_radius=(radius)
391
+ @view.layer.shadowRadius = radius
392
+ end
393
+ def shadow_radius ; @view.layer.shadowRadius ; end
394
+
390
395
  def shadow_path=(path)
391
396
  @view.layer.shadowPath = path
392
397
  end
@@ -55,6 +55,13 @@ module RubyMotionQuery
55
55
  end
56
56
  alias :remove_styles :remove_style
57
57
 
58
+ def remove_all_styles
59
+ selected.each do |view|
60
+ view.rmq_data.styles = nil
61
+ end
62
+ self
63
+ end
64
+
58
65
  # Pass a block to apply styles, an inline way of applynig a style
59
66
  # @example
60
67
  # rmq(view).style{|st| st.background_color = rmq.color.blue}
@@ -283,6 +290,10 @@ module RubyMotionQuery
283
290
  device.five_point_five_inch?
284
291
  end
285
292
 
293
+ def twelve_point_nine_inch?
294
+ device.twelve_point_nine_inch?
295
+ end
296
+
286
297
  def retina?
287
298
  device.retina?
288
299
  end
@@ -1,5 +1,5 @@
1
1
  module RubyMotionQuery
2
- VERSION = "1.6.1"
2
+ VERSION = "1.7.0"
3
3
 
4
4
  class RMQ
5
5
  def version
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_motion_query
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.1
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Todd Werth
@@ -9,22 +9,8 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-07-11 00:00:00.000000000 Z
12
+ date: 2015-11-30 00:00:00.000000000 Z
13
13
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: bacon
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - ">="
19
- - !ruby/object:Gem::Version
20
- version: '0'
21
- type: :development
22
- prerelease: false
23
- version_requirements: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- version: '0'
28
14
  - !ruby/object:Gem::Dependency
29
15
  name: rake
30
16
  requirement: !ruby/object:Gem::Requirement
@@ -148,9 +134,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
134
  version: '0'
149
135
  requirements: []
150
136
  rubyforge_project:
151
- rubygems_version: 2.4.6
137
+ rubygems_version: 2.4.5.1
152
138
  signing_key:
153
139
  specification_version: 4
154
140
  summary: RubyMotionQuery - RMQ
155
141
  test_files: []
156
- has_rdoc: