project_files/HedgewarsMobile/Classes/SettingsBaseViewController.m
branchios-revival
changeset 11216 76fd61a88c1e
parent 11214 d8135421833c
child 11217 e68b3e392091
equal deleted inserted replaced
11215:51cc7ec00c2d 11216:76fd61a88c1e
    43                                                       NSLocalizedString(@"Support",@""),
    43                                                       NSLocalizedString(@"Support",@""),
    44                                                       nil];
    44                                                       nil];
    45     self.controllerNames = array;
    45     self.controllerNames = array;
    46     [array release];
    46     [array release];
    47 
    47 
    48     UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
       
    49                                                                                 target:self
       
    50                                                                                 action:@selector(dismissSplitView)];
       
    51     if (IS_IPAD()) {
    48     if (IS_IPAD()) {
    52         // this class gets loaded twice, we tell the difference by looking at targetController
    49         // this class gets loaded twice, we tell the difference by looking at targetController
    53         if (self.targetController != nil) {
    50         if (self.targetController != nil) {
    54             UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain];
    51             UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain];
    55             tableView.delegate = self;
    52             tableView.delegate = self;
    56             tableView.dataSource = self;
    53             tableView.dataSource = self;
    57             [tableView reloadData];
    54             [tableView reloadData];
    58             [self.view addSubview:tableView];
    55             [self.view addSubview:tableView];
    59             [self tableView:tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
    56             [self tableView:tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
    60             [tableView release];
    57             [tableView release];
    61             self.navigationItem.leftBarButtonItem = doneButton;
    58             self.navigationItem.leftBarButtonItem = [self doneButton];
    62         }
    59         }
    63     } else {
    60     } else {
    64         // this class just loads all controllers and set up tabbar and navigation controllers
    61         // this class just loads all controllers and set up tabbar and navigation controllers
    65         NSMutableArray *tabBarNavigationControllers = [[NSMutableArray alloc] initWithCapacity:5];
    62         NSMutableArray *tabBarNavigationControllers = [[NSMutableArray alloc] initWithCapacity:5];
    66         UINavigationController *navController = nil;
    63         UINavigationController *navController = nil;
    67 
    64 
    68         if (nil == generalSettingsViewController) {
    65         if (nil == generalSettingsViewController) {
    69             generalSettingsViewController = [[GeneralSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
    66             generalSettingsViewController = [[GeneralSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
    70             generalSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:0] imageName:@"flower" selectedImageName:@"flower_filled"];
    67             generalSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:0] imageName:@"flower" selectedImageName:@"flower_filled"];
    71             navController = [[UINavigationController alloc] initWithRootViewController:generalSettingsViewController];
    68             navController = [[UINavigationController alloc] initWithRootViewController:generalSettingsViewController];
    72             generalSettingsViewController.navigationItem.backBarButtonItem = doneButton;
    69             UIBarButtonItem *generalSettingsDoneButton = [self doneButton];
    73             generalSettingsViewController.navigationItem.leftBarButtonItem = doneButton;
    70             generalSettingsViewController.navigationItem.backBarButtonItem = generalSettingsDoneButton;
       
    71             generalSettingsViewController.navigationItem.leftBarButtonItem = generalSettingsDoneButton;
    74             [generalSettingsViewController release];
    72             [generalSettingsViewController release];
    75             [tabBarNavigationControllers addObject:navController];
    73             [tabBarNavigationControllers addObject:navController];
    76             releaseAndNil(navController);
    74             releaseAndNil(navController);
    77         }
    75         }
    78         if (nil == teamSettingsViewController) {
    76         if (nil == teamSettingsViewController) {
    79             teamSettingsViewController = [[TeamSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
    77             teamSettingsViewController = [[TeamSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
    80             teamSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:1] imageName:@"teams" selectedImageName:@"teams_filled"];
    78             teamSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:1] imageName:@"teams" selectedImageName:@"teams_filled"];
    81             navController = [[UINavigationController alloc] initWithRootViewController:teamSettingsViewController];
    79             navController = [[UINavigationController alloc] initWithRootViewController:teamSettingsViewController];
    82             teamSettingsViewController.navigationItem.backBarButtonItem = doneButton;
    80             UIBarButtonItem *teamSettingsDoneButton = [self doneButton];
    83             teamSettingsViewController.navigationItem.leftBarButtonItem = doneButton;
    81             teamSettingsViewController.navigationItem.backBarButtonItem = teamSettingsDoneButton;
       
    82             teamSettingsViewController.navigationItem.leftBarButtonItem = teamSettingsDoneButton;
    84             [tabBarNavigationControllers addObject:navController];
    83             [tabBarNavigationControllers addObject:navController];
    85             releaseAndNil(navController);
    84             releaseAndNil(navController);
    86         }
    85         }
    87         if (nil == weaponSettingsViewController) {
    86         if (nil == weaponSettingsViewController) {
    88             weaponSettingsViewController = [[WeaponSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
    87             weaponSettingsViewController = [[WeaponSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
    89             weaponSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:2] imageName:@"bullet" selectedImageName:@"bullet_filled"];
    88             weaponSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:2] imageName:@"bullet" selectedImageName:@"bullet_filled"];
    90             navController = [[UINavigationController alloc] initWithRootViewController:weaponSettingsViewController];
    89             navController = [[UINavigationController alloc] initWithRootViewController:weaponSettingsViewController];
    91             weaponSettingsViewController.navigationItem.backBarButtonItem = doneButton;
    90             UIBarButtonItem *weaponSettingsDoneButton = [self doneButton];
    92             weaponSettingsViewController.navigationItem.leftBarButtonItem = doneButton;
    91             weaponSettingsViewController.navigationItem.backBarButtonItem = weaponSettingsDoneButton;
       
    92             weaponSettingsViewController.navigationItem.leftBarButtonItem = weaponSettingsDoneButton;
    93             [tabBarNavigationControllers addObject:navController];
    93             [tabBarNavigationControllers addObject:navController];
    94             releaseAndNil(navController);
    94             releaseAndNil(navController);
    95         }
    95         }
    96         if (nil == schemeSettingsViewController) {
    96         if (nil == schemeSettingsViewController) {
    97             schemeSettingsViewController = [[SchemeSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
    97             schemeSettingsViewController = [[SchemeSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
    98             schemeSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:3] imageName:@"target" selectedImageName:@"target_filled"];
    98             schemeSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:3] imageName:@"target" selectedImageName:@"target_filled"];
    99             navController = [[UINavigationController alloc] initWithRootViewController:schemeSettingsViewController];
    99             navController = [[UINavigationController alloc] initWithRootViewController:schemeSettingsViewController];
   100             schemeSettingsViewController.navigationItem.backBarButtonItem = doneButton;
   100             UIBarButtonItem *schemeSettingsDoneButton = [self doneButton];
   101             schemeSettingsViewController.navigationItem.leftBarButtonItem = doneButton;
   101             schemeSettingsViewController.navigationItem.backBarButtonItem = schemeSettingsDoneButton;
       
   102             schemeSettingsViewController.navigationItem.leftBarButtonItem = schemeSettingsDoneButton;
   102             [tabBarNavigationControllers addObject:navController];
   103             [tabBarNavigationControllers addObject:navController];
   103             releaseAndNil(navController);
   104             releaseAndNil(navController);
   104         }
   105         }
   105         if (nil == supportViewController) {
   106         if (nil == supportViewController) {
   106             supportViewController = [[SupportViewController alloc] initWithStyle:UITableViewStyleGrouped];
   107             supportViewController = [[SupportViewController alloc] initWithStyle:UITableViewStyleGrouped];
   107             supportViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:4] imageName:@"heart" selectedImageName:@"heart_filled"];
   108             supportViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:4] imageName:@"heart" selectedImageName:@"heart_filled"];
   108             navController = [[UINavigationController alloc] initWithRootViewController:supportViewController];
   109             navController = [[UINavigationController alloc] initWithRootViewController:supportViewController];
   109             supportViewController.navigationItem.backBarButtonItem = doneButton;
   110             UIBarButtonItem *supportViewDoneButton = [self doneButton];
   110             supportViewController.navigationItem.leftBarButtonItem = doneButton;
   111             supportViewController.navigationItem.backBarButtonItem = supportViewDoneButton;
       
   112             supportViewController.navigationItem.leftBarButtonItem = supportViewDoneButton;
   111             [tabBarNavigationControllers addObject:navController];
   113             [tabBarNavigationControllers addObject:navController];
   112             releaseAndNil(navController);
   114             releaseAndNil(navController);
   113         }
   115         }
   114 
   116 
   115         self.tabController = [[UITabBarController alloc] init];
   117         self.tabController = [[UITabBarController alloc] init];
   116         self.tabController.viewControllers = tabBarNavigationControllers;
   118         self.tabController.viewControllers = tabBarNavigationControllers;
   117         self.tabController.delegate = self;
   119         self.tabController.delegate = self;
   118 
   120 
   119         [self.view addSubview:self.tabController.view];
   121         [self.view addSubview:self.tabController.view];
   120     }
   122     }
   121     [doneButton release];
   123 
   122     [super viewDidLoad];
   124     [super viewDidLoad];
       
   125 }
       
   126 
       
   127 - (UIBarButtonItem *)doneButton
       
   128 {
       
   129     return [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
       
   130                                                          target:self
       
   131                                                          action:@selector(dismissSplitView)] autorelease];
   123 }
   132 }
   124 
   133 
   125 - (UITabBarItem *)tabBarItemWithTitle: (NSString *)title
   134 - (UITabBarItem *)tabBarItemWithTitle: (NSString *)title
   126                             imageName: (NSString *)imageName
   135                             imageName: (NSString *)imageName
   127                     selectedImageName: (NSString *)selectedImageName
   136                     selectedImageName: (NSString *)selectedImageName