motion-prime 0.5.6 → 0.5.7

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.
@@ -4,201 +4,185 @@
4
4
  <head>
5
5
  <title>getting_started.rb</title>
6
6
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
7
- <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
7
+ <link rel="stylesheet" media="all" href="public/stylesheets/normalize.css" />
8
8
  <link rel="stylesheet" media="all" href="docco.css" />
9
9
  </head>
10
10
  <body>
11
- <div id="container">
12
- <div id="background"></div>
13
-
14
- <ul id="jump_to">
15
- <li>
16
- <a class="large" href="javascript:void(0);">Jump To &hellip;</a>
17
- <a class="small" href="javascript:void(0);">+</a>
18
- <div id="jump_wrapper">
19
- <div id="jump_page">
20
-
11
+ <div class="container">
12
+ <div class="page">
13
+
14
+ <div class="header">
15
+
16
+ <h1>getting_started.rb</h1>
17
+
18
+
19
+
20
+ <div class="toc">
21
+ <h3>Table of Contents</h3>
22
+ <ol>
21
23
 
22
- <a class="source" href="getting_started.html">
23
- getting_started.rb
24
- </a>
25
-
24
+
25
+ <li>
26
+ <a class="source" href="getting_started.html">
27
+ getting_started.rb
28
+ </a>
29
+ </li>
26
30
 
27
- <a class="source" href="screens.html">
28
- screens.rb
29
- </a>
30
-
31
+
32
+ <li>
33
+ <a class="source" href="models.html">
34
+ models.rb
35
+ </a>
36
+ </li>
31
37
 
32
- <a class="source" href="sections.html">
33
- sections.rb
34
- </a>
35
-
38
+
39
+ <li>
40
+ <a class="source" href="screens.html">
41
+ screens.rb
42
+ </a>
43
+ </li>
44
+
45
+
46
+ <li>
47
+ <a class="source" href="sections.html">
48
+ sections.rb
49
+ </a>
50
+ </li>
51
+
52
+ </ol>
36
53
  </div>
37
- </li>
38
- </ul>
39
-
40
- <ul class="sections">
41
54
 
42
- <li id="title">
43
- <div class="annotation">
44
- <h1>getting_started.rb</h1>
45
- </div>
46
- </li>
55
+ </div>
56
+
57
+
58
+
59
+ <p><strong> Why MotionPrime? </strong></p>
60
+ <p>Did you ever notice that table views in your RubyMotion application scrolls not smoothly?</p>
61
+ <p>Let&#39;s see why:</p>
62
+ <p><img src="https://s3.amazonaws.com/motionprime/prime.png" alt="MotionPrime"></p>
63
+ <p>Each table cell will create 5 UIViews inside and it&#39;s very slow operation for mobile device.
64
+ The main feature of MotionPrime is that it creates abstraction layer for &quot;elements&quot; in screen.
65
+ If it&#39;s possible in current context, MotionPrime will draw elements directly in table cell using CoreGraphics.
66
+ Just add &#39;label&#39; element to the section:</p>
67
+
47
68
 
69
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">MySection</span> <span class="inheritance">&lt; <span class="parent">Prime::Section</span></span></span>
70
+ element <span class="symbol">:greeting</span>, <span class="symbol">text:</span> <span class="string">'Hello World'</span>, <span class="symbol">type:</span> <span class="symbol">:label</span>
71
+ <span class="keyword">end</span></pre></div>
48
72
 
73
+
49
74
 
50
- <li id="section-1">
51
- <div class="annotation">
52
-
53
- <div class="pilwrap ">
54
- <a class="pilcrow" href="#section-1">&#182;</a>
55
- </div>
56
- <p><strong>1. Install required tools.</strong></p>
75
+ <p>It will be rendered 5 times faster in iPhone 4/4s for cells containing 5 elements.</p>
76
+ <p>You can force it to use UIView instead of CoreGraphics:</p>
57
77
 
