project_files/HedgewarsMobile/Classes/SplitViewRootController.m
changeset 4356 d1d26f8963a3
parent 3996 eb549fd864a5
child 4976 088d40d8aba2
equal deleted inserted replaced
4354:c4e1820fa792 4356:d1d26f8963a3
    22 #import "SplitViewRootController.h"
    22 #import "SplitViewRootController.h"
    23 #import "MasterViewController.h"
    23 #import "MasterViewController.h"
    24 #import "CommodityFunctions.h"
    24 #import "CommodityFunctions.h"
    25 
    25 
    26 @implementation SplitViewRootController
    26 @implementation SplitViewRootController
    27 @synthesize activeController;
    27 @synthesize activeController, rightNavController, splitViewRootController;
    28 
    28 
    29 -(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    29 -(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    30     return rotationManager(interfaceOrientation);
    30     return rotationManager(interfaceOrientation);
    31 }
    31 }
    32 
    32 
    47         MasterViewController *rightController = [[MasterViewController alloc] initWithStyle:UITableViewStyleGrouped];
    47         MasterViewController *rightController = [[MasterViewController alloc] initWithStyle:UITableViewStyleGrouped];
    48         rightController.targetController = nil;
    48         rightController.targetController = nil;
    49         self.activeController = rightController;
    49         self.activeController = rightController;
    50         [rightController release];
    50         [rightController release];
    51     }
    51     }
    52     UINavigationController *rightNavController = [[UINavigationController alloc] initWithRootViewController:self.activeController];
    52     self.rightNavController = [[UINavigationController alloc] initWithRootViewController:self.activeController];
    53 
    53 
    54     if (IS_IPAD()) {
    54     if (IS_IPAD()) {
    55         MasterViewController *leftController = [[MasterViewController alloc] initWithStyle:UITableViewStylePlain];
    55         MasterViewController *leftController = [[MasterViewController alloc] initWithStyle:UITableViewStylePlain];
    56         leftController.targetController = self.activeController;
    56         leftController.targetController = self.activeController;
    57         UINavigationController *leftNavController = [[UINavigationController alloc] initWithRootViewController:leftController];
    57         UINavigationController *leftNavController = [[UINavigationController alloc] initWithRootViewController:leftController];
    58         [leftController release];
    58         [leftController release];
    59 
    59 
    60         UISplitViewController *splitViewRootController = [[UISplitViewController alloc] init];
    60         self.splitViewRootController = [[UISplitViewController alloc] init];
    61         splitViewRootController.delegate = nil;
    61         self.splitViewRootController.delegate = nil;
    62         splitViewRootController.view.frame = CGRectMake(0, 0, rect.size.height, rect.size.width);
    62         self.splitViewRootController.view.frame = CGRectMake(0, 0, rect.size.height, rect.size.width);
    63         splitViewRootController.viewControllers = [NSArray arrayWithObjects: leftNavController, rightNavController, nil];
    63         self.splitViewRootController.viewControllers = [NSArray arrayWithObjects: leftNavController, self.rightNavController, nil];
    64         [leftNavController release];
    64         [leftNavController release];
    65         [rightNavController release];
    65         [self.rightNavController release];
    66 
    66 
    67         // add view to main controller
    67         // add view to main controller
    68         [self.view addSubview:splitViewRootController.view];
    68         [self.view addSubview:self.splitViewRootController.view];
    69     } else {
    69     } else {
    70         rightNavController.view.frame = CGRectMake(0, 0, rect.size.height, rect.size.width);
    70         self.rightNavController.view.frame = CGRectMake(0, 0, rect.size.height, rect.size.width);
    71         [self.view addSubview:rightNavController.view];
    71         [self.view addSubview:self.rightNavController.view];
    72     }
    72     }
    73 
    73 
    74     [super viewDidLoad];
    74     [super viewDidLoad];
    75 }
    75 }
    76 
    76 
    77 -(void) viewDidUnload {
    77 -(void) viewDidUnload {
    78     self.activeController = nil;
    78     self.activeController = nil;
       
    79     self.rightNavController = nil;
       
    80     self.splitViewRootController = nil;
    79     MSG_DIDUNLOAD();
    81     MSG_DIDUNLOAD();
    80     [super viewDidUnload];
    82     [super viewDidUnload];
    81 }
    83 }
    82 
    84 
    83 -(void) dealloc {
    85 -(void) dealloc {
    84     [self.activeController release];
    86     [activeController release];
       
    87     [rightNavController release];
       
    88     [splitViewRootController release];
    85     [super dealloc];
    89     [super dealloc];
    86 }
    90 }
    87 
    91 
    88 #pragma mark -
    92 #pragma mark -
    89 #pragma mark additional methods as we're using a UINavigationController programmatically
    93 #pragma mark additional methods as we're using a UINavigationController programmatically