ProMotion 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +14 -22
- data/.repl_history +0 -0
- data/Gemfile.lock +14 -0
- data/ProMotion.gemspec +4 -3
- data/README.md +252 -25
- data/Rakefile +5 -3
- data/app/app_delegate.rb +2 -2
- data/app/screens/home_screen.rb +14 -3
- data/app/screens/test_screen.rb +19 -3
- data/lib/ProMotion.rb +0 -8
- data/lib/ProMotion/version.rb +1 -1
- metadata +32 -31
- data/.c9revisions/lib/ProMotion.rb.c9save +0 -1
- data/.c9revisions/lib/ProMotion/AppDelegate.rb.c9save +0 -3
- data/.c9revisions/lib/ProMotion/classes/Screen.rb.c9save +0 -2
- data/lib/ProMotion/AppDelegate.rb +0 -60
- data/lib/ProMotion/Console.rb +0 -19
- data/lib/ProMotion/ProMotion.rb +0 -3
- data/lib/ProMotion/_ext/NavigationController.rb +0 -7
- data/lib/ProMotion/_ext/TableViewCell.rb +0 -16
- data/lib/ProMotion/_ext/TableViewController.rb +0 -54
- data/lib/ProMotion/_ext/ViewController.rb +0 -68
- data/lib/ProMotion/_modules/ScreenElements.rb +0 -31
- data/lib/ProMotion/_modules/ScreenNavigation.rb +0 -149
- data/lib/ProMotion/classes/Element.rb +0 -14
- data/lib/ProMotion/classes/Screen.rb +0 -206
- data/lib/ProMotion/classes/TableScreen.rb +0 -52
- data/lib/ProMotion/helpers/MeasureHelper.rb +0 -18
- data/lib/ProMotion/helpers/TabBar.rb +0 -99
- data/lib/ProMotion/helpers/ViewHelper.rb +0 -23
- data/lib/ProMotion/helpers/motion-table/1st/searchable_table.rb +0 -58
- data/lib/ProMotion/helpers/motion-table/1st/sectioned_table.rb +0 -219
- data/lib/ProMotion/helpers/motion-table/2nd/grouped_table.rb +0 -12
- data/lib/ProMotion/helpers/motion-table/2nd/plain_table.rb +0 -13
- data/lib/ProMotion/helpers/motion-table/console.rb +0 -26
- data/lib/ProMotion/helpers/system_helper.rb +0 -29
data/app/app_delegate.rb
CHANGED
data/app/screens/home_screen.rb
CHANGED
@@ -2,9 +2,20 @@ class HomeScreen < ProMotion::Screen
|
|
2
2
|
title "Home Screen"
|
3
3
|
|
4
4
|
def on_load
|
5
|
-
@label = add_view UILabel.alloc.initWithFrame(
|
6
|
-
text: "
|
7
|
-
font: UIFont.
|
5
|
+
@label = add_view UILabel.alloc.initWithFrame(CGRectZero), {
|
6
|
+
text: "Working...",
|
7
|
+
font: UIFont.systemFontOfSize(18),
|
8
|
+
textColor: UIColor.blackColor
|
8
9
|
}
|
10
|
+
|
11
|
+
self.view.backgroundColor = UIColor.whiteColor
|
12
|
+
self.set_nav_bar_right_button "Test", action: :test_it
|
13
|
+
end
|
14
|
+
|
15
|
+
def on_appear
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_it
|
19
|
+
open TestScreen
|
9
20
|
end
|
10
21
|
end
|
data/app/screens/test_screen.rb
CHANGED
@@ -1,10 +1,26 @@
|
|
1
|
-
class TestScreen < ProMotion::
|
1
|
+
class TestScreen < ProMotion::Screen
|
2
2
|
title "Test Screen"
|
3
3
|
|
4
4
|
def on_load
|
5
|
-
@label =
|
5
|
+
@label = add_element UILabel.alloc.initWithFrame(CGRectMake(5, 5, 320, 30)), {
|
6
6
|
text: "This is awesome!",
|
7
|
-
font: UIFont.
|
7
|
+
font: UIFont.systemFontOfSize(18)
|
8
8
|
}
|
9
|
+
@button = add_element UIButton.alloc.initWithFrame([[5,45], [300, 40]]), {
|
10
|
+
title: "Button",
|
11
|
+
"addTarget:action:forControlEvents:" => [self, :hello, UIControlEventTouchUpInside],
|
12
|
+
backgroundColor: UIColor.whiteColor
|
13
|
+
}
|
14
|
+
@button.addSubview(@label)
|
15
|
+
|
16
|
+
set_nav_bar_right_button "Close", action: :close_this if self.parent_screen
|
17
|
+
end
|
18
|
+
|
19
|
+
def close_this
|
20
|
+
close
|
21
|
+
end
|
22
|
+
|
23
|
+
def hello
|
24
|
+
puts "hello"
|
9
25
|
end
|
10
26
|
end
|
data/lib/ProMotion.rb
CHANGED
@@ -5,13 +5,5 @@ end
|
|
5
5
|
require "ProMotion/version"
|
6
6
|
|
7
7
|
Motion::Project::App.setup do |app|
|
8
|
-
|
9
|
-
# Dir.glob(File.join(File.dirname(__FILE__), "ProMotion/**/*.rb")).each do |file|
|
10
|
-
# app.files.unshift(file)
|
11
|
-
# end
|
12
8
|
app.files = Dir.glob(File.join(File.dirname(__FILE__), 'ProMotion/**/*.rb')) | app.files
|
13
|
-
app.files = Dir.glob(File.join(File.dirname(__FILE__), 'ProMotion/helpers/**/*.rb')) | app.files
|
14
|
-
app.files = Dir.glob(File.join(File.dirname(__FILE__), 'ProMotion/modules/**/*.rb')) | app.files
|
15
|
-
app.files = Dir.glob(File.join(File.dirname(__FILE__), 'ProMotion/ext/**/*.rb')) | app.files
|
16
|
-
|
17
9
|
end
|
data/lib/ProMotion/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ProMotion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,20 +11,21 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2013-02-05 00:00:00.000000000 Z
|
15
15
|
dependencies: []
|
16
|
-
description: ProMotion is a new way to
|
16
|
+
description: ProMotion is a new way to easily build RubyMotion iOS apps.
|
17
17
|
email:
|
18
18
|
- jamon@clearsightstudio.com
|
19
|
+
- silas@clearsightstudio.com
|
20
|
+
- contact@clearsightstudio.com
|
19
21
|
executables: []
|
20
22
|
extensions: []
|
21
23
|
extra_rdoc_files: []
|
22
24
|
files:
|
23
|
-
- .c9revisions/lib/ProMotion.rb.c9save
|
24
|
-
- .c9revisions/lib/ProMotion/AppDelegate.rb.c9save
|
25
|
-
- .c9revisions/lib/ProMotion/classes/Screen.rb.c9save
|
26
25
|
- .gitignore
|
26
|
+
- .repl_history
|
27
27
|
- Gemfile
|
28
|
+
- Gemfile.lock
|
28
29
|
- LICENSE
|
29
30
|
- ProMotion.gemspec
|
30
31
|
- README.md
|
@@ -34,28 +35,28 @@ files:
|
|
34
35
|
- app/screens/test_screen.rb
|
35
36
|
- lib/ProMotion.rb
|
36
37
|
- lib/ProMotion/.DS_Store
|
37
|
-
- lib/ProMotion/
|
38
|
-
- lib/ProMotion/
|
39
|
-
- lib/ProMotion/
|
40
|
-
- lib/ProMotion/
|
41
|
-
- lib/ProMotion/
|
42
|
-
- lib/ProMotion/
|
43
|
-
- lib/ProMotion/
|
44
|
-
- lib/ProMotion/
|
45
|
-
- lib/ProMotion/
|
46
|
-
- lib/ProMotion/
|
47
|
-
- lib/ProMotion/
|
48
|
-
- lib/ProMotion/
|
49
|
-
- lib/ProMotion/
|
50
|
-
- lib/ProMotion/
|
51
|
-
- lib/ProMotion/
|
52
|
-
- lib/ProMotion/
|
53
|
-
- lib/ProMotion/
|
54
|
-
- lib/ProMotion/
|
55
|
-
- lib/ProMotion/
|
56
|
-
- lib/ProMotion/
|
57
|
-
- lib/ProMotion/
|
58
|
-
- lib/ProMotion/
|
38
|
+
- lib/ProMotion/_cocoatouch/NavigationController.rb
|
39
|
+
- lib/ProMotion/_cocoatouch/TableViewCell.rb
|
40
|
+
- lib/ProMotion/_cocoatouch/TableViewController.rb
|
41
|
+
- lib/ProMotion/_cocoatouch/ViewController.rb
|
42
|
+
- lib/ProMotion/_helpers/console.rb
|
43
|
+
- lib/ProMotion/_helpers/measure_helper.rb
|
44
|
+
- lib/ProMotion/_helpers/motion-table/1st/searchable_table.rb
|
45
|
+
- lib/ProMotion/_helpers/motion-table/1st/sectioned_table.rb
|
46
|
+
- lib/ProMotion/_helpers/motion-table/2nd/grouped_table.rb
|
47
|
+
- lib/ProMotion/_helpers/motion-table/2nd/plain_table.rb
|
48
|
+
- lib/ProMotion/_helpers/system_helper.rb
|
49
|
+
- lib/ProMotion/_helpers/tab_bar.rb
|
50
|
+
- lib/ProMotion/_helpers/view_helper.rb
|
51
|
+
- lib/ProMotion/_screen_modules/screen_elements.rb
|
52
|
+
- lib/ProMotion/_screen_modules/screen_navigation.rb
|
53
|
+
- lib/ProMotion/_screen_modules/screen_tabs.rb
|
54
|
+
- lib/ProMotion/app_delegate.rb
|
55
|
+
- lib/ProMotion/pro_motion.rb
|
56
|
+
- lib/ProMotion/screen/_screen_module.rb
|
57
|
+
- lib/ProMotion/screen/_table_screen_module.rb
|
58
|
+
- lib/ProMotion/screen/screen.rb
|
59
|
+
- lib/ProMotion/screen/table_screen.rb
|
59
60
|
- lib/ProMotion/version.rb
|
60
61
|
homepage: https://github.com/clearsightstudio/ProMotion
|
61
62
|
licenses: []
|
@@ -77,11 +78,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
77
78
|
version: '0'
|
78
79
|
requirements: []
|
79
80
|
rubyforge_project:
|
80
|
-
rubygems_version: 1.8.
|
81
|
+
rubygems_version: 1.8.24
|
81
82
|
signing_key:
|
82
83
|
specification_version: 3
|
83
84
|
summary: ProMotion is a new way to organize RubyMotion apps. Instead of dealing with
|
84
85
|
UIViewControllers, you work with Screens. Screens are a logical way to think of
|
85
|
-
your app
|
86
|
+
your app and include a ton of great utilities to make iOS development more like
|
87
|
+
Ruby and less like Objective-C.
|
86
88
|
test_files: []
|
87
|
-
has_rdoc:
|
@@ -1 +0,0 @@
|
|
1
|
-
{"ts":1347898586630,"silentsave":true,"restoring":false,"patch":[[{"diffs":[[1,"unless defined?(Motion::Project::Config)\n raise \"This file must be required within a RubyMotion project Rakefile.\"\nend\n\nrequire \"ProMotion/version\"\n\nMotion::Project::App.setup do |app|\n\n # Dir.glob(File.join(File.dirname(__FILE__), \"ProMotion/**/*.rb\")).each do |file|\n # app.files.unshift(file)\n # end\n app.files = Dir.glob(File.join(File.dirname(__FILE__), 'ProMotion/**/*.rb')) | app.files\n app.files = Dir.glob(File.join(File.dirname(__FILE__), 'ProMotion/helpers/**/*.rb')) | app.files\n app.files = Dir.glob(File.join(File.dirname(__FILE__), 'ProMotion/modules/**/*.rb')) | app.files\n app.files = Dir.glob(File.join(File.dirname(__FILE__), 'ProMotion/ext/**/*.rb')) | app.files\n \nend"]],"start1":0,"start2":0,"length1":0,"length2":699}]],"length":699}
|
@@ -1,3 +0,0 @@
|
|
1
|
-
{"ts":1347924907908,"silentsave":true,"restoring":false,"patch":[[{"diffs":[[1,"module ProMotion\n class AppDelegateParent\n attr_accessor :window\n \n def application(application, didFinishLaunchingWithOptions:launchOptions)\n return true if RUBYMOTION_ENV == \"test\"\n\n Console.log(\" Your AppDelegate (usually in app_delegate.rb) needs an on_load(options) method.\", withColor: Console::RED_COLOR) unless self.respond_to?(:on_load)\n \n on_load launchOptions\n\n open_home_screen if has_home_screen\n\n get_home_screen.on_opened if has_home_screen && get_home_screen.respond_to?(:on_opened)\n \n true\n end\n\n def app_delegate\n UIApplication.sharedApplication.delegate\n end\n\n def app_window\n self.app_delegate.window\n end\n\n def load_root_view(new_view)\n self.window ||= UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)\n self.window.rootViewController = new_view\n self.window.makeKeyAndVisible\n end\n\n def open_screen(screen)\n home(screen)\n end\n\n def home(screen)\n screen = screen.new if screen.respond_to? :new\n @home_screen = screen\n end\n\n def fresh_start(new_screen)\n home(new_screen)\n open_home_screen\n end\n\n def open_home_screen\n get_home_screen.send(:on_load) if get_home_screen.respond_to?(:on_load)\n load_root_view get_home_screen.main_controller\n end\n \n def get_home_screen\n @home_screen\n end\n\n def has_home_screen\n @home_screen.nil? == false\n end\n end\nend"]],"start1":0,"start2":0,"length1":0,"length2":1456}]],"length":1456}
|
2
|
-
{"contributors":[],"silentsave":false,"ts":1347925005943,"patch":[[{"diffs":[[0,"_to?"],[-1," "],[1,"("],[0,":new"],[1,")s"],[0,"\n "]],"start1":1027,"start2":1027,"length1":13,"length2":15}]],"length":1458,"saved":false}
|
3
|
-
{"ts":1347925017979,"patch":[[{"diffs":[[0,"o?(:new)"],[-1,"s"],[0,"\n @"]],"start1":1029,"start2":1029,"length1":17,"length2":16}]],"length":1457,"saved":false}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
{"ts":1347898745792,"silentsave":true,"restoring":false,"patch":[[{"diffs":[[1,"module ProMotion\n # Instance methods\n class Screen\n include ProMotion::ScreenNavigation\n include ProMotion::ScreenElements\n \n attr_accessor :view_controller, :navigation_controller, :parent_screen, :first_screen, :tab_bar_item, :tab_bar, :modal\n\n def initialize(args = {})\n args.each do |k, v|\n self.send \"#{k}=\", v if self.respond_to?(\"#{k}=\")\n end\n self.load_view_controller\n self.view_controller.title = self.title\n\n self.add_nav_bar if args[:nav_bar]\n self.on_init if self.respond_to?(:on_init)\n self\n end\n\n def is_modal?\n self.modal == true\n end\n\n def has_nav_bar?\n self.navigation_controller.nil? != true\n end\n\n # Note: this is overridden in TableScreen\n def load_view_controller\n self.view_controller ||= ViewController\n end\n\n def set_tab_bar_item(args = {})\n self.tab_bar_item = args\n refresh_tab_bar_item\n end\n\n def refresh_tab_bar_item\n self.main_controller.tabBarItem = ProMotion::TabBar.tab_bar_item(self.tab_bar_item) if self.tab_bar_item\n end\n \n def add_nav_bar\n self.navigation_controller = NavigationController.alloc.initWithRootViewController(self.view_controller)\n self.first_screen = true\n end\n\n def set_nav_bar_right_button(title, args={})\n args[:style] ||= UIBarButtonItemStyleBordered\n args[:target] ||= self\n args[:action] ||= nil\n\n right_button = UIBarButtonItem.alloc.initWithTitle(title, style: args[:style], target: args[:target], action: args[:action])\n self.view_controller.navigationItem.rightBarButtonItem = right_button\n right_button\n end\n\n def set_nav_bar_left_button(title, args={})\n args[:style] ||= UIBarButtonItemStyleBordered\n args[:target] ||= self\n args[:action] ||= nil\n\n left_button = UIBarButtonItem.alloc.initWithTitle(title, style: args[:style], target: args[:target], action: args[:action])\n self.view_controller.navigationItem.leftBarButtonItem = left_button\n left_button\n end\n\n def view_controller=(vc)\n vc = vc.alloc.initWithNibName(nil, bundle:nil) if vc.respond_to?(:alloc)\n if self.navigation_controller && self.first_screen?\n @view_controller = vc\n self.navigation_controller = NavigationController.alloc.initWithRootViewController(self.view_controller)\n else\n @view_controller = vc\n end\n @view_controller.screen = self if @view_controller.respond_to?(\"screen=\")\n\n refresh_tab_bar_item\n end\n\n def first_screen?\n self.first_screen == true\n end\n\n def set_view_controller(vc)\n self.view_controller = vc\n end\n\n def view_will_appear(animated)\n self.will_appear if self.respond_to?(:will_appear)\n end\n\n def view_did_appear(animated)\n self.on_appear if self.respond_to?(:on_appear)\n end\n\n def title\n self.class.send :get_title\n end\n\n def title=(new_title)\n self.class.title = new_title\n self.view_controller.title = new_title\n end\n\n def main_controller\n return self.navigation_controller if self.navigation_controller\n self.view_controller\n end\n\n end\n \n # Class methods\n class Screen\n class << self\n def title(t)\n @title = t\n end\n def title=(t)\n @title = t\n end\n def get_title\n @title ||= self.to_s\n end\n end\n end\nend"]],"start1":0,"start2":0,"length1":0,"length2":3387}]],"length":3387}
|
2
|
-
{"contributors":[],"silentsave":false,"ts":1347898870641,"patch":[[{"diffs":[[0,"lements\n"],[-1," "],[0,"\n att"]],"start1":123,"start2":123,"length1":20,"length2":16},{"diffs":[[0," end\n"],[-1," "],[0,"\n def"]],"start1":1070,"start2":1070,"length1":20,"length2":16},{"diffs":[[0,"\n\n end\n"],[-1," "],[0,"\n # Cla"]],"start1":3144,"start2":3144,"length1":18,"length2":16}]],"length":3377,"saved":false}
|
@@ -1,60 +0,0 @@
|
|
1
|
-
module ProMotion
|
2
|
-
class AppDelegateParent
|
3
|
-
attr_accessor :window
|
4
|
-
|
5
|
-
def application(application, didFinishLaunchingWithOptions:launchOptions)
|
6
|
-
return true if RUBYMOTION_ENV == "test"
|
7
|
-
|
8
|
-
Console.log(" Your AppDelegate (usually in app_delegate.rb) needs an on_load(options) method.", withColor: Console::RED_COLOR) unless self.respond_to?(:on_load)
|
9
|
-
|
10
|
-
on_load(application, launchOptions)
|
11
|
-
|
12
|
-
open_home_screen if has_home_screen
|
13
|
-
|
14
|
-
get_home_screen.on_opened if has_home_screen && get_home_screen.respond_to?(:on_opened)
|
15
|
-
|
16
|
-
true
|
17
|
-
end
|
18
|
-
|
19
|
-
def app_delegate
|
20
|
-
UIApplication.sharedApplication.delegate
|
21
|
-
end
|
22
|
-
|
23
|
-
def app_window
|
24
|
-
self.app_delegate.window
|
25
|
-
end
|
26
|
-
|
27
|
-
def load_root_view(new_view)
|
28
|
-
self.window ||= UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)
|
29
|
-
self.window.rootViewController = new_view
|
30
|
-
self.window.makeKeyAndVisible
|
31
|
-
end
|
32
|
-
|
33
|
-
def open_screen(screen)
|
34
|
-
home(screen)
|
35
|
-
end
|
36
|
-
|
37
|
-
def home(screen)
|
38
|
-
screen = screen.new if screen.respond_to?(:new)
|
39
|
-
@home_screen = screen
|
40
|
-
end
|
41
|
-
|
42
|
-
def fresh_start(new_screen)
|
43
|
-
home(new_screen)
|
44
|
-
open_home_screen
|
45
|
-
end
|
46
|
-
|
47
|
-
def open_home_screen
|
48
|
-
get_home_screen.send(:on_load) if get_home_screen.respond_to?(:on_load)
|
49
|
-
load_root_view get_home_screen.main_controller
|
50
|
-
end
|
51
|
-
|
52
|
-
def get_home_screen
|
53
|
-
@home_screen
|
54
|
-
end
|
55
|
-
|
56
|
-
def has_home_screen
|
57
|
-
@home_screen.nil? == false
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
data/lib/ProMotion/Console.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
module ProMotion
|
2
|
-
class Console
|
3
|
-
NAME = "RubyMotion::Console"
|
4
|
-
DEFAULT_COLOR = [ '', '' ]
|
5
|
-
RED_COLOR = [ "\e[0;31m", "\e[0m" ] # Must be in double quotes
|
6
|
-
GREEN_COLOR = [ "\e[0;32m", "\e[0m" ]
|
7
|
-
PURPLE_COLOR = [ "\e[0;35m", "\e[0m" ]
|
8
|
-
|
9
|
-
class << self
|
10
|
-
def log(log, withColor:color)
|
11
|
-
puts color[0] + NAME + log + color[1]
|
12
|
-
end
|
13
|
-
|
14
|
-
def log(log)
|
15
|
-
log(log, withColor: DEFAULT_COLOR)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
data/lib/ProMotion/ProMotion.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
module ProMotion
|
2
|
-
class TableViewCell < UITableViewCell
|
3
|
-
attr_accessor :image_size
|
4
|
-
|
5
|
-
def layoutSubviews
|
6
|
-
super
|
7
|
-
|
8
|
-
if self.image_size && self.imageView.image && self.imageView.image.size && self.imageView.image.size.width > 0
|
9
|
-
f = self.imageView.frame
|
10
|
-
size_inset_x = (self.imageView.size.width - self.image_size) / 2
|
11
|
-
size_inset_y = (self.imageView.size.height - self.image_size) / 2
|
12
|
-
self.imageView.frame = CGRectInset(f, size_inset_x, size_inset_y)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,54 +0,0 @@
|
|
1
|
-
module ProMotion
|
2
|
-
class TableViewController < UITableViewController
|
3
|
-
attr_accessor :screen
|
4
|
-
|
5
|
-
def viewDidLoad
|
6
|
-
super
|
7
|
-
self.screen.view_did_load if self.screen && self.screen.respond_to?(:view_did_load)
|
8
|
-
end
|
9
|
-
|
10
|
-
def viewWillAppear(animated)
|
11
|
-
super
|
12
|
-
self.screen.view_will_appear(animated) if self.screen && self.screen.respond_to?(:view_will_appear)
|
13
|
-
end
|
14
|
-
|
15
|
-
def viewDidAppear(animated)
|
16
|
-
super
|
17
|
-
self.screen.view_did_appear(animated) if self.screen && self.screen.respond_to?(:view_did_appear)
|
18
|
-
end
|
19
|
-
|
20
|
-
def viewWillDisappear(animated)
|
21
|
-
if self.screen && self.screen.respond_to?(:view_will_disappear)
|
22
|
-
self.screen.view_will_disappear(animated)
|
23
|
-
end
|
24
|
-
super
|
25
|
-
end
|
26
|
-
|
27
|
-
def viewDidDisappear(animated)
|
28
|
-
if self.screen && self.screen.respond_to?(:view_did_disappear)
|
29
|
-
self.screen.view_did_disappear(animated)
|
30
|
-
end
|
31
|
-
super
|
32
|
-
end
|
33
|
-
|
34
|
-
def shouldAutorotateToInterfaceOrientation(orientation)
|
35
|
-
self.screen.should_rotate(orientation)
|
36
|
-
end
|
37
|
-
|
38
|
-
def shouldAutorotate
|
39
|
-
self.screen.should_autorotate
|
40
|
-
end
|
41
|
-
|
42
|
-
def willRotateToInterfaceOrientation(orientation, duration:duration)
|
43
|
-
self.screen.will_rotate(orientation, duration)
|
44
|
-
end
|
45
|
-
|
46
|
-
def didRotateFromInterfaceOrientation(orientation)
|
47
|
-
self.screen.on_rotate
|
48
|
-
end
|
49
|
-
|
50
|
-
def dealloc
|
51
|
-
$stderr.puts "Deallocating #{self.to_s}" if ProMotion::Screen.debug_mode
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
@@ -1,68 +0,0 @@
|
|
1
|
-
module ProMotion
|
2
|
-
class ViewController < UIViewController
|
3
|
-
attr_accessor :screen
|
4
|
-
|
5
|
-
def viewDidLoad
|
6
|
-
super
|
7
|
-
if screen_will_respond_to?(:view_did_load)
|
8
|
-
self.screen.view_did_load
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
def viewWillAppear(animated)
|
13
|
-
super
|
14
|
-
if screen_will_respond_to?(:view_will_appear)
|
15
|
-
self.screen.view_will_appear(animated)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def viewDidAppear(animated)
|
20
|
-
super
|
21
|
-
if screen_will_respond_to?(:view_did_appear)
|
22
|
-
self.screen.view_did_appear(animated)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
def viewWillDisappear(animated)
|
27
|
-
if screen_will_respond_to?(:view_will_disappear)
|
28
|
-
self.screen.view_will_disappear(animated)
|
29
|
-
end
|
30
|
-
super
|
31
|
-
end
|
32
|
-
|
33
|
-
def viewDidDisappear(animated)
|
34
|
-
if screen_will_respond_to?(:view_did_disappear)
|
35
|
-
self.screen.view_did_disappear(animated)
|
36
|
-
end
|
37
|
-
super
|
38
|
-
end
|
39
|
-
|
40
|
-
def screen_will_respond_to?(method)
|
41
|
-
self.screen && self.screen.respond_to?(method)
|
42
|
-
end
|
43
|
-
|
44
|
-
def shouldAutorotateToInterfaceOrientation(orientation)
|
45
|
-
self.screen.should_rotate(orientation)
|
46
|
-
end
|
47
|
-
|
48
|
-
def shouldAutorotate
|
49
|
-
self.screen.should_autorotate
|
50
|
-
end
|
51
|
-
|
52
|
-
def supportedInterfaceOrientations
|
53
|
-
self.screen.supported_orientations
|
54
|
-
end
|
55
|
-
|
56
|
-
def willRotateToInterfaceOrientation(orientation, duration:duration)
|
57
|
-
self.screen.will_rotate(orientation, duration)
|
58
|
-
end
|
59
|
-
|
60
|
-
def didRotateFromInterfaceOrientation(orientation)
|
61
|
-
self.screen.on_rotate
|
62
|
-
end
|
63
|
-
|
64
|
-
def dealloc
|
65
|
-
$stderr.puts "Deallocating #{self.to_s}" if ProMotion::Screen.debug_mode
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
module ProMotion
|
2
|
-
module ScreenElements
|
3
|
-
include ProMotion::ViewHelper
|
4
|
-
|
5
|
-
def add_element(view, attrs = {})
|
6
|
-
if attrs.length > 0
|
7
|
-
set_attributes(view, attrs)
|
8
|
-
end
|
9
|
-
self.view_controller.view.addSubview(view)
|
10
|
-
view
|
11
|
-
end
|
12
|
-
|
13
|
-
def remove_element(view)
|
14
|
-
view.removeFromSuperview
|
15
|
-
view = nil
|
16
|
-
nil
|
17
|
-
end
|
18
|
-
|
19
|
-
def bounds
|
20
|
-
return self.view_controller.view.bounds
|
21
|
-
end
|
22
|
-
|
23
|
-
def frame
|
24
|
-
return self.view_controller.view.frame
|
25
|
-
end
|
26
|
-
|
27
|
-
def view
|
28
|
-
return self.view_controller.view
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|