58
- </div>
59
-
60
- <div class="content"><div class='highlight'><pre>---</pre></div></div>
61
-
62
- </li>
63
78
 
79
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">MySection</span> <span class="inheritance">&lt; <span class="parent">Prime::Section</span></span></span>
80
+ element <span class="symbol">:greeting</span>, <span class="symbol">text:</span> <span class="string">'Hello World'</span>, <span class="symbol">type:</span> <span class="symbol">:label</span>, <span class="symbol">as:</span> <span class="symbol">:view</span>
81
+ <span class="keyword">end</span></pre></div>
64
82
 
65
- <li id="section-2">
66
- <div class="annotation">
67
-
68
- <div class="pilwrap ">
69
- <a class="pilcrow" href="#section-2">&#182;</a>
70
- </div>
71
- <ul>
83
+
84
+
85
+ <p>MotionPrime contains other features to improve application performance, but performance is not the only feature.</p>
86
+ <p>So let&#39;s get started.</p>
87
+ <p><strong>1. Install required tools.</strong></p>
88
+ <ul>
72
89
  <li>Ruby 1.9.3 or newer.</li>
73
90
  </ul>
74
91
 
75
- </div>
76
-
77
- <div class="content"><div class='highlight'><pre><span class="variable">$ </span>rvm install <span class="number">2.0</span>.<span class="number">0</span></pre></div></div>
78
-
79
- </li>
80
92
 
93
+ <div class='highlight'><pre><span class="variable">$ </span>rvm install <span class="number">2.0</span>.<span class="number">0</span></pre></div>
81
94
 
82
- <li id="section-3">
83
- <div class="annotation">
84
-
85
- <div class="pilwrap ">
86
- <a class="pilcrow" href="#section-3">&#182;</a>
87
- </div>
88
- <ul>
95
+
96
+
97
+ <ul>
89
98
  <li>RubyMotion.</li>
90
99
  </ul>
91
100
 
92
- </div>
93
-
94
- <div class="content"><div class='highlight'><pre>Visit http://www.rubymotion.com</pre></div></div>
95
-
96
- </li>
97
101
 
102
+ <div class='highlight'><pre>Visit http://www.rubymotion.com</pre></div>
98
103
 
99
- <li id="section-4">
100
- <div class="annotation">
101
-
102
- <div class="pilwrap ">
103
- <a class="pilcrow" href="#section-4">&#182;</a>
104
- </div>
105
- <p><strong>2. Create application delegate.</strong></p>
106
- <p>You should rewrite the <code>on_load</code> method, which will be runned after starting application.</p>
107
- <p>NOTE: you should always use AppDelegate class name.</p>
108
-
109
- </div>
110
-
111
- <div class="content"><div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">AppDelegate</span> <span class="inheritance">&lt; <span class="parent">Prime::BaseAppDelegate</span></span></span>
104
+
105
+
106
+ <p><strong>2. Create MotionPrime project.</strong></p>
107
+
108
+
109
+ <div class='highlight'><pre><span class="variable">$ </span>gem install motion-prime
110
+ <span class="variable">$ </span>prime new hello</pre></div>
111
+
112
+
113
+
114
+ <p><strong>3. Create application delegate.</strong></p>
115
+ <p>E.g. <code>hello/app/app_delegate.rb</code></p>
116
+ <p>Inherit <code>AppDelegate</code> class from <code>Prime::BaseAppDelegate</code> and rewrite the <code>on_load</code> method, which will be runned after starting application.</p>
117
+
118
+
119
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">AppDelegate</span> <span class="inheritance">&lt; <span class="parent">Prime::BaseAppDelegate</span></span></span>
112
120
  <span class="function"><span class="keyword">def</span> <span class="title">on_load</span><span class="params">(app, options)</span></span>
113
121
  open_screen <span class="symbol">:main</span>
114
122
  <span class="keyword">end</span>
115
- <span class="keyword">end</span></pre></div></div>
116
-
117
- </li>
123
+ <span class="keyword">end</span></pre></div>
118
124
 
