iCuke 0.5.5 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (201) hide show
  1. data/.gitignore +2 -0
  2. data/.gitmodules +3 -0
  3. data/README.rdoc +8 -7
  4. data/Rakefile +10 -30
  5. data/VERSION +1 -1
  6. data/app/.gitignore +3 -0
  7. data/app/LICENSE +20 -0
  8. data/app/Readme.markdown +3 -0
  9. data/app/Shared/AppDelegate_Shared.h +17 -0
  10. data/app/Shared/AppDelegate_Shared.m +25 -0
  11. data/app/{images/yellowslide.png → Shared/Icon.png} +0 -0
  12. data/app/Shared/ModalViewController.h +15 -0
  13. data/app/Shared/ModalViewController.m +96 -0
  14. data/app/Shared/TestViewController_Shared.h +15 -0
  15. data/app/Shared/TestViewController_Shared.m +43 -0
  16. data/app/{Info.plist → Shared/Universal-Info.plist} +17 -4
  17. data/app/Shared/Universal_Prefix.pch +8 -0
  18. data/app/Shared/main.m +14 -0
  19. data/app/Universal.xcodeproj/project.pbxproj +301 -0
  20. data/app/iPad/AppDelegate_Pad.h +15 -0
  21. data/app/iPad/AppDelegate_Pad.m +28 -0
  22. data/app/iPad/Default-Landscape.png +0 -0
  23. data/app/iPad/Default-Portrait.png +0 -0
  24. data/app/iPad/MainWindow_Pad.xib +343 -0
  25. data/app/iPad/TestViewController_Pad.h +15 -0
  26. data/app/iPad/TestViewController_Pad.m +52 -0
  27. data/app/iPhone/AppDelegate_Phone.h +15 -0
  28. data/app/iPhone/AppDelegate_Phone.m +28 -0
  29. data/app/{images/segment_search.png → iPhone/Default.png} +0 -0
  30. data/app/iPhone/MainWindow_Phone.xib +363 -0
  31. data/app/iPhone/TestViewController_Phone.h +15 -0
  32. data/app/iPhone/TestViewController_Phone.m +36 -0
  33. data/bin/.gitignore +1 -0
  34. data/bin/icuke +10 -0
  35. data/bin/icuke-module +17 -0
  36. data/ext/.gitignore +1 -0
  37. data/ext/Rakefile +6 -0
  38. data/ext/WaxSim/Simulator.h +31 -0
  39. data/ext/WaxSim/Simulator.m +131 -0
  40. data/ext/WaxSim/WaxSim.m +110 -0
  41. data/ext/WaxSim/WaxSim.xcodeproj/project.pbxproj +238 -0
  42. data/ext/WaxSim/WaxSim_Prefix.pch +7 -0
  43. data/ext/WaxSim/iPhoneSimulatorRemoteClient/iPhoneSimulatorRemoteClient.h +126 -0
  44. data/ext/iCuke/Rakefile +14 -17
  45. data/ext/iCuke/libicuke-sdk3.1.dylib +0 -0
  46. data/ext/iCuke/libicuke-sdk4.0.dylib +0 -0
  47. data/ext/iCuke/libicuke.dylib +0 -0
  48. data/ext/iCuke/{DefaultsResponse.h → sdk3.1/DefaultsResponse.h} +0 -0
  49. data/ext/iCuke/{DefaultsResponse.m → sdk3.1/DefaultsResponse.m} +0 -0
  50. data/ext/iCuke/{EventResponse.h → sdk3.1/EventResponse.h} +0 -0
  51. data/ext/iCuke/{EventResponse.m → sdk3.1/EventResponse.m} +0 -0
  52. data/ext/iCuke/sdk3.1/ModuleResponse.h +5 -0
  53. data/ext/iCuke/sdk3.1/ModuleResponse.m +76 -0
  54. data/ext/iCuke/sdk3.1/Rakefile +20 -0
  55. data/ext/iCuke/{Recorder.h → sdk3.1/Recorder.h} +0 -0
  56. data/ext/iCuke/{Recorder.m → sdk3.1/Recorder.m} +0 -0
  57. data/ext/iCuke/{RecorderResponse.h → sdk3.1/RecorderResponse.h} +0 -0
  58. data/ext/iCuke/{RecorderResponse.m → sdk3.1/RecorderResponse.m} +0 -0
  59. data/ext/iCuke/{SynthesizeSingleton.h → sdk3.1/SynthesizeSingleton.h} +0 -0
  60. data/ext/iCuke/{ViewResponse.h → sdk3.1/ViewResponse.h} +0 -0
  61. data/ext/iCuke/{ViewResponse.m → sdk3.1/ViewResponse.m} +0 -0
  62. data/ext/iCuke/{Viewer.h → sdk3.1/Viewer.h} +0 -0
  63. data/ext/iCuke/sdk3.1/Viewer.m +203 -0
  64. data/ext/iCuke/{iCukeHTTPResponseHandler.h → sdk3.1/iCukeHTTPResponseHandler.h} +0 -0
  65. data/ext/iCuke/{iCukeHTTPResponseHandler.m → sdk3.1/iCukeHTTPResponseHandler.m} +0 -0
  66. data/ext/iCuke/{iCukeHTTPServer.h → sdk3.1/iCukeHTTPServer.h} +0 -0
  67. data/ext/iCuke/{iCukeHTTPServer.m → sdk3.1/iCukeHTTPServer.m} +0 -0
  68. data/ext/iCuke/{iCukeServer.h → sdk3.1/iCukeServer.h} +0 -2
  69. data/ext/iCuke/{iCukeServer.m → sdk3.1/iCukeServer.m} +22 -20
  70. data/ext/iCuke/{json → sdk3.1/json}/JSON.h +0 -0
  71. data/ext/iCuke/{json → sdk3.1/json}/NSObject+SBJSON.h +0 -0
  72. data/ext/iCuke/{json → sdk3.1/json}/NSObject+SBJSON.m +0 -0
  73. data/ext/iCuke/{json → sdk3.1/json}/NSString+SBJSON.h +0 -0
  74. data/ext/iCuke/{json → sdk3.1/json}/NSString+SBJSON.m +0 -0
  75. data/ext/iCuke/{json → sdk3.1/json}/SBJSON.h +0 -0
  76. data/ext/iCuke/{json → sdk3.1/json}/SBJSON.m +0 -0
  77. data/ext/iCuke/{json → sdk3.1/json}/SBJsonBase.h +0 -0
  78. data/ext/iCuke/{json → sdk3.1/json}/SBJsonBase.m +0 -0
  79. data/ext/iCuke/{json → sdk3.1/json}/SBJsonParser.h +0 -0
  80. data/ext/iCuke/{json → sdk3.1/json}/SBJsonParser.m +0 -0
  81. data/ext/iCuke/{json → sdk3.1/json}/SBJsonWriter.h +0 -0
  82. data/ext/iCuke/{json → sdk3.1/json}/SBJsonWriter.m +0 -0
  83. data/ext/iCuke/sdk4.0/DefaultsResponse.h +5 -0
  84. data/ext/iCuke/sdk4.0/DefaultsResponse.m +66 -0
  85. data/ext/iCuke/sdk4.0/EventResponse.h +5 -0
  86. data/ext/iCuke/sdk4.0/EventResponse.m +130 -0
  87. data/ext/iCuke/sdk4.0/ModuleResponse.h +5 -0
  88. data/ext/iCuke/sdk4.0/ModuleResponse.m +76 -0
  89. data/ext/iCuke/sdk4.0/Rakefile +20 -0
  90. data/ext/iCuke/sdk4.0/Recorder.h +17 -0
  91. data/ext/iCuke/sdk4.0/Recorder.m +90 -0
  92. data/ext/iCuke/sdk4.0/RecorderResponse.h +6 -0
  93. data/ext/iCuke/sdk4.0/RecorderResponse.m +68 -0
  94. data/ext/iCuke/sdk4.0/SynthesizeSingleton.h +68 -0
  95. data/ext/iCuke/sdk4.0/ViewResponse.h +5 -0
  96. data/ext/iCuke/sdk4.0/ViewResponse.m +84 -0
  97. data/ext/iCuke/sdk4.0/Viewer.h +8 -0
  98. data/ext/iCuke/{Viewer.m → sdk4.0/Viewer.m} +14 -0
  99. data/ext/iCuke/sdk4.0/iCukeHTTPResponseHandler.h +50 -0
  100. data/ext/iCuke/sdk4.0/iCukeHTTPResponseHandler.m +381 -0
  101. data/ext/iCuke/sdk4.0/iCukeHTTPServer.h +53 -0
  102. data/ext/iCuke/sdk4.0/iCukeHTTPServer.m +365 -0
  103. data/ext/iCuke/sdk4.0/iCukeServer.h +14 -0
  104. data/ext/iCuke/sdk4.0/iCukeServer.m +65 -0
  105. data/ext/iCuke/sdk4.0/json/JSON.h +50 -0
  106. data/ext/iCuke/sdk4.0/json/NSObject+SBJSON.h +68 -0
  107. data/ext/iCuke/sdk4.0/json/NSObject+SBJSON.m +53 -0
  108. data/ext/iCuke/sdk4.0/json/NSString+SBJSON.h +58 -0
  109. data/ext/iCuke/sdk4.0/json/NSString+SBJSON.m +55 -0
  110. data/ext/iCuke/sdk4.0/json/SBJSON.h +75 -0
  111. data/ext/iCuke/sdk4.0/json/SBJSON.m +212 -0
  112. data/ext/iCuke/sdk4.0/json/SBJsonBase.h +86 -0
  113. data/ext/iCuke/sdk4.0/json/SBJsonBase.m +78 -0
  114. data/ext/iCuke/sdk4.0/json/SBJsonParser.h +87 -0
  115. data/ext/iCuke/sdk4.0/json/SBJsonParser.m +475 -0
  116. data/ext/iCuke/sdk4.0/json/SBJsonWriter.h +129 -0
  117. data/ext/iCuke/sdk4.0/json/SBJsonWriter.m +228 -0
  118. data/features/iphone.feature +15 -0
  119. data/features/support/env.rb +1 -1
  120. data/iCuke.gemspec +118 -114
  121. data/lib/icuke/cucumber.rb +93 -64
  122. data/lib/icuke/screen.rb +110 -0
  123. data/lib/icuke/sdk.rb +134 -0
  124. data/lib/icuke/simulate.rb +9 -5
  125. data/lib/icuke/simulator.rb +10 -11
  126. data/lib/icuke/waxsim.rb +36 -0
  127. data/lib/icuke.rb +2 -1
  128. metadata +124 -129
  129. data/app/AlertsViewController.h +0 -59
  130. data/app/AlertsViewController.m +0 -341
  131. data/app/AppDelegate.h +0 -60
  132. data/app/AppDelegate.m +0 -101
  133. data/app/ButtonsViewController.h +0 -80
  134. data/app/ButtonsViewController.m +0 -448
  135. data/app/Constants.h +0 -58
  136. data/app/ControlsViewController.h +0 -72
  137. data/app/ControlsViewController.m +0 -379
  138. data/app/ImagesViewController.h +0 -62
  139. data/app/ImagesViewController.m +0 -137
  140. data/app/MainViewController.h +0 -57
  141. data/app/MainViewController.m +0 -262
  142. data/app/Picker/CustomPickerDataSource.h +0 -55
  143. data/app/Picker/CustomPickerDataSource.m +0 -135
  144. data/app/Picker/CustomView.h +0 -62
  145. data/app/Picker/CustomView.m +0 -119
  146. data/app/PickerViewController.h +0 -88
  147. data/app/PickerViewController.m +0 -402
  148. data/app/Prefix.pch +0 -5
  149. data/app/ReadMe.txt +0 -82
  150. data/app/SearchBarController.h +0 -58
  151. data/app/SearchBarController.m +0 -105
  152. data/app/SegmentViewController.h +0 -54
  153. data/app/SegmentViewController.m +0 -195
  154. data/app/TextFieldController.h +0 -67
  155. data/app/TextFieldController.m +0 -342
  156. data/app/TextViewController.h +0 -57
  157. data/app/TextViewController.m +0 -164
  158. data/app/ToolbarViewController.h +0 -74
  159. data/app/ToolbarViewController.m +0 -303
  160. data/app/TransitionViewController.h +0 -64
  161. data/app/TransitionViewController.m +0 -178
  162. data/app/UICatalog.xcodeproj/project.pbxproj +0 -615
  163. data/app/WebViewController.h +0 -57
  164. data/app/WebViewController.m +0 -173
  165. data/app/en.lproj/AlertsViewController.xib +0 -144
  166. data/app/en.lproj/ButtonsViewController.xib +0 -147
  167. data/app/en.lproj/ControlsViewController.xib +0 -147
  168. data/app/en.lproj/ImagesViewController.xib +0 -264
  169. data/app/en.lproj/Localizable.strings +0 -41
  170. data/app/en.lproj/MainWindow.xib +0 -306
  171. data/app/en.lproj/PickerViewController.xib +0 -415
  172. data/app/en.lproj/SearchBarController.xib +0 -142
  173. data/app/en.lproj/SegmentViewController.xib +0 -143
  174. data/app/en.lproj/TextFieldController.xib +0 -167
  175. data/app/en.lproj/TextViewController.xib +0 -149
  176. data/app/en.lproj/ToolbarViewController.xib +0 -491
  177. data/app/en.lproj/TransitionViewController.xib +0 -255
  178. data/app/en.lproj/WebViewController.xib +0 -141
  179. data/app/images/12-6AM.png +0 -0
  180. data/app/images/12-6PM.png +0 -0
  181. data/app/images/6-12AM.png +0 -0
  182. data/app/images/6-12PM.png +0 -0
  183. data/app/images/Default.png +0 -0
  184. data/app/images/Icon.png +0 -0
  185. data/app/images/UIButton_custom.png +0 -0
  186. data/app/images/blueButton.png +0 -0
  187. data/app/images/orangeslide.png +0 -0
  188. data/app/images/scene1.jpg +0 -0
  189. data/app/images/scene2.jpg +0 -0
  190. data/app/images/scene3.jpg +0 -0
  191. data/app/images/scene4.jpg +0 -0
  192. data/app/images/scene5.jpg +0 -0
  193. data/app/images/segment_check.png +0 -0
  194. data/app/images/segment_tools.png +0 -0
  195. data/app/images/slider_ball.png +0 -0
  196. data/app/images/whiteButton.png +0 -0
  197. data/app/main.m +0 -58
  198. data/features/uicatalog.feature +0 -20
  199. data/lib/icuke/com.apple.Accessibility.plist +0 -0
  200. data/lib/icuke/headless.rb +0 -54
  201. data/lib/icuke/xcode.rb +0 -164
