ruby_motion_query 1.3.4 → 1.3.5
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 +4 -4
- data/README.md +13 -3
- data/motion/ext.rb +34 -2
- data/motion/ruby_motion_query/event.rb +7 -5
- data/motion/ruby_motion_query/inspector_stylesheet.rb +1 -1
- data/motion/ruby_motion_query/stylers/ui_date_picker_styler.rb +1 -1
- data/motion/ruby_motion_query/stylers/ui_image_view_styler.rb +1 -1
- data/motion/ruby_motion_query/stylers/ui_navigation_bar_styler.rb +1 -1
- data/motion/ruby_motion_query/stylers/ui_refresh_control_styler.rb +1 -1
- data/motion/ruby_motion_query/stylers/ui_segmented_control_styler.rb +5 -1
- data/motion/ruby_motion_query/stylers/ui_slider_styler.rb +1 -1
- data/motion/ruby_motion_query/stylers/ui_stepper_styler.rb +1 -1
- data/motion/ruby_motion_query/stylers/ui_switch_styler.rb +1 -1
- data/motion/ruby_motion_query/stylers/ui_tab_bar_styler.rb +1 -1
- data/motion/ruby_motion_query/stylesheet.rb +12 -0
- data/motion/ruby_motion_query/traverse.rb +16 -16
- data/motion/ruby_motion_query/version.rb +1 -1
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 06135a6091495e91324d14b0618089880d6aa351
|
4
|
+
data.tar.gz: 67755dca95594e80099768f3fc59020ed6cdd9e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c5a21dbe01295ee3a7f3b132f33c49a11baf6074788bb2349c68a7b9920faaac99cf6d52544452b784da32787f939db17e1b94ee947edbf81da0bcd93b9f23d
|
7
|
+
data.tar.gz: 6b282403f1eaf0a2b2a00ac22f37bac65f6dcc3472ee78e696d7da5f2197bc71c286503f1424faef08571ddbcf8b27f4e8dbf2bd33c07fbf70b62caf66392a1b
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|