125
+
119
126
 
120
- <li id="section-5">
121
- <div class="annotation">
122
-
123
- <div class="pilwrap ">
124
- <a class="pilcrow" href="#section-5">&#182;</a>
125
- </div>
126
- <p><strong>3. Create the main screen.</strong></p>
127
- <p>You should rewrite the <code>render</code> method, which will be runned after first opening screen.</p>
128
- <p>NOTE: it&#39;s recommended to use instance variables for sections, e.g. <code>@main_section</code> instead of <code>main_section</code>.</p>
129
-
130
- </div>
131
-
132
- <div class="content"><div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">MainScreen</span> <span class="inheritance">&lt; <span class="parent">Prime::Screen</span></span></span>
127
+ <p><strong>4. Create the main screen.</strong></p>
128
+ <p>E.g. <code>hello/app/screens/home.rb</code></p>
129
+ <p>Inherit screen from <code>Prime::Screen</code> and rewrite the <code>render</code> method, which will be runned after first opening screen.</p>
130
+
131
+
132
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">MainScreen</span> <span class="inheritance">&lt; <span class="parent">Prime::Screen</span></span></span>
133
133
  title <span class="string">'Main screen'</span>
134
134
 
135
135
  <span class="function"><span class="keyword">def</span> <span class="title">render</span></span>
136
136
  <span class="variable">@main_section</span> = <span class="constant">MyProfileSection</span>.new(<span class="symbol">screen:</span> <span class="keyword">self</span>, <span class="symbol">model:</span> <span class="constant">User</span>.first)
137
137
  <span class="variable">@main_section</span>.render
138
138
  <span class="keyword">end</span>
139
- <span class="keyword">end</span></pre></div></div>
140
-
141
- </li>
139
+ <span class="keyword">end</span></pre></div>
142
140
 
141
+
143
142
 
144
- <li id="section-6">
145
- <div class="annotation">
146
-
147
- <div class="pilwrap ">
148
- <a class="pilcrow" href="#section-6">&#182;</a>
149
- </div>
150
- <p><strong>4. Create your first section.</strong></p>
143
+ <p><strong>5. Create your first section.</strong></p>
144
+ <p>E.g. <code>hello/app/sections/home/section.rb</code></p>
151
145
  <p>&quot;Section&quot; is something like helper, which contains &quot;Elements&quot;.</p>
152
146
  <p>Each element will be added to the parent screen when you run <code>section.render</code></p>
153
147
 
154
- </div>
155
-
156
- <div class="content"><div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">MyProfileSection</span> <span class="inheritance">&lt; <span class="parent">Prime::Section</span></span></span>
148
+
149
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">HomeSection</span> <span class="inheritance">&lt; <span class="parent">Prime::Section</span></span></span>
157
150
  element <span class="symbol">:title</span>, <span class="symbol">text:</span> <span class="string">"Hello World"</span>
158
151
  element <span class="symbol">:avatar</span>, <span class="symbol">image:</span> <span class="string">"images/avatar.png"</span>, <span class="symbol">type:</span> <span class="symbol">:image</span>
159
- <span class="keyword">end</span></pre></div></div>
160
-
161
- </li>
152
+ <span class="keyword">end</span></pre></div>
162
153
 
154
+
163
155
 
164
- <li id="section-7">
165
- <div class="annotation">
166
-
167
- <div class="pilwrap ">
168
- <a class="pilcrow" href="#section-7">&#182;</a>
169
- </div>
170
- <p><strong>5. Create your first stylesheet file.</strong></p>
156
+ <p><strong>6. Create your first stylesheet file.</strong></p>
157
+ <p>E.g. <code>hello/app/styles/home.rb</code></p>
171
158
  <p>Styles will be applied to each element in section.
172
159
  The simplest rule by default is: <code>:section-name_:element-name</code>.</p>
173
160
  <p>E.g. if you have &quot;MyProfileSection&quot; (the name for section by default will be - <code>my_profile</code>)
