motion-prime 0.5.6 → 0.5.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -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>