diff --git a/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate b/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate index d9779a6be3453568674ce6fce9b79d69e5464c1e..343bdfe2144a42664af0c494361bfa9c15991743 100644 Binary files a/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate and b/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/openbis-ipad/openBIS/openBIS/CISDOBDetailViewController.h b/openbis-ipad/openBIS/openBIS/CISDOBDetailViewController.h index 15078789ffb22076544b028516065a79a87e8ef4..bcad911ec1cfc6a66d2b251b1364ed11b4103c5d 100644 --- a/openbis-ipad/openBIS/openBIS/CISDOBDetailViewController.h +++ b/openbis-ipad/openBIS/openBIS/CISDOBDetailViewController.h @@ -35,6 +35,7 @@ @property (weak, nonatomic) IBOutlet UIImageView *imageView; // Actions -- (void)selectionDidChange; +- (void)selectionDidChange; //!< Signals that the user has made a final selction +- (void)selectionIsChanging; //!< Signals that the user has changed the seleciton, but has not yet decided @end diff --git a/openbis-ipad/openBIS/openBIS/CISDOBDetailViewController.m b/openbis-ipad/openBIS/openBIS/CISDOBDetailViewController.m index 1a001e8665ad8d3d7695559c8c821a2773f980e6..14ddfb39820bc2eefda7e6b5f33282d0a3ab7857 100644 --- a/openbis-ipad/openBIS/openBIS/CISDOBDetailViewController.m +++ b/openbis-ipad/openBIS/openBIS/CISDOBDetailViewController.m @@ -56,6 +56,13 @@ } } +- (void)selectionIsChanging +{ + // Update the view, but do not dissmiss the popover + [self configureViewProvisionally]; + [self requestServerSync]; +} + - (CISDOBIpadEntity *)detailItem { return [self.openBisModel selectedObject]; } - (void)configureViewProvisionally diff --git a/openbis-ipad/openBIS/openBIS/CISDOBMasterViewController.m b/openbis-ipad/openBIS/openBIS/CISDOBMasterViewController.m index 9cb05c326da9586974f128f8a233723a7b42c676..4f137838ea003a5b8b597f94107f43b4fb040147 100644 --- a/openbis-ipad/openBIS/openBIS/CISDOBMasterViewController.m +++ b/openbis-ipad/openBIS/openBIS/CISDOBMasterViewController.m @@ -54,7 +54,6 @@ // UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertNewObject:)]; // self.navigationItem.rightBarButtonItem = addButton; self.detailViewController = (CISDOBDetailViewController *)[[self.splitViewController.viewControllers lastObject] topViewController]; - self.detailViewController.openBisModel = self.openBisModel; } - (void)didReceiveMemoryWarning @@ -128,17 +127,19 @@ // Segue to the detail view unless we are on the ipad if ([[UIDevice currentDevice] userInterfaceIdiom] != UIUserInterfaceIdiomPad) return; + // Drill into the hierarchy [self.openBisModel selectObjectAtIndexPath: indexPath]; if ([self.openBisModel isSelectionGroup]) { UIStoryboard *storyboard = self.storyboard; CISDOBMasterViewController *child = [storyboard instantiateViewControllerWithIdentifier: @"Master"]; [child initializeDrillDownFrom: self]; - [self.navigationController pushViewController: child animated: YES]; + [self.detailViewController selectionIsChanging]; } else { + // Show the current selection + self.detailViewController.openBisModel = self.openBisModel; [self.detailViewController selectionDidChange]; } - } - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender diff --git a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h index e193bc9e9cdfaf51efee30dc5eb233491c047ad0..61f4919277006330fba1742339221a2e3cf7f4f3 100644 --- a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h +++ b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h @@ -39,7 +39,7 @@ @property (weak, nonatomic) CISDOBOpenBisModel *parentModel; // Initialize -- (id)initWithParentModel:(CISDOBOpenBisModel *)parentModel; +- (id)initWithParentModel:(CISDOBOpenBisModel *)parentModel; //!< The designated initializer // Model - (NSInteger)numberOfSections; //!< Get the number of categories for the current selection diff --git a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m index ddfbed48a3c0235f6b938647830b7f641f1f7b56..f6d4162b082a891ade69631defdd73709c8f0b13 100644 --- a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m +++ b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m @@ -26,6 +26,13 @@ @implementation CISDOBOpenBisModel #pragma mark - Initialize +- (id)init +{ + if (!(self = [self initWithParentModel: nil])) return nil; + + return self; +} + - (id)initWithParentModel:(CISDOBOpenBisModel *)parentModel { if (!(self = [super init])) return nil; diff --git a/openbis-ipad/openBIS/openBIS/en.lproj/MainStoryboard_iPad.storyboard b/openbis-ipad/openBIS/openBIS/en.lproj/MainStoryboard_iPad.storyboard index a906f98a2437dccb5f0e4fd5e0529a5136d1542e..0ee52970f41b2f061d4986b361afbda9b9d41d8b 100644 --- a/openbis-ipad/openBIS/openBIS/en.lproj/MainStoryboard_iPad.storyboard +++ b/openbis-ipad/openBIS/openBIS/en.lproj/MainStoryboard_iPad.storyboard @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="2840" systemVersion="11G56" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" useAutolayout="YES" initialViewController="5"> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="2843" systemVersion="11G56" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" useAutolayout="YES" initialViewController="5"> <dependencies> <development version="4500" identifier="xcode"/> - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="1926"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="1929"/> </dependencies> <scenes> <!--Navigation Controller--> @@ -188,7 +188,7 @@ <outlet property="delegate" destination="19" id="21"/> </connections> </tableView> - <navigationItem key="navigationItem" title="Categories" id="40"/> + <navigationItem key="navigationItem" title="All" id="40"/> </tableViewController> <placeholder placeholderIdentifier="IBFirstResponder" id="23" sceneMemberID="firstResponder"/> </objects>