174
161
  and &quot;title&quot; element, then you should use <code>my_profile_title</code> style name.</p>
175
162
 
176
- </div>
177
-
178
- <div class="content"><div class='highlight'><pre><span class="constant">Prime::Styles</span>.define <span class="keyword">do</span>
163
+
164
+ <div class='highlight'><pre><span class="constant">Prime::Styles</span>.define <span class="keyword">do</span>
179
165
  style <span class="symbol">:my_profile_title</span>, <span class="symbol">width:</span> <span class="number">300</span>, <span class="symbol">height:</span> <span class="number">20</span>
180
- <span class="keyword">end</span></pre></div></div>
181
-
182
- </li>
166
+ <span class="keyword">end</span></pre></div>
183
167
 
168
+
184
169
 
185
- <li id="section-8">
186
- <div class="annotation">
187
-
188
- <div class="pilwrap ">
189
- <a class="pilcrow" href="#section-8">&#182;</a>
190
- </div>
191
- <p>You can pass namespace to <code>define</code> method.</p>
192
-
193
- </div>
194
-
195
- <div class="content"><div class='highlight'><pre><span class="constant">Prime::Styles</span>.define <span class="symbol">:my_profile</span> <span class="keyword">do</span>
170
+ <p>You can pass namespace to <code>define</code> method.</p>
171
+
172
+
173
+ <div class='highlight'><pre><span class="constant">Prime::Styles</span>.define <span class="symbol">:my_profile</span> <span class="keyword">do</span>
196
174
  style <span class="symbol">:title</span>, <span class="symbol">width:</span> <span class="number">300</span>, <span class="symbol">height:</span> <span class="number">20</span>
197
- <span class="keyword">end</span></pre></div></div>
198
-
199
- </li>
175
+ <span class="keyword">end</span></pre></div>
176
+
177
+
178
+
179
+ <p><strong> Next </strong></p>
180
+ <p><a href="screens.html">Read more about Screens</a></p>
181
+
200
182
 
201
- </ul>
183
+
184
+ <div class="fleur">h</div>
185
+ </div>
202
186
  </div>
203
187
  </body>
204
188
  </html>
@@ -0,0 +1,102 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <title>models.rb</title>
6
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
7
+ <link rel="stylesheet" media="all" href="public/stylesheets/normalize.css" />
8
+ <link rel="stylesheet" media="all" href="docco.css" />
9
+ </head>
10
+ <body>
11
+ <div class="container">
12
+ <div class="page">
13
+
14
+ <div class="header">
15
+
16
+ <h1>models.rb</h1>
17
+
18
+
19
+
20
+ <div class="toc">
21
+ <h3>Table of Contents</h3>
22
+ <ol>
23
+
24
+
25
+ <li>
26
+ <a class="source" href="getting_started.html">
27
+ getting_started.rb
28
+ </a>
29
+ </li>
30
+
31
+
32
+ <li>
33
+ <a class="source" href="models.html">
34
+ models.rb
35
+ </a>
36
+ </li>
37
+
38
+
39
+ <li>
40
+ <a class="source" href="screens.html">
41
+ screens.rb
42
+ </a>
43
+ </li>
44
+
45
+
46
+ <li>
47
+ <a class="source" href="sections.html">
48
+ sections.rb
49
+ </a>
50
+ </li>
51
+
52
+ </ol>
53
+ </div>
54
+
55
+ </div>
56
+
57
+
58
+
59
+ <p><strong> What is a Model? </strong></p>
60
+ <p>&quot;Model&quot; will help you to store any information in database and sync this information with server.</p>
61
+ <p><strong> Create a model. </strong></p>
62
+ <p>Just inherit it from <code>Prime::Model</code>.</p>
63
+
64
+
65
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">Event</span> <span class="inheritance">&lt; <span class="parent">Prime::Model</span></span></span>
66
+ <span class="keyword">end</span></pre></div>
67
+
68
+
69
+
70
+ <p><strong> Add some attributes to model. </strong></p>
71
+ <p>E.g. we want event to have title and description.</p>
72
+
73
+
74
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">Event</span> <span class="inheritance">&lt; <span class="parent">Prime::Model</span></span></span>
75
+ attribute <span class="symbol">:title</span>
76
+ attribute <span class="symbol">:description</span>
77
+ <span class="keyword">end</span></pre></div>
78
+
79
+
80
+
81
+ <p><strong> Create some item. </strong></p>
82
+ <p>This event will be saved to database and accessible after restart of application.</p>
83
+
84
+
85
+ <div class='highlight'><pre>event = <span class="constant">Event</span>.create(
86
+ <span class="symbol">title:</span> <span class="string">'MotionPrime release.'</span>,
87
+ <span class="symbol">description:</span> <span class="string">'Check out new features.'</span>
88
+ )</pre></div>
89
+
90
+
91
+
92
+ <p><strong> Retrieve all events </strong></p>
93
+
94
+
95
+ <div class='highlight'><pre><span class="constant">Event</span>.all</pre></div>
96
+
97
+
98
+ <div class="fleur">h</div>
99
+ </div>
100
+ </div>
101
+ </body>
102
+ </html>
@@ -4,170 +4,120 @@
4
4
  <head>
