project_files/HedgewarsMobile/Classes/DetailViewController.m
changeset 3697 d5b30d6373fc
parent 3662 a44406f4369b
child 3701 8c449776ebe6
equal deleted inserted replaced
3695:c11abf387a7d 3697:d5b30d6373fc
    28 
    28 
    29 -(void) viewDidLoad {
    29 -(void) viewDidLoad {
    30     self.title = NSLocalizedString(@"Settings",@"");
    30     self.title = NSLocalizedString(@"Settings",@"");
    31 
    31 
    32     // allocate controllers and store them into the array
    32     // allocate controllers and store them into the array
    33     NSArray *array= [[NSArray alloc] initWithObjects:NSLocalizedString(@"General",@""), 
    33     NSArray *array= [[NSArray alloc] initWithObjects:NSLocalizedString(@"General",@""),
    34                                                      NSLocalizedString(@"Teams",@""),
    34                                                      NSLocalizedString(@"Teams",@""),
    35                                                      NSLocalizedString(@"Weapons",@""),
    35                                                      NSLocalizedString(@"Weapons",@""),
    36                                                      NSLocalizedString(@"Schemes",@""),
    36                                                      NSLocalizedString(@"Schemes",@""),
    37                                                      nil];
    37                                                      nil];
    38     self.controllerNames = array;
    38     self.controllerNames = array;
    39     [array release];
    39     [array release];
    40     
    40 
    41     // on ipad make the general setting the first view, on iphone add the "Done" button on top left
    41     // on ipad make the general setting the first view, on iphone add the "Done" button on top left
    42     if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    42     if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    43         
    43 
    44         UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(112, 112, 480, 320)];
    44         UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(112, 112, 480, 320)];
    45         label.text = @"Press the buttons on the left";
    45         label.text = @"Press the buttons on the left";
    46         label.font = [UIFont systemFontOfSize:20];
    46         label.font = [UIFont systemFontOfSize:20];
    47         label.textAlignment = UITextAlignmentCenter;
    47         label.textAlignment = UITextAlignmentCenter;
    48         [self.view addSubview:label];
    48         [self.view addSubview:label];
    49         [label release];
    49         [label release];
    50         
    50 
    51         //[self.navigationController pushViewController:nextController animated:NO];
    51         //[self.navigationController pushViewController:nextController animated:NO];
    52     } else {
    52     } else {
    53         self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
    53         self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
    54                                                                                               target:self
    54                                                                                               target:self
    55                                                                                               action:@selector(dismissSplitView)];
    55                                                                                               action:@selector(dismissSplitView)];
    60 
    60 
    61 
    61 
    62 #pragma mark -
    62 #pragma mark -
    63 #pragma mark Table view data source
    63 #pragma mark Table view data source
    64 -(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
    64 -(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
    65     // don't display 
    65     // don't display
    66     if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
    66     if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
    67         return 0;
    67         return 0;
    68     else
    68     else
    69         return 1;
    69         return 1;
    70 }
    70 }
    73     return [controllerNames count];
    73     return [controllerNames count];
    74 }
    74 }
    75 
    75 
    76 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    76 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    77     static NSString *CellIdentifier = @"Cell";
    77     static NSString *CellIdentifier = @"Cell";
    78     
    78 
    79     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    79     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    80     if (cell == nil) {
    80     if (cell == nil) {
    81         cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault 
    81         cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
    82                                        reuseIdentifier:CellIdentifier] autorelease];
    82                                        reuseIdentifier:CellIdentifier] autorelease];
    83     }
    83     }
    84     
    84 
    85     NSInteger row = [indexPath row];
    85     NSInteger row = [indexPath row];
    86     
    86 
    87     cell.textLabel.text = [controllerNames objectAtIndex:row];
    87     cell.textLabel.text = [controllerNames objectAtIndex:row];
    88     cell.imageView.image = [UIImage imageNamed:@"Icon.png"];
    88     cell.imageView.image = [UIImage imageNamed:@"Icon.png"];
    89     cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    89     cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    90     
    90 
    91     return cell;
    91     return cell;
    92 }
    92 }
    93 
    93 
    94 #pragma mark -
    94 #pragma mark -
    95 #pragma mark Table view delegate
    95 #pragma mark Table view delegate
    96 -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    96 -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    97     NSInteger row = [indexPath row];
    97     NSInteger row = [indexPath row];
    98     UIViewController *nextController = nil;
    98     UIViewController *nextController = nil;
    99     
    99 
   100     switch (row) {
   100     switch (row) {
   101         case 0:
   101         case 0:
   102             if (nil == generalSettingsViewController)
   102             if (nil == generalSettingsViewController)
   103                 generalSettingsViewController = [[GeneralSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
   103                 generalSettingsViewController = [[GeneralSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
   104             nextController = generalSettingsViewController;
   104             nextController = generalSettingsViewController;
   117             if (nil == schemeSettingsViewController)
   117             if (nil == schemeSettingsViewController)
   118                 schemeSettingsViewController = [[SchemeSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
   118                 schemeSettingsViewController = [[SchemeSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
   119             nextController = schemeSettingsViewController;
   119             nextController = schemeSettingsViewController;
   120             break;
   120             break;
   121     }
   121     }
   122     
   122 
   123     nextController.title = [controllerNames objectAtIndex:row];
   123     nextController.title = [controllerNames objectAtIndex:row];
   124     [self.navigationController pushViewController:nextController animated:YES];
   124     [self.navigationController pushViewController:nextController animated:YES];
   125 }
   125 }
   126 
   126 
   127 -(IBAction) dismissSplitView {
   127 -(IBAction) dismissSplitView {
   135         [popoverController dismissPopoverAnimated:YES];
   135         [popoverController dismissPopoverAnimated:YES];
   136     }
   136     }
   137 }
   137 }
   138 
   138 
   139 // Called when the master view controller is about to be hidden
   139 // Called when the master view controller is about to be hidden
   140 -(void) splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController 
   140 -(void) splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController
   141             withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc {
   141             withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc {
   142 
   142 
   143   /*  barButtonItem.title = @"Master View";
   143   /*  barButtonItem.title = @"Master View";
   144     UIToolbar *toolbar = self.parentViewController.navigationController.toolbar;
   144     UIToolbar *toolbar = self.parentViewController.navigationController.toolbar;
   145     NSMutableArray *items = [[toolbar items] mutableCopy];
   145     NSMutableArray *items = [[toolbar items] mutableCopy];
   152     barButtonItem.title = aViewController.title;
   152     barButtonItem.title = aViewController.title;
   153     self.navigationItem.rightBarButtonItem = barButtonItem;
   153     self.navigationItem.rightBarButtonItem = barButtonItem;
   154 }
   154 }
   155 
   155 
   156 // Called when the master view controller is about to appear
   156 // Called when the master view controller is about to appear
   157 -(void) splitViewController: (UISplitViewController*)svc  willShowViewController:(UIViewController *)aViewController 
   157 -(void) splitViewController: (UISplitViewController*)svc  willShowViewController:(UIViewController *)aViewController
   158             invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem {
   158             invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem {
   159     /*UIToolbar *toolbar = self.parentViewController.navigationController.toolbar;
   159     /*UIToolbar *toolbar = self.parentViewController.navigationController.toolbar;
   160 
   160 
   161     NSMutableArray *items = [[toolbar items] mutableCopy];
   161     NSMutableArray *items = [[toolbar items] mutableCopy];
   162     [items removeObjectAtIndex:0];
   162     [items removeObjectAtIndex:0];