6 // Copyright 2010 __MyCompanyName__. All rights reserved. |
6 // Copyright 2010 __MyCompanyName__. All rights reserved. |
7 // |
7 // |
8 |
8 |
9 #import "DetailViewController.h" |
9 #import "DetailViewController.h" |
10 #import "SDL_uikitappdelegate.h" |
10 #import "SDL_uikitappdelegate.h" |
|
11 #import "GeneralSettingsViewController.h" |
11 #import "TeamSettingsViewController.h" |
12 #import "TeamSettingsViewController.h" |
12 #import "GeneralSettingsViewController.h" |
13 #import "WeaponSettingsViewController.h" |
|
14 #import "SchemeSettingsViewController.h" |
13 #import "CommodityFunctions.h" |
15 #import "CommodityFunctions.h" |
14 |
16 |
15 @implementation DetailViewController |
17 @implementation DetailViewController |
16 @synthesize popoverController, controllers; |
18 @synthesize popoverController, controllerNames; |
17 |
19 |
18 |
20 |
19 -(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation { |
21 -(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation { |
20 return rotationManager(interfaceOrientation); |
22 return rotationManager(interfaceOrientation); |
21 } |
23 } |
22 |
24 |
23 - (void)viewDidLoad { |
25 - (void)viewDidLoad { |
24 self.title = NSLocalizedString(@"Settings",@""); |
26 self.title = NSLocalizedString(@"Settings",@""); |
25 |
27 |
26 // allocate controllers and store them into the array |
28 // allocate controllers and store them into the array |
27 NSMutableArray *array= [[NSMutableArray alloc] init]; |
29 NSArray *array= [[NSArray alloc] initWithObjects:NSLocalizedString(@"General",@""), |
28 |
30 NSLocalizedString(@"Teams",@""), |
29 GeneralSettingsViewController *generalSettingsViewController = [[GeneralSettingsViewController alloc] |
31 NSLocalizedString(@"Weapons",@""), |
30 initWithStyle:UITableViewStyleGrouped]; |
32 NSLocalizedString(@"Schemes",@""), |
31 generalSettingsViewController.title = NSLocalizedString(@"General",@""); |
33 nil]; |
32 [array addObject:generalSettingsViewController]; |
34 self.controllerNames = array; |
33 [generalSettingsViewController release]; |
|
34 |
|
35 TeamSettingsViewController *teamSettingsViewController = [[TeamSettingsViewController alloc] |
|
36 initWithStyle:UITableViewStyleGrouped]; |
|
37 teamSettingsViewController.title = NSLocalizedString(@"Teams",@""); |
|
38 [array addObject:teamSettingsViewController]; |
|
39 [teamSettingsViewController release]; |
|
40 |
|
41 self.controllers = array; |
|
42 [array release]; |
35 [array release]; |
43 |
36 |
44 // on ipad make the general setting the first view, on iphone add the "Done" button on top left |
37 // on ipad make the general setting the first view, on iphone add the "Done" button on top left |
45 if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { |
38 if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { |
46 UITableViewController *nextController = [self.controllers objectAtIndex:0]; |
39 |
47 nextController.navigationItem.hidesBackButton = YES; |
40 // show some stuff |
48 [self.navigationController pushViewController:nextController animated:NO]; |
41 |
|
42 //[self.navigationController pushViewController:nextController animated:NO]; |
49 } else { |
43 } else { |
50 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:0 target:self action:@selector(dismissSplitView)]; |
44 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone |
|
45 target:self |
|
46 action:@selector(dismissSplitView)]; |
51 } |
47 } |
52 |
48 |
53 [super viewDidLoad]; |
49 [super viewDidLoad]; |
54 } |
50 } |
55 |
51 |
56 - (void)didReceiveMemoryWarning { |
|
57 // Releases the view if it doesn't have a superview. |
|
58 [super didReceiveMemoryWarning]; |
|
59 // Release any cached data, images, etc that aren't in use. |
|
60 } |
|
61 |
|
62 - (void)viewDidUnload { |
|
63 self.controllers = nil; |
|
64 self.popoverController = nil; |
|
65 [super viewDidUnload]; |
|
66 } |
|
67 |
|
68 - (void)dealloc { |
|
69 [controllers release]; |
|
70 [popoverController release]; |
|
71 [super dealloc]; |
|
72 } |
|
73 |
52 |
74 #pragma mark - |
53 #pragma mark - |
75 #pragma mark Table view data source |
54 #pragma mark Table view data source |
76 -(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView { |
55 -(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView { |
77 return 1; |
56 return 1; |
78 } |
57 } |
79 |
58 |
80 -(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { |
59 -(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { |
81 return [controllers count]; |
60 return [controllerNames count]; |
82 } |
61 } |
83 |
62 |
84 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { |
63 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { |
85 static NSString *CellIdentifier = @"Cell"; |
64 static NSString *CellIdentifier = @"Cell"; |
86 |
65 |
89 cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault |
68 cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault |
90 reuseIdentifier:CellIdentifier] autorelease]; |
69 reuseIdentifier:CellIdentifier] autorelease]; |
91 } |
70 } |
92 |
71 |
93 NSInteger row = [indexPath row]; |
72 NSInteger row = [indexPath row]; |
94 UITableViewController *controller = [controllers objectAtIndex:row]; |
|
95 |
73 |
96 cell.textLabel.text = controller.title; |
74 cell.textLabel.text = [controllerNames objectAtIndex:row]; |
97 cell.imageView.image = [UIImage imageNamed:@"Icon.png"]; |
75 cell.imageView.image = [UIImage imageNamed:@"Icon.png"]; |
98 cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; |
76 cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; |
99 |
77 |
100 return cell; |
78 return cell; |
101 } |
79 } |
102 |
80 |
103 -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { |
81 -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { |
104 NSInteger row = [indexPath row]; |
82 NSInteger row = [indexPath row]; |
105 UITableViewController *nextController = [self.controllers objectAtIndex:row]; |
83 UIViewController *nextController; |
|
84 |
|
85 switch (row) { |
|
86 case 0: |
|
87 if (nil == generalSettingsViewController) |
|
88 generalSettingsViewController = [[GeneralSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
|
89 nextController = generalSettingsViewController; |
|
90 break; |
|
91 case 1: |
|
92 if (nil == teamSettingsViewController) |
|
93 teamSettingsViewController = [[TeamSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
|
94 nextController = teamSettingsViewController; |
|
95 break; |
|
96 case 2: |
|
97 if (nil == weaponSettingsViewController) |
|
98 weaponSettingsViewController = [[WeaponSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
|
99 nextController = weaponSettingsViewController; |
|
100 break; |
|
101 case 3: |
|
102 if (nil == schemeSettingsViewController) |
|
103 schemeSettingsViewController = [[SchemeSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
|
104 nextController = schemeSettingsViewController; |
|
105 break; |
|
106 } |
|
107 |
|
108 nextController.title = [controllerNames objectAtIndex:row]; |
106 [self.navigationController pushViewController:nextController animated:YES]; |
109 [self.navigationController pushViewController:nextController animated:YES]; |
107 } |
110 } |
108 |
111 |
109 /* |
112 /* |
110 #pragma mark - |
113 #pragma mark - |
145 |
148 |
146 -(IBAction) dismissSplitView { |
149 -(IBAction) dismissSplitView { |
147 [[NSNotificationCenter defaultCenter] postNotificationName:@"dismissModalView" object:nil]; |
150 [[NSNotificationCenter defaultCenter] postNotificationName:@"dismissModalView" object:nil]; |
148 } |
151 } |
149 |
152 |
|
153 |
|
154 -(void) didReceiveMemoryWarning { |
|
155 // Releases the view if it doesn't have a superview. |
|
156 [super didReceiveMemoryWarning]; |
|
157 // Release any cached data, images, etc that aren't in use. |
|
158 } |
|
159 |
|
160 -(void) viewDidUnload { |
|
161 self.controllerNames = nil; |
|
162 self.popoverController = nil; |
|
163 generalSettingsViewController = nil; |
|
164 teamSettingsViewController = nil; |
|
165 weaponSettingsViewController = nil; |
|
166 schemeSettingsViewController = nil; |
|
167 [super viewDidUnload]; |
|
168 } |
|
169 |
|
170 -(void) dealloc { |
|
171 [controllerNames release]; |
|
172 [popoverController release]; |
|
173 [generalSettingsViewController release]; |
|
174 [teamSettingsViewController release]; |
|
175 [weaponSettingsViewController release]; |
|
176 [schemeSettingsViewController release]; |
|
177 [super dealloc]; |
|
178 } |
150 @end |
179 @end |