5
5
  <title>screens.rb</title>
6
6
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
7
- <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
7
+ <link rel="stylesheet" media="all" href="public/stylesheets/normalize.css" />
8
8
  <link rel="stylesheet" media="all" href="docco.css" />
9
9
  </head>
10
10
  <body>
11
- <div id="container">
12
- <div id="background"></div>
13
-
14
- <ul id="jump_to">
15
- <li>
16
- <a class="large" href="javascript:void(0);">Jump To &hellip;</a>
17
- <a class="small" href="javascript:void(0);">+</a>
18
- <div id="jump_wrapper">
19
- <div id="jump_page">
20
-
11
+ <div class="container">
12
+ <div class="page">
13
+
14
+ <div class="header">
15
+
16
+ <h1>screens.rb</h1>
17
+
18
+
19
+
20
+ <div class="toc">
21
+ <h3>Table of Contents</h3>
22
+ <ol>
23
+
24
+
25
+ <li>
26
+ <a class="source" href="getting_started.html">
27
+ getting_started.rb
28
+ </a>
29
+ </li>
21
30
 
22
- <a class="source" href="getting_started.html">
23
- getting_started.rb
24
- </a>
25
-
31
+
32
+ <li>
33
+ <a class="source" href="models.html">
34
+ models.rb
35
+ </a>
36
+ </li>
26
37
 
27
- <a class="source" href="screens.html">
28
- screens.rb
29
- </a>
30
-
38
+
39
+ <li>
40
+ <a class="source" href="screens.html">
41
+ screens.rb
42
+ </a>
43
+ </li>
31
44
 
32
- <a class="source" href="sections.html">
33
- sections.rb
34
- </a>
35
-
45
+
46
+ <li>
47
+ <a class="source" href="sections.html">
48
+ sections.rb
49
+ </a>
50
+ </li>
51
+
52
+ </ol>
36
53
  </div>
37
- </li>
38
- </ul>
39
-
40
- <ul class="sections">
41
-
42
- <li id="title">
43
- <div class="annotation">
44
- <h1>screens.rb</h1>
45
- </div>
46
- </li>
47
-
48
54
 
55
+ </div>
56
+
57
+
49
58
 
50
- <li id="section-1">
51
- <div class="annotation">
52
-
53
- <div class="pilwrap ">
54
- <a class="pilcrow" href="#section-1">&#182;</a>
55
- </div>
56
- <p><strong> What is a Screen? </strong></p>
59
+ <p><strong> What is a Screen? </strong></p>
57
60
  <p>&quot;Screen&quot; is the most common class in MotionPrime, you can create entire application using only &quot;Screens&quot;.
