ProMotion 0.3.0 → 0.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.
- 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
|