Skip to content
Snippets Groups Projects
Commit 48820241 authored by cramakri's avatar cramakri
Browse files

Switched the detail view to go throught the model as well

SVN: 27170
parent 6ff5cf03
No related branches found
No related tags found
No related merge requests found
...@@ -23,10 +23,10 @@ ...@@ -23,10 +23,10 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
@class CISDOBIpadEntity; @class CISDOBIpadEntity, CISDOBOpenBisModel;
@interface CISDOBDetailViewController : UIViewController <UISplitViewControllerDelegate> @interface CISDOBDetailViewController : UIViewController <UISplitViewControllerDelegate>
@property (strong, nonatomic) CISDOBIpadEntity *detailItem; @property (strong, nonatomic) CISDOBOpenBisModel *openBisModel;
@property (weak, nonatomic) IBOutlet UITableView *propertiesTableView; @property (weak, nonatomic) IBOutlet UITableView *propertiesTableView;
@property (weak, nonatomic) IBOutlet UILabel *summaryHeaderLabel; @property (weak, nonatomic) IBOutlet UILabel *summaryHeaderLabel;
...@@ -34,4 +34,7 @@ ...@@ -34,4 +34,7 @@
@property (weak, nonatomic) IBOutlet UILabel *identifierLabel; @property (weak, nonatomic) IBOutlet UILabel *identifierLabel;
@property (weak, nonatomic) IBOutlet UIImageView *imageView; @property (weak, nonatomic) IBOutlet UIImageView *imageView;
// Actions
- (void)selectionDidChange;
@end @end
...@@ -23,9 +23,12 @@ ...@@ -23,9 +23,12 @@
#import "CISDOBDetailViewController.h" #import "CISDOBDetailViewController.h"
#import "CISDOBIpadEntity.h" #import "CISDOBIpadEntity.h"
#import "CISDOBOpenBisModel.h"
@interface CISDOBDetailViewController () @interface CISDOBDetailViewController ()
@property (strong, nonatomic) UIPopoverController *masterPopoverController; @property (strong, nonatomic) UIPopoverController *masterPopoverController;
@property (readonly) CISDOBIpadEntity *detailItem;
- (void)configureView; - (void)configureView;
- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath; - (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath;
@end @end
...@@ -34,28 +37,26 @@ ...@@ -34,28 +37,26 @@
#pragma mark - Managing the detail item #pragma mark - Managing the detail item
- (void)setDetailItem:(id)newDetailItem - (void)selectionDidChange
{ {
if (_detailItem != newDetailItem) { // Update the view.
_detailItem = newDetailItem; [self configureView];
// Update the view.
[self configureView];
}
if (self.masterPopoverController != nil) { if (self.masterPopoverController != nil) {
[self.masterPopoverController dismissPopoverAnimated:YES]; [self.masterPopoverController dismissPopoverAnimated:YES];
} }
} }
- (CISDOBIpadEntity *)detailItem { return [self.openBisModel selectedObject]; }
- (void)configureView - (void)configureView
{ {
// Update the user interface for the detail item. // Update the user interface for the detail item.
if (!self.detailItem) return; if (!self.detailItem) return;
self.summaryHeaderLabel.text = [[self.detailItem valueForKey:@"summaryHeader"] description]; self.summaryHeaderLabel.text = [self.detailItem.summaryHeader description];
self.summaryLabel.text = [[self.detailItem valueForKey:@"summary"] description]; self.summaryLabel.text = [self.detailItem.summary description];
self.identifierLabel.text = [[self.detailItem valueForKey:@"identifier"] description]; self.identifierLabel.text = [self.detailItem.identifier description];
if (self.detailItem.imageUrl) { if (self.detailItem.imageUrl) {
NSURL *imageUrl = [NSURL URLWithString: self.detailItem.imageUrl]; NSURL *imageUrl = [NSURL URLWithString: self.detailItem.imageUrl];
...@@ -106,7 +107,7 @@ ...@@ -106,7 +107,7 @@
{ {
if (!self.detailItem) return 0; if (!self.detailItem) return 0;
return [_detailItem.properties count]; return [self.detailItem.properties count];
} }
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
......
...@@ -54,6 +54,7 @@ ...@@ -54,6 +54,7 @@
// UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertNewObject:)]; // UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertNewObject:)];
// self.navigationItem.rightBarButtonItem = addButton; // self.navigationItem.rightBarButtonItem = addButton;
self.detailViewController = (CISDOBDetailViewController *)[[self.splitViewController.viewControllers lastObject] topViewController]; self.detailViewController = (CISDOBDetailViewController *)[[self.splitViewController.viewControllers lastObject] topViewController];
self.detailViewController.openBisModel = self.openBisModel;
} }
- (void)didReceiveMemoryWarning - (void)didReceiveMemoryWarning
...@@ -127,7 +128,7 @@ ...@@ -127,7 +128,7 @@
// Segue to the detail view unless we are on the ipad // Segue to the detail view unless we are on the ipad
if ([[UIDevice currentDevice] userInterfaceIdiom] != UIUserInterfaceIdiomPad) return; if ([[UIDevice currentDevice] userInterfaceIdiom] != UIUserInterfaceIdiomPad) return;
CISDOBIpadEntity *object = [self.openBisModel selectObjectAtIndexPath: indexPath]; [self.openBisModel selectObjectAtIndexPath: indexPath];
if ([self.openBisModel isSelectionGroup]) { if ([self.openBisModel isSelectionGroup]) {
UIStoryboard *storyboard = self.storyboard; UIStoryboard *storyboard = self.storyboard;
CISDOBMasterViewController *child = [storyboard instantiateViewControllerWithIdentifier: @"Master"]; CISDOBMasterViewController *child = [storyboard instantiateViewControllerWithIdentifier: @"Master"];
...@@ -135,7 +136,7 @@ ...@@ -135,7 +136,7 @@
[self.navigationController pushViewController: child animated: YES]; [self.navigationController pushViewController: child animated: YES];
} else { } else {
self.detailViewController.detailItem = object; [self.detailViewController selectionDidChange];
} }
} }
...@@ -143,17 +144,15 @@ ...@@ -143,17 +144,15 @@
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{ {
if ([[segue identifier] isEqualToString:@"showDetail"]) { if ([[segue identifier] isEqualToString:@"showDetail"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; [[segue destinationViewController] setOpenBisModel: self.openBisModel];
CISDOBIpadEntity *object = [self.openBisModel objectAtIndexPath: indexPath];
[[segue destinationViewController] setDetailItem:object];
} }
} }
- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath - (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath
{ {
CISDOBIpadEntity *object = [self.openBisModel objectAtIndexPath: indexPath]; CISDOBIpadEntity *object = [self.openBisModel objectAtIndexPath: indexPath];
cell.textLabel.text = [object valueForKey:@"summaryHeader"]; cell.textLabel.text = object.summaryHeader;
cell.detailTextLabel.text = [object valueForKey:@"summary"]; cell.detailTextLabel.text = object.summary;
if ([object.childrenPermIds count] > 0) { if ([object.childrenPermIds count] > 0) {
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
} else { } else {
......
...@@ -188,7 +188,7 @@ ...@@ -188,7 +188,7 @@
<outlet property="delegate" destination="19" id="21"/> <outlet property="delegate" destination="19" id="21"/>
</connections> </connections>
</tableView> </tableView>
<navigationItem key="navigationItem" title="Entity" id="40"/> <navigationItem key="navigationItem" title="Categories" id="40"/>
</tableViewController> </tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="23" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="23" sceneMemberID="firstResponder"/>
</objects> </objects>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment