Issue 479
[zxing.git] / iphone / ScanTest / Classes / RootViewController.mm
1 //
2 //  RootViewController.m
3 //  ScanTest
4 //
5 //  Created by David Kavanagh on 5/10/10.
6 //  Copyright __MyCompanyName__ 2010. All rights reserved.
7 //
8
9 #import "RootViewController.h"
10 #import "QRCodeReader.h"
11
12
13 @interface RootViewController()
14
15 @end
16
17
18 @implementation RootViewController
19 @synthesize resultsView;
20 @synthesize resultsToDisplay;
21 #pragma mark -
22 #pragma mark View lifecycle
23
24 - (void)viewDidLoad {
25   [super viewDidLoad];
26   [self setTitle:@"ZXing"];
27   [resultsView setText:resultsToDisplay];
28 }
29
30 - (IBAction)scanPressed:(id)sender {
31         
32   ZXingWidgetController *widController = [[ZXingWidgetController alloc] initWithDelegate:self showCancel:YES OneDMode:NO];
33   QRCodeReader* qrcodeReader = [[QRCodeReader alloc] init];
34   NSSet *readers = [[NSSet alloc ] initWithObjects:qrcodeReader,nil];
35   [qrcodeReader release];
36   widController.readers = readers;
37   [readers release];
38   NSBundle *mainBundle = [NSBundle mainBundle];
39   widController.soundToPlay =
40       [NSURL fileURLWithPath:[mainBundle pathForResource:@"beep-beep" ofType:@"aiff"] isDirectory:NO];
41   [self presentModalViewController:widController animated:YES];
42   [widController release];
43 }
44
45 #pragma mark -
46 #pragma mark ZXingDelegateMethods
47
48 - (void)zxingController:(ZXingWidgetController*)controller didScanResult:(NSString *)result {
49   self.resultsToDisplay = result;
50   if (self.isViewLoaded) {
51     [resultsView setText:resultsToDisplay];
52     [resultsView setNeedsDisplay];
53   }
54   [self dismissModalViewControllerAnimated:NO];
55 }
56
57 - (void)zxingControllerDidCancel:(ZXingWidgetController*)controller {
58   [self dismissModalViewControllerAnimated:YES];
59 }
60
61 - (void)viewDidUnload {
62   self.resultsView = nil;
63 }
64
65 - (void)dealloc {
66   [resultsView release];
67   [resultsToDisplay release];
68   [super dealloc];
69 }
70
71
72 @end
73