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 |