58
61
  Generally it&#39;s just a &quot;UIViewController&quot; wrapper with some syntax sugar.
59
62
  For RubyOnRails developers the nearest analogy would be &quot;Controllers&quot;.</p>
60
-
61
- </div>
62
-
63
- <div class="content"><div class='highlight'><pre>---</pre></div></div>
64
-
65
- </li>
66
-
67
-
68
- <li id="section-2">
69
- <div class="annotation">
70
-
71
- <div class="pilwrap ">
72
- <a class="pilcrow" href="#section-2">&#182;</a>
73
- </div>
74
- <p><strong> Create a screen. </strong></p>
63
+ <p><strong> Create a screen. </strong></p>
75
64
  <p>Just inherit it from <code>Prime::Screen</code>.</p>
76
65
 
77
- </div>
78
-
79
- <div class="content"><div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">FooScreen</span> <span class="inheritance">&lt; <span class="parent">Prime::Screen</span></span></span>
80
- <span class="keyword">end</span></pre></div></div>
81
-
82
- </li>
83
66
 
67
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">FooScreen</span> <span class="inheritance">&lt; <span class="parent">Prime::Screen</span></span></span>
68
+ <span class="keyword">end</span></pre></div>
84
69
 
85
- <li id="section-3">
86
- <div class="annotation">
87
-
88
- <div class="pilwrap ">
89
- <a class="pilcrow" href="#section-3">&#182;</a>
90
- </div>
91
- <p><strong> Render the screen. </strong></p>
70
+
71
+
72
+ <p><strong> Render the screen. </strong></p>
92
73
  <p>You should rewrite the <code>render</code> method of <code>Prime::Screen</code>, which will be runned after first opening screen.</p>
93
74
 
94
- </div>
95
-
96
- <div class="content"><div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">FooScreen</span> <span class="inheritance">&lt; <span class="parent">Prime::Screen</span></span></span>
75
+
76
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">FooScreen</span> <span class="inheritance">&lt; <span class="parent">Prime::Screen</span></span></span>
97
77
  <span class="function"><span class="keyword">def</span> <span class="title">render</span></span>
98
78
  <span class="variable">@main_section</span> = <span class="constant">MyProfileSection</span>.new(<span class="symbol">screen:</span> <span class="keyword">self</span>, <span class="symbol">model:</span> <span class="constant">User</span>.first)
99
79
  <span class="variable">@main_section</span>.render
100
80
  <span class="keyword">end</span>
101
- <span class="keyword">end</span></pre></div></div>
102
-
103
- </li>
81
+ <span class="keyword">end</span></pre></div>
104
82
 
83
+
105
84
 
106
- <li id="section-4">
107
- <div class="annotation">
108
-
109
- <div class="pilwrap ">
110
- <a class="pilcrow" href="#section-4">&#182;</a>
111
- </div>
112
- <p><strong> Set screen&#39;s title </strong></p>
85
+ <p><strong> Set screen&#39;s title </strong></p>
113
86
  <p>Title will be used in screen&#39;s navigation controller and will be shown on top of screen.</p>
114
- <p>NOTE: screen should be created with enabled navigation (see &quot;Initialize screen&quot; block).</p>
115
87
 
116
- </div>
117
-
118
- <div class="content"><div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">FooScreen</span> <span class="inheritance">&lt; <span class="parent">Prime::Screen</span></span></span>
88
+
89
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">FooScreen</span> <span class="inheritance">&lt; <span class="parent">Prime::Screen</span></span></span>
119
90
  title <span class="string">'Foo screen'</span>
120
- <span class="keyword">end</span></pre></div></div>
121
-
122
- </li>
91
+ <span class="keyword">end</span></pre></div>
123
92
 
93
+
124
94
 
125
- <li id="section-5">
126
- <div class="annotation">
127
-
128
- <div class="pilwrap ">
129
- <a class="pilcrow" href="#section-5">&#182;</a>
130
- </div>
131
- <p>You can pass block to define screen&#39;s title</p>
95
+ <p>You can pass block to define screen&#39;s title</p>
132
96
 
