Statistics
| Branch: | Revision:

root / asi-http-request-with-pithos / iPhone Sample / RootViewController.m @ be116d22

History | View | Annotate | Download (4.1 kB)

1
//
2
//  RootViewController.m
3
//  Part of the ASIHTTPRequest sample project - see http://allseeing-i.com/ASIHTTPRequest for details
4
//
5
//  Created by Ben Copsey on 16/06/2010.
6
//  Copyright 2010 All-Seeing Interactive. All rights reserved.
7
//
8

    
9
#import "RootViewController.h"
10
#import "SynchronousViewController.h"
11
#import "QueueViewController.h"
12
#import "AuthenticationViewController.h"
13
#import "UploadViewController.h"
14
#import "WebPageViewController.h"
15

    
16
@implementation RootViewController
17

    
18

    
19
- (void)viewDidLoad
20
{
21
    [super viewDidLoad];
22
    self.contentSizeForViewInPopover = CGSizeMake(310.0f, self.tableView.rowHeight*5.0f);
23
}
24

    
25
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
26
    return YES;
27
}
28

    
29
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
30
{
31
	UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyCell"];
32
	if (!cell) {
33
		cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MyCell"] autorelease];
34
	}
35
	switch ([indexPath row]) {
36
		case 0:
37
			[[cell textLabel] setText:@"Synchronous"];
38
			break;
39
		case 1:
40
			[[cell textLabel] setText:@"Queue"];
41
			break;
42
		case 2:
43
			[[cell textLabel] setText:@"Authentication"];
44
			break;
45
		case 3:
46
			[[cell textLabel] setText:@"Upload"];
47
			break;
48
		case 4:
49
			[[cell textLabel] setText:@"Web Page Download"];
50
			break;
51
	}
52
	return cell;
53
}
54

    
55
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
56
{
57
	return 5;
58
}
59

    
60
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
61
{
62
	UIViewController *viewController = nil;
63
	switch ([indexPath row]) {
64
		case 0:
65
			viewController = [[[SynchronousViewController alloc] initWithNibName:@"Sample" bundle:nil] autorelease];
66
			break;
67
		case 1:
68
			viewController = [[[QueueViewController alloc] initWithNibName:@"Sample" bundle:nil] autorelease];
69
			break;
70
		case 2:
71
			viewController = [[[AuthenticationViewController alloc] initWithNibName:@"Sample" bundle:nil] autorelease];
72
			break;
73
		case 3:
74
			viewController = [[[UploadViewController alloc] initWithNibName:@"Sample" bundle:nil] autorelease];
75
			break;
76
		case 4:
77
			viewController = [[[WebPageViewController alloc] initWithNibName:@"Sample" bundle:nil] autorelease];
78
			break;
79
	}	
80
	[splitViewController setViewControllers:[NSArray arrayWithObjects:[self navigationController],viewController,nil]];
81
	
82
	// Dismiss the popover if it's present.
83
    if ([self popoverController]) {
84
        [[self popoverController] dismissPopoverAnimated:YES];
85
    }
86
	
87
    // Configure the new view controller's popover button (after the view has been displayed and its toolbar/navigation bar has been created).
88
    if ([self rootPopoverButtonItem]) {
89
        [[[(id)viewController navigationBar] topItem] setLeftBarButtonItem:[self rootPopoverButtonItem] animated:NO];
90
    }
91
	
92
}
93

    
94
- (void)splitViewController:(UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController:(UIPopoverController*)pc
95
{
96
	[barButtonItem setTitle:@"More Examples"];
97
	[self setPopoverController:pc];
98
	[self setRootPopoverButtonItem:barButtonItem];
99
	SampleViewController *detailViewController = [[splitViewController viewControllers] objectAtIndex:1];
100
    [detailViewController showNavigationButton:barButtonItem];
101
}
102

    
103
- (void)splitViewController:(UISplitViewController*)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
104
{
105
    [self setPopoverController:nil];
106
	[self setRootPopoverButtonItem:nil];
107
	SampleViewController *detailViewController = [[splitViewController viewControllers] objectAtIndex:1];
108
    [detailViewController hideNavigationButton:barButtonItem];
109
}
110

    
111
- (void)splitViewController:(UISplitViewController *)svc popoverController: (UIPopoverController *)pc willPresentViewController: (UIViewController *)aViewController
112
{
113
    if (pc != nil) {
114
        [pc dismissPopoverAnimated:YES];
115
    }
116
}
117

    
118

    
119
@synthesize splitViewController;
120
@synthesize popoverController;
121
@synthesize rootPopoverButtonItem;
122
@end