Module: MotionKit
- Defined in:
- lib/motion-kit/motion-kit.rb,
lib/motion-kit/util.rb,
lib/motion-kit/version.rb,
lib/motion-kit-ios/ios_util.rb,
lib/motion-kit-osx/osx_util.rb,
lib/motion-kit/layouts/parent.rb,
lib/motion-kit-cocoa/cocoa_util.rb,
lib/motion-kit/layouts/base_layout.rb,
lib/motion-kit/layouts/tree_layout.rb,
lib/motion-kit/calculator/calculate.rb,
lib/motion-kit/calculator/calculator.rb,
lib/motion-kit-ios/layouts/layout_device.rb,
lib/motion-kit-ios/layouts/uiview_layout.rb,
lib/motion-kit-osx/layouts/nsmenu_layout.rb,
lib/motion-kit-osx/layouts/nsview_layout.rb,
lib/motion-kit-osx/layouts/nswindow_frame.rb,
lib/motion-kit/calculator/size_calculator.rb,
lib/motion-kit/calculator/view_calculator.rb,
lib/motion-kit-ios/layouts/uibutton_layout.rb,
lib/motion-kit-osx/layouts/nswindow_layout.rb,
lib/motion-kit/calculator/frame_calculator.rb,
lib/motion-kit-cocoa/constraints/constraint.rb,
lib/motion-kit-cocoa/layouts/calayer_layout.rb,
lib/motion-kit/calculator/origin_calculator.rb,
lib/motion-kit-osx/layouts/nsmenu_extensions.rb,
lib/motion-kit-cocoa/layouts/sugarcube_compat.rb,
lib/motion-kit-ios/layouts/constraints_layout.rb,
lib/motion-kit-ios/layouts/layout_orientation.rb,
lib/motion-kit-osx/layouts/constraints_layout.rb,
lib/motion-kit-osx/layouts/nstableview_layout.rb,
lib/motion-kit-ios/layouts/uiview_layout_frame.rb,
lib/motion-kit-osx/layouts/nsview_layout_frame.rb,
lib/motion-kit-osx/layouts/nstablecolumn_layout.rb,
lib/motion-kit-osx/layouts/nsmenuitem_extensions.rb,
lib/motion-kit/layouts/base_layout_class_methods.rb,
lib/motion-kit-cocoa/layouts/accessibility_compat.rb,
lib/motion-kit-ios/layouts/uiview_layout_gradient.rb,
lib/motion-kit-cocoa/constraints/constraints_layout.rb,
lib/motion-kit-cocoa/constraints/constraints_target.rb,
lib/motion-kit-cocoa/layouts/cagradientlayer_layout.rb,
lib/motion-kit-ios/layouts/uiview_layout_constraints.rb,
lib/motion-kit-osx/layouts/nsview_layout_constraints.rb,
lib/motion-kit-ios/layouts/uiview_layout_autoresizing.rb,
lib/motion-kit-osx/layouts/nsview_layout_autoresizing.rb,
lib/motion-kit-cocoa/constraints/constraint_placeholder.rb
Defined Under Namespace
Modules: BaseLayoutClassMethods, FrameCalculator, OriginCalculator, SizeCalculator
Classes: ApplyError, BaseLayout, CAGradientLayerLayout, CALayerLayout, Calculator, CompoundConstraint, Constraint, ConstraintPlaceholder, ConstraintsLayout, ConstraintsTarget, ContextConflictError, InvalidAttributeError, InvalidDeferredError, InvalidPriorityError, InvalidRelationshipError, InvalidRootError, Layout, MenuLayout, NSMenuLayout, NSTableColumnLayout, NSTableViewLayout, NSViewLayout, NSWindowLayout, NoCommonAncestorError, NoContextError, NoSuperviewError, Parent, PointConstraint, SizeConstraint, TreeLayout, UIButtonLayout, UIViewLayout, ViewCalculator, WindowLayout
Constant Summary
collapse
- VERSION =
'0.10.7'
Class Method Summary
collapse
Class Method Details
.appearance_class ⇒ Object
16
17
18
|
# File 'lib/motion-kit/util.rb', line 16
def appearance_class
@appearance_class ||= Class.new
end
|
.base_view_class ⇒ Object
8
9
10
|
# File 'lib/motion-kit-ios/ios_util.rb', line 8
def base_view_class
UIView
end
|
.calculate(view, dimension, amount, full_view = nil) ⇒ Object
5
6
7
|
# File 'lib/motion-kit/calculator/calculate.rb', line 5
def calculate(view, dimension, amount, full_view=nil)
ViewCalculator.new.calculate(view, dimension, amount, full_view)
end
|
.camel_case(str) ⇒ Object
8
9
10
|
# File 'lib/motion-kit/util.rb', line 8
def camel_case(str)
str.split('_').map(&:capitalize).join
end
|
.color_class ⇒ Object
16
17
18
|
# File 'lib/motion-kit-ios/ios_util.rb', line 16
def color_class
UIColor
end
|
.default_view_class ⇒ Object
12
13
14
|
# File 'lib/motion-kit-ios/ios_util.rb', line 12
def default_view_class
UIView
end
|
.find_all_layers(root, &condition) ⇒ Object
similar to find_all_views, but for CALayer
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/motion-kit-cocoa/cocoa_util.rb', line 46
def find_all_layers(root, &condition)
found = []
if condition.call(root)
found << root
end
(root.sublayers || []).each do |sublayer|
found.concat(find_all_layers(sublayer, &condition))
end
return found
end
|
.find_all_views(root, &condition) ⇒ Object
performs a breadth-first search, but returns all matches
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/motion-kit-cocoa/cocoa_util.rb', line 32
def find_all_views(root, &condition)
found = []
if condition.call(root)
found << root
end
(root.subviews || []).each do |subview|
found.concat(find_all_views(subview, &condition))
end
return found
end
|
.find_first_view(root, &condition) ⇒ Object
performs a breadth-first search
5
6
7
8
9
10
11
12
13
14
15
|
# File 'lib/motion-kit-cocoa/cocoa_util.rb', line 5
def find_first_view(root, &condition)
if condition.call(root)
root
else
found = nil
root.subviews.find do |subview|
found = find_first_view(subview, &condition)
end
return found
end
end
|
.find_last_view(root, &condition) ⇒ Object
performs a depth-first and reversed search
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/motion-kit-cocoa/cocoa_util.rb', line 18
def find_last_view(root, &condition)
found = nil
root.subviews.reverse.find do |subview|
found = find_last_view(subview, &condition)
end
if ! found && condition.call(root)
found = root
end
return found
end
|
.no_intrinsic_metric ⇒ Object
20
21
22
|
# File 'lib/motion-kit-ios/ios_util.rb', line 20
def no_intrinsic_metric
UIViewNoIntrinsicMetric
end
|
.objective_c_method_name(str) ⇒ Object
4
5
6
|
# File 'lib/motion-kit/util.rb', line 4
def objective_c_method_name(str)
str.split('_').inject([]) { |buffer,e| buffer.push(buffer.empty? ? e : e.capitalize) }.join
end
|
.setter(method_name) ⇒ Object
12
13
14
|
# File 'lib/motion-kit/util.rb', line 12
def setter(method_name)
"set#{method_name[0].capitalize}#{method_name[1..-1]}:"
end
|