|
2
2
|
|
3
|
+
<br />
|
4
|
+
|
3
5
|
# RMQ - RubyMotion Front-end Library
|
4
6
|
|
5
7
|
[](https://gemnasium.com/infinitered/rmq)
|
@@ -15,7 +17,17 @@ One of RMQ's goals is to have the best [documentation][1] of any RubyMotion UI l
|
|
15
17
|
|
16
18
|
----------
|
17
19
|
|
18
|
-
|
20
|
+
<br />
|
21
|
+
<br />
|
22
|
+
|
23
|
+
[](http://rubymotionquery.com)
|
24
|
+
|
25
|
+
**Read the [RMQ Documentation][1] here**<-
|
26
|
+
|
27
|
+
**If you like RMQ, check out [RedPotion](http://redpotion.org), the ultimate gem for RubyMotion.**<-
|
28
|
+
|
29
|
+
<br />
|
30
|
+
<br />
|
19
31
|
|
20
32
|
----------
|
21
33
|
|
@@ -94,10 +106,8 @@ RMQ is available under the MIT license. See the [LICENSE](https://github.com/inf
|
|
94
106
|
|
95
107
|
<br />
|
96
108
|
|
97
|
-
----------
|
98
109
|
|
99
110
|
## Read the [RMQ Documentation][1] here
|
100
111
|
|
101
|
-
----------
|
102
112
|
|
103
113
|
[1]: http://rubymotionquery.com
|
data/motion/ext.rb
CHANGED
@@ -82,7 +82,8 @@ if RUBYMOTION_ENV == "development"
|
|
82
82
|
out[klass_name] = {
|
83
83
|
class_name: klass_name,
|
84
84
|
path: stylesheet_path_file,
|
85
|
-
modified: File.mtime(stylesheet_path_file)
|
85
|
+
modified: File.mtime(stylesheet_path_file)
|
86
|
+
# TODO, for each stylehsheet find every view_controller that uses it and sub stylesheets
|
86
87
|
}
|
87
88
|
out
|
88
89
|
end
|
@@ -109,10 +110,41 @@ if RUBYMOTION_ENV == "development"
|
|
109
110
|
|
110
111
|
end
|
111
112
|
|
112
|
-
|
113
|
+
if style_changed
|
114
|
+
rmq_live_current_view_controllers.each do |vc|
|
115
|
+
vc.rmq.all.and_self.reapply_styles
|
116
|
+
end
|
117
|
+
end
|
113
118
|
end
|
114
119
|
|
115
120
|
"Live reloading of RMQ stylesheets is now on."
|
116
121
|
end
|
122
|
+
|
123
|
+
def rmq_live_current_view_controllers(vc = nil)
|
124
|
+
vc = rmq.window.rootViewController unless vc
|
125
|
+
vcs = []
|
126
|
+
|
127
|
+
if vc.rmq.stylesheet
|
128
|
+
vcs << vc
|
129
|
+
end
|
130
|
+
|
131
|
+
if children_vcs = vc.childViewControllers
|
132
|
+
children_vcs.each do |child_vc|
|
133
|
+
vcs << rmq_live_current_view_controllers(child_vc)
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
vcs.flatten
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
module RubyMotionQuery
|
142
|
+
module Stylers
|
143
|
+
class UIViewStyler
|
144
|
+
def method_missing method, *args
|
145
|
+
puts "Sorry, #{method} is not implemented on #{self.class}. This will produce a crash when not in debug mode."
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
117
149
|
end
|
118
150
|
end
|
@@ -3,6 +3,8 @@ module RubyMotionQuery
|
|
3
3
|
attr_accessor :block, :recognizer, :event, :sdk_event_or_recognizer, :gesture, :sender
|
4
4
|
|
5
5
|
def initialize(sender, event, block)
|
6
|
+
block = block.respond_to?('weak!') ? block.weak! : block
|
7
|
+
|
6
8
|
if CONTROL_EVENTS[event] == ValidationEvent
|
7
9
|
return ValidationEvent.new(block)
|
8
10
|
elsif @sdk_event_or_recognizer = VIEW_GESTURES[event]
|
@@ -50,8 +52,8 @@ module RubyMotionQuery
|
|
50
52
|
if opts[:debounce]
|
51
53
|
@debounce_length = opts[:debounce]
|
52
54
|
@debounce_stamp = Time.now
|
53
|
-
end
|
54
|
-
|
55
|
+
end
|
56
|
+
|
55
57
|
if gesture?
|
56
58
|
@recognizer.tap do |o|
|
57
59
|
o.cancelsTouchesInView = opts[:cancels_touches_in_view] if opts.include?(:cancels_touches_in_view)
|
@@ -87,7 +89,7 @@ module RubyMotionQuery
|
|
87
89
|
|
88
90
|
def location
|
89
91
|
if gesture?
|
90
|
-
@recognizer.locationInView(@sender)
|
92
|
+
@recognizer.locationInView(@sender)
|
91
93
|
else
|
92
94
|
@sender.convertRect(@sender.bounds, toView: nil).origin
|
93
95
|
end
|
@@ -95,7 +97,7 @@ module RubyMotionQuery
|
|
95
97
|
|
96
98
|
def location_in(view)
|
97
99
|
if gesture?
|
98
|
-
@recognizer.locationInView(view)
|
100
|
+
@recognizer.locationInView(view)
|
99
101
|
else
|
100
102
|
@sender.convertRect(@sender.bounds, toView: view).origin
|
101
103
|
end
|
@@ -111,7 +113,7 @@ module RubyMotionQuery
|
|
111
113
|
end
|
112
114
|
end
|
113
115
|
|
114
|
-
CONTROL_EVENTS = {
|
116
|
+
CONTROL_EVENTS = {
|
115
117
|
touch: UIControlEventTouchUpInside,
|
116
118
|
touch_up: UIControlEventTouchUpInside,
|
117
119
|
touch_down: UIControlEventTouchDown,
|
@@ -43,6 +43,18 @@ module RubyMotionQuery
|
|
43
43
|
end
|
44
44
|
alias :apply_styles :apply_style
|
45
45
|
|
46
|
+
def remove_style(*style_names)
|
47
|
+
if style_names
|
48
|
+
selected.each do |view|
|
49
|
+
style_names.each do |style|
|
50
|
+
view.rmq_data.styles.delete(style)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
self
|
55
|
+
end
|
56
|
+
alias :remove_styles :remove_style
|
57
|
+
|
46
58
|
# Pass a block to apply styles, an inline way of applynig a style
|
47
59
|
# @example
|
48
60
|
# rmq(view).style{|st| st.background_color = rmq.color.blue}
|
@@ -1,13 +1,13 @@
|
|
1
|
-
module RubyMotionQuery
|
1
|
+
module RubyMotionQuery
|
2
2
|
class RMQ
|
3
3
|
|
4
4
|
# Most everything uses filter to do its work. This is mostly used internally
|
5
5
|
# but you can use it too. Just pass a block that returns views, it will be
|
6
6
|
# called for every view that is *selected*
|
7
7
|
#
|
8
|
-
# @param return_array returns array not rmq: return_array: true
|
9
|
-
# @param uniq removes duplicate views: uniq: true
|
10
|
-
# @param limit limits the number of views *per selected view*: limit: true
|
8
|
+
# @param return_array returns array not rmq: return_array: true
|
9
|
+
# @param uniq removes duplicate views: uniq: true
|
10
|
+
# @param limit limits the number of views *per selected view*: limit: true
|
11
11
|
#
|
12
12
|
# @return [RMQ]
|
13
13
|
def filter(opts = {}, &block)
|
@@ -17,7 +17,7 @@ module RubyMotionQuery
|
|
17
17
|
selected.each do |view|
|
18
18
|
results = yield(view)
|
19
19
|
unless RMQ.is_blank?(results)
|
20
|
-
out << results
|
20
|
+
out << results
|
21
21
|
break if limit && (out.length >= limit)
|
22
22
|
end
|
23
23
|
end
|
@@ -85,7 +85,7 @@ module RubyMotionQuery
|
|
85
85
|
end
|
86
86
|
end
|
87
87
|
alias :add_self :and_self
|
88
|
-
|
88
|
+
|
89
89
|
# @return [RMQ] The parent rmq instance. This is useful when you want to go down
|
90
90
|
# into the tree, then move back up to do more work. Like jQuery's "end"
|
91
91
|
#
|
@@ -104,7 +104,7 @@ module RubyMotionQuery
|
|
104
104
|
end
|
105
105
|
alias :superview :parent
|
106
106
|
|
107
|
-
# @return [RMQ] Instance selecting the parents, grandparents, etc, all the way up the tree
|
107
|
+
# @return [RMQ] Instance selecting the parents, grandparents, etc, all the way up the tree
|
108
108
|
# of the selected view(s)
|
109
109
|
#
|
110
110
|
# @param selectors
|
@@ -232,7 +232,7 @@ module RubyMotionQuery
|
|
232
232
|
end
|
233
233
|
end
|
234
234
|
|
235
|
-
# For each selected view, get the first view that matches the selector(s) by testing the view's parent and
|
235
|
+
# For each selected view, get the first view that matches the selector(s) by testing the view's parent and
|
236
236
|
# traversing up through its ancestors in the tree
|
237
237
|
#
|
238
238
|
# @return [RMQ] Instance selecting the first parent or grandparent or ancestor up the tree of the selected view(s)
|
@@ -253,15 +253,15 @@ module RubyMotionQuery
|
|
253
253
|
# Be mindful of that.
|
254
254
|
#
|
255
255
|
# When you call rmq within a controller or view, a new instance of RMQ is created with the selectors you may or may
|
256
|
-
# not have supplied. That instance will determine what view_controller it should use for stuff like traversing,
|
256
|
+
# not have supplied. That instance will determine what view_controller it should use for stuff like traversing,
|
257
257
|
# stylesheet, etc.
|
258
258
|
#
|
259
259
|
# * rmq method called in a controller: that controller is used
|
260
260
|
#
|
261
|
-
# * rmq method called in a view and that view is within the subview tree of a controller: that controller is used
|
261
|
+
# * rmq method called in a view and that view is within the subview tree of a controller: that controller is used
|
262
262
|
#
|
263
263
|
#
|
264
|
-
# * rmq method called in a view and that view is NOT within any subview tree of any controller (common in a UITableViewCell
|
264
|
+
# * rmq method called in a view and that view is NOT within any subview tree of any controller (common in a UITableViewCell
|
265
265
|
# for example). In this case it will use the view's controller or the "current controller". Generally
|
266
266
|
# that is what is desired, however there are some situations where another controller should be used. In that
|
267
267
|
# situation create your own rmq instance and assign the controller you'd rather use
|
@@ -291,9 +291,9 @@ module RubyMotionQuery
|
|
291
291
|
|
292
292
|
#debug.assert(vc.is_a?(UIViewController), 'Invalid controller in weak_view_controller') do
|
293
293
|
#{
|
294
|
-
#vc: vc,
|
295
|
-
#context: @context,
|
296
|
-
#parent_rmq: self.parent_rmq,
|
294
|
+
#vc: vc,
|
295
|
+
#context: @context,
|
296
|
+
#parent_rmq: self.parent_rmq,
|
297
297
|
#current_view_controller: RMQ.app.current_view_controller
|
298
298
|
#}
|
299
299
|
#end
|
@@ -333,7 +333,7 @@ module RubyMotionQuery
|
|
333
333
|
self.root_view.window
|
334
334
|
end
|
335
335
|
|
336
|
-
protected
|
336
|
+
protected
|
337
337
|
|
338
338
|
def closest_view(view, working_selectors)
|
339
339
|
if nr = view.nextResponder
|
@@ -344,7 +344,7 @@ module RubyMotionQuery
|
|
344
344
|
end
|
345
345
|
else
|
346
346
|
nil
|
347
|
-
end
|
347
|
+
end
|
348
348
|
end
|
349
349
|
|
350
350
|
end
|
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.3.
|
4
|
+
version: 1.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Todd Werth
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-04-
|
12
|
+
date: 2015-04-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bacon
|
@@ -152,4 +152,3 @@ signing_key:
|
|
152
152
|
specification_version: 4
|
153
153
|
summary: RubyMotionQuery - RMQ
|
154
154
|
test_files: []
|
155
|
-
has_rdoc:
|