133
- </div>
134
-
135
- <div class="content"><div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">FooScreen</span> <span class="inheritance">&lt; <span class="parent">Prime::Screen</span></span></span>
97
+
98
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">FooScreen</span> <span class="inheritance">&lt; <span class="parent">Prime::Screen</span></span></span>
136
99
  title { params[<span class="symbol">:title</span>] }
137
- <span class="keyword">end</span></pre></div></div>
138
-
139
- </li>
100
+ <span class="keyword">end</span></pre></div>
140
101
 
102
+
141
103
 
142
- <li id="section-6">
143
- <div class="annotation">
144
-
145
- <div class="pilwrap ">
146
- <a class="pilcrow" href="#section-6">&#182;</a>
147
- </div>
148
- <p><strong> Initialize screen. </strong></p>
104
+ <p><strong> Initialize screen. </strong></p>
149
105
  <p>Available options:</p>
150
106
  <ul>
151
107
  <li><code>:navigation</code>. When this options is true, screen will be created with navigation support: it will allow adding title and left/right buttons.
152
108
  This option is true by default.</li>
153
109
  </ul>
154
110
 
155
- </div>
156
-
157
- <div class="content"><div class='highlight'><pre><span class="function"><span class="keyword">def</span> <span class="title">open_foo_screen</span></span>
158
- foo_screen = <span class="constant">FooScreen</span>.new(<span class="symbol">navigation:</span> <span class="keyword">false</span>)
159
- <span class="keyword">end</span></pre></div></div>
160
-
161
- </li>
162
111
 
112
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">AppDelegate</span> <span class="inheritance">&lt; <span class="parent">Prime::BaseAppDelegate</span></span></span>
113
+ <span class="function"><span class="keyword">def</span> <span class="title">on_load</span><span class="params">(application, launch_options)</span></span>
114
+ foo_screen = <span class="constant">FooScreen</span>.new(<span class="symbol">navigation:</span> <span class="keyword">false</span>)
115
+ <span class="keyword">end</span>
116
+ <span class="keyword">end</span></pre></div>
163
117
 
164
- <li id="section-7">
165
- <div class="annotation">
166
-
167
- <div class="pilwrap ">
168
- <a class="pilcrow" href="#section-7">&#182;</a>
169
- </div>
170
- <p><strong> Open screen: using app delegate. </strong></p>
118
+
119
+
120
+ <p><strong> Open screen: from app delegate. </strong></p>
171
121
  <p>Opening screen using app delegate is the most basic way, you would use it at least on app load.</p>
172
122
  <p>Available options:</p>
173
123
  <ul>
@@ -176,58 +126,55 @@ You can use root: true when you have already opened screen with sidebar, and you
176
126
  This option is false by default if you already have root screen and true if not.</p>
177
127
  </li>
178
128
  <li><p><code>:sidebar</code>. Send <code>Prime::Screen</code> instance to this option if you want to create root screen with sidebar.
179
- Value of this options will be used as sidebar controller.</p>
129
+ Value of this options will be used as sidebar controller.
130
+ NOTE: you should install some gem providing sidebar functionality, e.g. &#39;prime_reside_menu&#39;</p>
180
131
  </li>
181
132
  </ul>
182
133
 