@@ -1,379 +0,0 @@
1
- /*
2
- File: ControlsViewController.m
3
- Abstract: The view controller for hosting the UIControls features of this sample.
4
- Version: 2.6
5
-
6
- Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple
7
- Inc. ("Apple") in consideration of your agreement to the following
8
- terms, and your use, installation, modification or redistribution of
9
- this Apple software constitutes acceptance of these terms. If you do
10
- not agree with these terms, please do not use, install, modify or
11
- redistribute this Apple software.
12
-
13
- In consideration of your agreement to abide by the following terms, and
14
- subject to these terms, Apple grants you a personal, non-exclusive
15
- license, under Apple's copyrights in this original Apple software (the
16
- "Apple Software"), to use, reproduce, modify and redistribute the Apple
17
- Software, with or without modifications, in source and/or binary forms;
18
- provided that if you redistribute the Apple Software in its entirety and
19
- without modifications, you must retain this notice and the following
20
- text and disclaimers in all such redistributions of the Apple Software.
21
- Neither the name, trademarks, service marks or logos of Apple Inc. may
22
- be used to endorse or promote products derived from the Apple Software
23
- without specific prior written permission from Apple. Except as
24
- expressly stated in this notice, no other rights or licenses, express or
25
- implied, are granted by Apple herein, including but not limited to any
26
- patent rights that may be infringed by your derivative works or by other
27
- works in which the Apple Software may be incorporated.
28
-
29
- The Apple Software is provided by Apple on an "AS IS" basis. APPLE
30
- MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
31
- THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
32
- FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
33
- OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
34
-
35
- IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
36
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
37
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
38
- INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
39
- MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
40
- AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
41
- STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
42
- POSSIBILITY OF SUCH DAMAGE.
43
-
44
- Copyright (C) 2009 Apple Inc. All Rights Reserved.
45
-
46
- */
47
-
48
- #import "ControlsViewController.h"
49
- #import "Constants.h"
50
-
51
- #define kSliderHeight 7.0
52
- #define kProgressIndicatorSize 40.0
53
- #define kUIProgressBarWidth 160.0
54
- #define kUIProgressBarHeight 24.0
55
-
56
- #define kViewTag 1 // for tagging our embedded controls for removal at cell recycle time
57
-
58
- static NSString *kSectionTitleKey = @"sectionTitleKey";
59
- static NSString *kLabelKey = @"labelKey";
60
- static NSString *kSourceKey = @"sourceKey";
61
- static NSString *kViewKey = @"viewKey";
62
-
63
- #pragma mark -
64
-
65
- @implementation ControlsViewController
66
-
67
- @synthesize dataSourceArray;
68
-
69
- - (void)dealloc
70
- {
71
- [switchCtl release];
72
- [sliderCtl release];
73
- [customSlider release];
74
- [pageControl release];
75
- [progressInd release];
76
- [progressBar release];
77
-
78
- [dataSourceArray release];
79
-
80
- [super dealloc];
81
- }
82
-
83
- - (void)viewDidLoad
84
- {
85
- [super viewDidLoad];
86
- self.title = NSLocalizedString(@"ControlsTitle", @"");
87
-
88
- self.dataSourceArray = [NSArray arrayWithObjects:
89
- [NSDictionary dictionaryWithObjectsAndKeys:
90
- @"UISwitch", kSectionTitleKey,
91
- @"Standard Switch", kLabelKey,
92
- @"ControlsViewController.m:\r-(UISwitch *)switchCtl", kSourceKey,
93
- self.switchCtl, kViewKey,
94
- nil],
95
-
96
- [NSDictionary dictionaryWithObjectsAndKeys:
97
- @"UISlider", kSectionTitleKey,
98
- @"Standard Slider", kLabelKey,
99
- @"ControlsViewController.m:\r-(UISlider *)sliderCtl", kSourceKey,
100
- self.sliderCtl, kViewKey,
101
- nil],
102
-
103
- [NSDictionary dictionaryWithObjectsAndKeys:
104
- @"UISlider", kSectionTitleKey,
105
- @"Customized Slider", kLabelKey,
106
- @"ControlsViewController.m:\r-(UISlider *)customSlider", kSourceKey,
107
- self.customSlider, kViewKey,
108
- nil],
109
-
110
- [NSDictionary dictionaryWithObjectsAndKeys:
111
- @"UIPageControl", kSectionTitleKey,
112
- @"Ten Pages", kLabelKey,
113
- @"ControlsViewController.m:\r-(UIPageControl *)pageControl", kSourceKey,
114
- self.pageControl, kViewKey,
115
- nil],
116
-
117
- [NSDictionary dictionaryWithObjectsAndKeys:
118
- @"UIActivityIndicatorView", kSectionTitleKey,
119
- @"Style Gray", kLabelKey,
120
- @"ControlsViewController.m:\r-(UIActivityIndicatorView *)progressInd", kSourceKey,
121
- self.progressInd, kViewKey,
122
- nil],
123
-
124
- [NSDictionary dictionaryWithObjectsAndKeys:
125
- @"UIProgressView", kSectionTitleKey,
126
- @"Style Default", kLabelKey,
127
- @"ControlsViewController.m:\r-(UIProgressView *)progressBar", kSourceKey,
128
- self.progressBar, kViewKey,
129
- nil],
130
- nil];
131
- }
132
-
133
- // called after the view controller's view is released and set to nil.
134
- // For example, a memory warning which causes the view to be purged. Not invoked as a result of -dealloc.
135
- // So release any properties that are loaded in viewDidLoad or can be recreated lazily.
136
- //
137
- - (void)viewDidUnload
138
- {
139
- [super viewDidUnload];
140
-
141
- // release the controls and set them nil in case they were ever created
142
- // note: we can't use "self.xxx = nil" since they are read only properties
143
- //
144
- [switchCtl release];
145
- switchCtl = nil;
146
- [sliderCtl release];
147
- sliderCtl = nil;
148
- [customSlider release];
149
- customSlider = nil;
150
- [pageControl release];
151
- pageControl = nil;
152
- [progressInd release];
153
- progressInd = nil;
154
- [progressBar release];
155
- progressBar = nil;
156
-
157
- self.dataSourceArray = nil; // this will release and set to nil
158
- }
159
-
160
-
161
- #pragma mark -
162
- #pragma mark UITableViewDataSource
163
-
164
- - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
165
- {
166
- return [self.dataSourceArray count];
167
- }
168
-
169
- - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
170
- {
171
- return [[self.dataSourceArray objectAtIndex: section] valueForKey:kSectionTitleKey];
172
- }
173
-
174
- - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
175
- {
176
- return 2;
177
- }
178
-
179
- // to determine specific row height for each cell, override this.
180
- // In this example, each row is determined by its subviews that are embedded.
181
- //
182
- - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
183
- {
184
- return ([indexPath row] == 0) ? 50.0 : 38.0;
185
- }
186
-
187
- // to determine which UITableViewCell to be used on a given row.
188
- //
189
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
190
- {
191
- UITableViewCell *cell = nil;
192
-
193
- if ([indexPath row] == 0)
194
- {
195
- static NSString *kDisplayCell_ID = @"DisplayCellID";
196
- cell = [self.tableView dequeueReusableCellWithIdentifier:kDisplayCell_ID];
197
- if (cell == nil)
198
- {
199
- cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kDisplayCell_ID] autorelease];
200
- cell.selectionStyle = UITableViewCellSelectionStyleNone;
201
- }
202
- else
203
- {
204
- // the cell is being recycled, remove old embedded controls
205
- UIView *viewToRemove = nil;
206
- viewToRemove = [cell.contentView viewWithTag:kViewTag];
207
- if (viewToRemove)
208
- [viewToRemove removeFromSuperview];
209
- }
210
-
211
- cell.textLabel.text = [[self.dataSourceArray objectAtIndex: indexPath.section] valueForKey:kLabelKey];
212
-
213
- UIControl *control = [[self.dataSourceArray objectAtIndex: indexPath.section] valueForKey:kViewKey];
214
- [cell.contentView addSubview:control];
215
- }
216
- else
217
- {
218
- static NSString *kSourceCellID = @"SourceCellID";
219
- cell = [self.tableView dequeueReusableCellWithIdentifier:kSourceCellID];
220
- if (cell == nil)
221
- {
222
- cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kSourceCellID] autorelease];
223
- cell.selectionStyle = UITableViewCellSelectionStyleNone;
224
-
225
- cell.textLabel.opaque = NO;
226
- cell.textLabel.textAlignment = UITextAlignmentCenter;
227
- cell.textLabel.textColor = [UIColor grayColor];
228
- cell.textLabel.numberOfLines = 2;
229
- cell.textLabel.highlightedTextColor = [UIColor blackColor];
230
- cell.textLabel.font = [UIFont systemFontOfSize:12];
231
- }
232
-
233
- cell.textLabel.text = [[self.dataSourceArray objectAtIndex: indexPath.section] valueForKey:kSourceKey];
234
- }
235
-
236
- return cell;
237
- }
238
-
239
- - (void)switchAction:(id)sender
240
- {
241
- // NSLog(@"switchAction: value = %d", [sender isOn]);
242
- }
243
-
244
- - (void)pageAction:(id)sender
245
- {
246
- // NSLog(@"pageAction: current page = %d", [sender currentPage]);
247
- }
248
-
249
-
250
- #pragma mark -
251
- #pragma mark Lazy creation of controls
252
-
253
- - (UISwitch *)switchCtl
254
- {
255
- if (switchCtl == nil)
256
- {
257
- CGRect frame = CGRectMake(198.0, 12.0, 94.0, 27.0);
258
- switchCtl = [[UISwitch alloc] initWithFrame:frame];
259
- [switchCtl addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventValueChanged];
260
-
261
- // in case the parent view draws with a custom color or gradient, use a transparent color
262
- switchCtl.backgroundColor = [UIColor clearColor];
263
-
264
- [switchCtl setAccessibilityLabel:NSLocalizedString(@"StandardSwitch", @"")];
265
-
266
- switchCtl.tag = kViewTag; // tag this view for later so we can remove it from recycled table cells
267
- }
268
- return switchCtl;
269
- }
270
-
271
- - (UISlider *)sliderCtl
272
- {
273
- if (sliderCtl == nil)
274
- {
275
- CGRect frame = CGRectMake(174.0, 12.0, 120.0, kSliderHeight);
276
- sliderCtl = [[UISlider alloc] initWithFrame:frame];
277
- [sliderCtl addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
278
-
279
- // in case the parent view draws with a custom color or gradient, use a transparent color
280
- sliderCtl.backgroundColor = [UIColor clearColor];
281
-
282
- sliderCtl.minimumValue = 0.0;
283
- sliderCtl.maximumValue = 100.0;
284
- sliderCtl.continuous = YES;
285
- sliderCtl.value = 50.0;
286
-
287
- // Add an accessibility label that describes the slider.
288
- [sliderCtl setAccessibilityLabel:NSLocalizedString(@"StandardSlider", @"")];
289
-
290
- sliderCtl.tag = kViewTag; // tag this view for later so we can remove it from recycled table cells
291
- }
292
- return sliderCtl;
293
- }
294
-
295
- - (UISlider *)customSlider
296
- {
297
- if (customSlider == nil)
298
- {
299
- CGRect frame = CGRectMake(174, 12.0, 120.0, kSliderHeight);
300
- customSlider = [[UISlider alloc] initWithFrame:frame];
301
- [customSlider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
302
- // in case the parent view draws with a custom color or gradient, use a transparent color
303
- customSlider.backgroundColor = [UIColor clearColor];
304
- UIImage *stetchLeftTrack = [[UIImage imageNamed:@"orangeslide.png"]
305
- stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
306
- UIImage *stetchRightTrack = [[UIImage imageNamed:@"yellowslide.png"]
307
- stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
308
- [customSlider setThumbImage: [UIImage imageNamed:@"slider_ball.png"] forState:UIControlStateNormal];
309
- [customSlider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal];
310
- [customSlider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal];
311
- customSlider.minimumValue = 0.0;
312
- customSlider.maximumValue = 100.0;
313
- customSlider.continuous = YES;
314
- customSlider.value = 50.0;
315
-
316
- // Add an accessibility label that describes the slider.
317
- [customSlider setAccessibilityLabel:NSLocalizedString(@"CustomSlider", @"")];
318
-
319
- customSlider.tag = kViewTag; // tag this view for later so we can remove it from recycled table cells
320
- }
321
- return customSlider;
322
- }
323
-
324
- - (void)sliderAction:(id)sender
325
- { }
326
-
327
- - (UIPageControl *)pageControl
328
- {
329
- if (pageControl == nil)
330
- {
331
- CGRect frame = CGRectMake(120.0, 14.0, 178.0, 20.0);
332
- pageControl = [[UIPageControl alloc] initWithFrame:frame];
333
- [pageControl addTarget:self action:@selector(pageAction:) forControlEvents:UIControlEventTouchUpInside];
334
-
335
- // in case the parent view draws with a custom color or gradient, use a transparent color
336
- pageControl.backgroundColor = [UIColor grayColor];
337
-
338
- pageControl.numberOfPages = 10; // must be set or control won't draw
339
-
340
- pageControl.tag = kViewTag; // tag this view for later so we can remove it from recycled table cells
341
- }
342
- return pageControl;
343
- }
344
-
345
- - (UIActivityIndicatorView *)progressInd
346
- {
347
- if (progressInd == nil)
348
- {
349
- CGRect frame = CGRectMake(265.0, 12.0, kProgressIndicatorSize, kProgressIndicatorSize);
350
- progressInd = [[UIActivityIndicatorView alloc] initWithFrame:frame];
351
- [progressInd startAnimating];
352
- progressInd.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
353
- [progressInd sizeToFit];
354
- progressInd.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin |
355
- UIViewAutoresizingFlexibleRightMargin |
356
- UIViewAutoresizingFlexibleTopMargin |
357
- UIViewAutoresizingFlexibleBottomMargin);
358
-
359
- progressInd.tag = kViewTag; // tag this view for later so we can remove it from recycled table cells
360
- }
361
- return progressInd;
362
- }
363
-
364
- - (UIProgressView *)progressBar
365
- {
366
- if (progressBar == nil)
367
- {
368
- CGRect frame = CGRectMake(126.0, 20.0, kUIProgressBarWidth, kUIProgressBarHeight);
369
- progressBar = [[UIProgressView alloc] initWithFrame:frame];
370
- progressBar.progressViewStyle = UIProgressViewStyleDefault;
371
- progressBar.progress = 0.5;
372
-
373
- progressBar.tag = kViewTag; // tag this view for later so we can remove it from recycled table cells
374
- }
375
- return progressBar;
376
- }
377
-
378
- @end
379
-
@@ -1,62 +0,0 @@
1
- /*
2
- File: ImagesViewController.h
3
- Abstract: The view controller for hosting the UIImageView containing multiple images.
4
- Version: 2.6
5
-
6
- Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple
7
- Inc. ("Apple") in consideration of your agreement to the following
8
- terms, and your use, installation, modification or redistribution of
9
- this Apple software constitutes acceptance of these terms. If you do
10
- not agree with these terms, please do not use, install, modify or
11
- redistribute this Apple software.
12
-
13
- In consideration of your agreement to abide by the following terms, and
14
- subject to these terms, Apple grants you a personal, non-exclusive
15
- license, under Apple's copyrights in this original Apple software (the
16
- "Apple Software"), to use, reproduce, modify and redistribute the Apple
17
- Software, with or without modifications, in source and/or binary forms;
18
- provided that if you redistribute the Apple Software in its entirety and
19
- without modifications, you must retain this notice and the following
20
- text and disclaimers in all such redistributions of the Apple Software.
21
- Neither the name, trademarks, service marks or logos of Apple Inc. may
22
- be used to endorse or promote products derived from the Apple Software
23
- without specific prior written permission from Apple. Except as
24
- expressly stated in this notice, no other rights or licenses, express or
25
- implied, are granted by Apple herein, including but not limited to any
26
- patent rights that may be infringed by your derivative works or by other
27
- works in which the Apple Software may be incorporated.
28
-
29
- The Apple Software is provided by Apple on an "AS IS" basis. APPLE
30
- MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
31
- THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
32
- FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
33
- OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
34
-
35
- IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
36
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
37
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
38
- INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
39
- MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
40
- AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
41
- STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
42
- POSSIBILITY OF SUCH DAMAGE.
43
-
44
- Copyright (C) 2009 Apple Inc. All Rights Reserved.
45
-
46
- */
47
-
48
- #import <UIKit/UIKit.h>
49
-
50
- @interface ImagesViewController : UIViewController
51
- {
52
- UIImageView *imageView;
53
- UISlider *slider;
54
- }
55
-
56
- @property (nonatomic, retain) IBOutlet UIImageView *imageView;
57
- @property (nonatomic, retain) IBOutlet UISlider *slider;
58
-
59
- - (IBAction)sliderAction:(id)sender;
60
-
61
- @end
62
-
@@ -1,137 +0,0 @@
1
- /*
2
- File: ImagesViewController.m
3
- Abstract: The view controller for hosting the UIImageView containing multiple images.
4
- Version: 2.6
5
-
6
- Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple
7
- Inc. ("Apple") in consideration of your agreement to the following
8
- terms, and your use, installation, modification or redistribution of
9
- this Apple software constitutes acceptance of these terms. If you do
10
- not agree with these terms, please do not use, install, modify or
11
- redistribute this Apple software.
12
-
13
- In consideration of your agreement to abide by the following terms, and
14
- subject to these terms, Apple grants you a personal, non-exclusive
15
- license, under Apple's copyrights in this original Apple software (the
16
- "Apple Software"), to use, reproduce, modify and redistribute the Apple
17
- Software, with or without modifications, in source and/or binary forms;
18
- provided that if you redistribute the Apple Software in its entirety and
19
- without modifications, you must retain this notice and the following
20
- text and disclaimers in all such redistributions of the Apple Software.
21
- Neither the name, trademarks, service marks or logos of Apple Inc. may
22
- be used to endorse or promote products derived from the Apple Software
23
- without specific prior written permission from Apple. Except as
24
- expressly stated in this notice, no other rights or licenses, express or
25
- implied, are granted by Apple herein, including but not limited to any
26
- patent rights that may be infringed by your derivative works or by other
27
- works in which the Apple Software may be incorporated.
28
-
29
- The Apple Software is provided by Apple on an "AS IS" basis. APPLE
30
- MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
31
- THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
32
- FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
33
- OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
34
-
35
- IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
36
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
37
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
38
- INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
39
- MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
40
- AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
41
- STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
42
- POSSIBILITY OF SUCH DAMAGE.
43
-
44
- Copyright (C) 2009 Apple Inc. All Rights Reserved.
45
-
46
- */
47
-
48
- #import "ImagesViewController.h"
49
- #import "Constants.h"
50
-
51
- #define kMinDuration 0.0
52
- #define kMaxDuration 10.0
53
-
54
- @implementation ImagesViewController
55
-
56
- @synthesize imageView, slider;
57
-
58
- - (void)dealloc
59
- {
60
- [imageView release];
61
- [slider release];
62
-
63
- [super dealloc];
64
- }
65
-
66
- - (void)viewDidLoad
67
- {
68
- [super viewDidLoad];
69
-
70
- self.title = NSLocalizedString(@"ImagesTitle", @"");
71
-
72
- // set up our UIImage with a group or array of images to animate (or in our case a slideshow)
73
- self.imageView.animationImages = [NSArray arrayWithObjects:
74
- [UIImage imageNamed:@"scene1.jpg"],
75
- [UIImage imageNamed:@"scene2.jpg"],
76
- [UIImage imageNamed:@"scene3.jpg"],
77
- [UIImage imageNamed:@"scene4.jpg"],
78
- [UIImage imageNamed:@"scene5.jpg"],
79
- nil];
80
- imageView.animationDuration = 5.0;
81
- [self.imageView stopAnimating];
82
-
83
- // Set the appropriate accessibility labels.
84
- [self.imageView setIsAccessibilityElement:YES];
85
- [self.imageView setAccessibilityLabel:self.title];
86
- [self.slider setAccessibilityLabel:NSLocalizedString(@"DurationSlider",@"")];
87
- }
88
-
89
- // called after the view controller's view is released and set to nil.
90
- // For example, a memory warning which causes the view to be purged. Not invoked as a result of -dealloc.
91
- // So release any properties that are loaded in viewDidLoad or can be recreated lazily.
92
- //
93
- - (void)viewDidUnload
94
- {
95
- [super viewDidUnload];
96
-
97
- self.imageView = nil;
98
- self.slider = nil;
99
- }
100
-
101
- // slown down or speed up the slide show as the slider is moved
102
- - (IBAction)sliderAction:(id)sender
103
- {
104
- UISlider* durationSlider = sender;
105
- self.imageView.animationDuration = [durationSlider value];
106
- if (!self.imageView.isAnimating)
107
- [self.imageView startAnimating];
108
- }
109
-
110
-
111
- #pragma mark -
112
- #pragma mark UIViewController delegate methods
113
-
114
- // called after this controller's view was dismissed, covered or otherwise hidden
115
- - (void)viewWillDisappear:(BOOL)animated
116
- {
117
- [self.imageView stopAnimating];
118
-
119
- // restore the nav bar and status bar color to default
120
- self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
121
- [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
122
- }
123
-
124
- // called after this controller's view will appear
125
- - (void)viewWillAppear:(BOOL)animated
126
- {
127
- [self.imageView startAnimating];
128
-
129
- // for aesthetic reasons (the background is black), make the nav bar black for this particular page
130
- self.navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque;
131
-
132
- // match the status bar with the nav bar
133
- [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackOpaque;
134
- }
135
-
136
- @end
137
-
@@ -1,57 +0,0 @@
1
- /*
2
- File: MainViewController.h
3
- Abstract: The application's main view controller (front page).
4
- Version: 2.6
5
-
6
- Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple
7
- Inc. ("Apple") in consideration of your agreement to the following
8
- terms, and your use, installation, modification or redistribution of
9
- this Apple software constitutes acceptance of these terms. If you do
10
- not agree with these terms, please do not use, install, modify or
11
- redistribute this Apple software.
12
-
13
- In consideration of your agreement to abide by the following terms, and
14
- subject to these terms, Apple grants you a personal, non-exclusive
15
- license, under Apple's copyrights in this original Apple software (the
16
- "Apple Software"), to use, reproduce, modify and redistribute the Apple
17
- Software, with or without modifications, in source and/or binary forms;
18
- provided that if you redistribute the Apple Software in its entirety and
19
- without modifications, you must retain this notice and the following
20
- text and disclaimers in all such redistributions of the Apple Software.
21
- Neither the name, trademarks, service marks or logos of Apple Inc. may
22
- be used to endorse or promote products derived from the Apple Software
23
- without specific prior written permission from Apple. Except as
24
- expressly stated in this notice, no other rights or licenses, express or
25
- implied, are granted by Apple herein, including but not limited to any
26
- patent rights that may be infringed by your derivative works or by other
27
- works in which the Apple Software may be incorporated.
28
-
29
- The Apple Software is provided by Apple on an "AS IS" basis. APPLE
30
- MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
31
- THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
32
- FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
33
- OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
34
-
35
- IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
36
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
37
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
38
- INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
39
- MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
40
- AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
41
- STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
42
- POSSIBILITY OF SUCH DAMAGE.
43
-
44
- Copyright (C) 2009 Apple Inc. All Rights Reserved.
45
-
46
- */
47
-
48
- #import <UIKit/UIKit.h>
49
-
50
- @interface MainViewController : UITableViewController
51
- {
52
- NSMutableArray *menuList;
53
- }
54
-
55
- @property (nonatomic, retain) NSMutableArray *menuList;
56
-
57
- @end