183
- </div>
184
-
185
- <div class="content"><div class='highlight'><pre><span class="function"><span class="keyword">def</span> <span class="title">open_foo_screen</span></span>
186
- foo_screen = <span class="constant">FooScreen</span>.new
187
- sidebar = <span class="constant">MySidebar</span>.new(<span class="symbol">navigation:</span> <span class="keyword">false</span>)
188
- app_delegate.open_screen foo_screen, <span class="symbol">sidebar:</span> sidebar
189
- <span class="keyword">end</span></pre></div></div>
190
-
191
- </li>
192
-
193
-
194
- <li id="section-8">
195
- <div class="annotation">
196
-
197
- <div class="pilwrap ">
198
- <a class="pilcrow" href="#section-8">&#182;</a>
199
- </div>
200
- <p><strong> Open screen: using parent screen. </strong></p>
134
+
135
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">AppDelegate</span> <span class="inheritance">&lt; <span class="parent">Prime::BaseAppDelegate</span></span></span>
136
+ <span class="function"><span class="keyword">def</span> <span class="title">on_load</span><span class="params">(application, launch_options)</span></span>
137
+ foo_screen = <span class="constant">FooScreen</span>.new
138
+ sidebar = <span class="constant">MySidebar</span>.new(<span class="symbol">navigation:</span> <span class="keyword">false</span>)
139
+ app_delegate.open_screen foo_screen, <span class="symbol">sidebar:</span> sidebar
140
+ <span class="keyword">end</span>
141
+ <span class="keyword">end</span></pre></div>
142
+
143
+
144
+
145
+ <p><strong> Open screen: from parent screen. </strong></p>
201
146
  <p>Opening screen using parent screen is usefull if you want to create inherited screen.
202
147
  Parent screen should have been initialized with navigation support.</p>
203
148
 
204
- </div>
205
-
206
- <div class="content"><div class='highlight'><pre><span class="function"><span class="keyword">def</span> <span class="title">open_second_screen</span></span>
207
- second_screen = <span class="constant">SecondScreen</span>.new(<span class="symbol">navigation:</span> <span class="keyword">true</span>)
208
- foo_screen.open_screen second_screen
209
- <span class="keyword">end</span></pre></div></div>
210
-
211
- </li>
212
-
213
-
214
- <li id="section-9">
215
- <div class="annotation">
216
-
217
- <div class="pilwrap ">
218
- <a class="pilcrow" href="#section-9">&#182;</a>
219
- </div>
220
- <p><strong> Open screen: using short version. </strong></p>
149
+
150
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">FooScreen</span> <span class="inheritance">&lt; <span class="parent">Prime::Screen</span></span></span>
151
+ <span class="function"><span class="keyword">def</span> <span class="title">render</span></span>
152
+ second_screen = <span class="constant">SecondScreen</span>.new(<span class="symbol">navigation:</span> <span class="keyword">true</span>)
153
+ foo_screen.open_screen second_screen
154
+ <span class="keyword">end</span>
155
+ <span class="keyword">end</span></pre></div>
156
+
157
+
158
+
159
+ <p><strong> Open screen: using short version. </strong></p>
221
160
  <p>Opening screen using short syntax available both for opening via app delegate and via parent screen.</p>
222
161
 
223
- </div>
224
-
225
- <div class="content"><div class='highlight'><pre>foo_screen.open_screen <span class="symbol">:hello_world</span>
226
- app_delegate.open_screen <span class="symbol">:foo_bar</span>, <span class="symbol">sidebar:</span> <span class="keyword">true</span></pre></div></div>
227
-
228
- </li>
229
-
230
- </ul>
162
+
163
+ <div class='highlight'><pre><span class="class"><span class="keyword">class</span> <span class="title">AppDelegate</span> <span class="inheritance">&lt; <span class="parent">Prime::BaseAppDelegate</span></span></span>
164
+ <span class="function"><span class="keyword">def</span> <span class="title">on_load</span><span class="params">(application, launch_options)</span></span>
165
+ open_screen <span class="symbol">:foo_bar</span>, <span class="symbol">sidebar:</span> <span class="keyword">true</span>
166
+ <span class="keyword">end</span>
167
+ <span class="keyword">end</span></pre></div>
168
+
169
+
170
+
171
+ <p><strong> Next </strong></p>
172
+ <p><a href="sections.html">Read more about Sections</a></p>
173
+
174
+
175
+
176
+ <div class="fleur">h</div>
177
+ </div>
231
178
  </div>
232
179
  </body>
233
180
  </html>