diff --git a/openbis-ipad/source/objc/BisKit/Classes/CISDOBSplitViewController.h b/openbis-ipad/source/objc/BisKit/Classes/CISDOBSplitViewController.h new file mode 100644 index 0000000000000000000000000000000000000000..72cab58c56c639a4a85c0d4416a6c57bb161ae89 --- /dev/null +++ b/openbis-ipad/source/objc/BisKit/Classes/CISDOBSplitViewController.h @@ -0,0 +1,13 @@ +// +// CISDOBSplitViewController.h +// openBIS +// +// Created by Fuentes Serna Juan Mariano on 7/24/13. +// Copyright (c) 2013 ETHZ, CISD. All rights reserved. +// + +#import <UIKit/UIKit.h> + +@interface CISDOBSplitViewController : UISplitViewController + +@end diff --git a/openbis-ipad/source/objc/BisKit/Classes/CISDOBSplitViewController.m b/openbis-ipad/source/objc/BisKit/Classes/CISDOBSplitViewController.m new file mode 100644 index 0000000000000000000000000000000000000000..711ab03890f1a7ba4153ac64f5f596bc6516dcd4 --- /dev/null +++ b/openbis-ipad/source/objc/BisKit/Classes/CISDOBSplitViewController.m @@ -0,0 +1,55 @@ +// +// CISDOBSplitViewController.m +// openBIS +// +// Created by Fuentes Serna Juan Mariano on 7/24/13. +// Copyright (c) 2013 ETHZ, CISD. All rights reserved. +// + +#import "CISDOBSplitViewController.h" + +@interface CISDOBSplitViewController () + +@end + +@implementation CISDOBSplitViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view. + [[NSNotificationCenter defaultCenter] + addObserver:self + selector:@selector(switchAutoRotate:) + name:@"BarcodeReaderSwitchAutoRotation" + object:nil]; +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +static BOOL shouldAutorotate = YES; + +- (void) switchAutoRotate:(NSNotification *) notification +{ + shouldAutorotate = !shouldAutorotate; +} + +- (BOOL)shouldAutorotate +{ + return shouldAutorotate; +} + +@end diff --git a/openbis-ipad/source/objc/openBIS/openBIS.xcodeproj/project.pbxproj b/openbis-ipad/source/objc/openBIS/openBIS.xcodeproj/project.pbxproj index b5944076334809d0392be17357767dfef8df1404..8f71f1c54ccf88c1d7aaa94496ee2cbe638313ae 100644 --- a/openbis-ipad/source/objc/openBIS/openBIS.xcodeproj/project.pbxproj +++ b/openbis-ipad/source/objc/openBIS/openBIS.xcodeproj/project.pbxproj @@ -56,6 +56,7 @@ 36F71F30161C4F0400C87277 /* CISDOBJsonRpcCall.m in Sources */ = {isa = PBXBuildFile; fileRef = 36F71ED4161C453D00C87277 /* CISDOBJsonRpcCall.m */; }; 36F71F32161C4F0400C87277 /* persistent-data-model.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 36F71ED6161C453D00C87277 /* persistent-data-model.xcdatamodeld */; }; 36F97A2E1628123F005D063E /* CISDOBOpenBisModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 36F97A2D1628123F005D063E /* CISDOBOpenBisModel.m */; }; + 5D01C3E5179FD10E00D355D9 /* CISDOBSplitViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D01C3E4179FD10E00D355D9 /* CISDOBSplitViewController.m */; }; 5D07BF671771C6E100555DE2 /* ZXAztecDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D07BDAB1771C6E100555DE2 /* ZXAztecDecoder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 5D07BF681771C6E100555DE2 /* ZXAztecDetector.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D07BDAE1771C6E100555DE2 /* ZXAztecDetector.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 5D07BF691771C6E100555DE2 /* ZXAztecCode.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D07BDB11771C6E100555DE2 /* ZXAztecCode.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; @@ -354,6 +355,8 @@ 36F71F25161C4AE900C87277 /* readme.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = readme.md; sourceTree = "<group>"; }; 36F97A2C1628123F005D063E /* CISDOBOpenBisModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CISDOBOpenBisModel.h; sourceTree = "<group>"; }; 36F97A2D1628123F005D063E /* CISDOBOpenBisModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CISDOBOpenBisModel.m; sourceTree = "<group>"; }; + 5D01C3E3179FD10E00D355D9 /* CISDOBSplitViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CISDOBSplitViewController.h; path = ../../BisKit/Classes/CISDOBSplitViewController.h; sourceTree = "<group>"; }; + 5D01C3E4179FD10E00D355D9 /* CISDOBSplitViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CISDOBSplitViewController.m; path = ../../BisKit/Classes/CISDOBSplitViewController.m; sourceTree = "<group>"; }; 5D07BDAA1771C6E100555DE2 /* ZXAztecDecoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZXAztecDecoder.h; sourceTree = "<group>"; }; 5D07BDAB1771C6E100555DE2 /* ZXAztecDecoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZXAztecDecoder.m; sourceTree = "<group>"; }; 5D07BDAD1771C6E100555DE2 /* ZXAztecDetector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZXAztecDetector.h; sourceTree = "<group>"; }; @@ -893,6 +896,8 @@ 36F97A2D1628123F005D063E /* CISDOBOpenBisModel.m */, 5D07C0311771C88400555DE2 /* CISDOBBarcodeViewController.h */, 5D07C0321771C88400555DE2 /* CISDOBBarcodeViewController.m */, + 5D01C3E3179FD10E00D355D9 /* CISDOBSplitViewController.h */, + 5D01C3E4179FD10E00D355D9 /* CISDOBSplitViewController.m */, 364D509A161C6ADB00A739B0 /* DevData */, 36F71E81161C3AE900C87277 /* Supporting Files */, ); @@ -2024,6 +2029,7 @@ 5D07C02F1771C6E100555DE2 /* ZXResultPoint.m in Sources */, 5D07C0301771C6E100555DE2 /* ZXRGBLuminanceSource.m in Sources */, 5D07C0331771C88400555DE2 /* CISDOBBarcodeViewController.m in Sources */, + 5D01C3E5179FD10E00D355D9 /* CISDOBSplitViewController.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/openbis-ipad/source/objc/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/juanf.xcuserdatad/UserInterfaceState.xcuserstate b/openbis-ipad/source/objc/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/juanf.xcuserdatad/UserInterfaceState.xcuserstate index b958792d01f5ce59c2467c2dc2288f624a4806af..e5abd8db43629d0f6d3407132f3062749c6bc1af 100644 Binary files a/openbis-ipad/source/objc/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/juanf.xcuserdatad/UserInterfaceState.xcuserstate and b/openbis-ipad/source/objc/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/juanf.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/openbis-ipad/source/objc/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/juanf.xcuserdatad/xcdebugger/Expressions.xcexplist b/openbis-ipad/source/objc/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/juanf.xcuserdatad/xcdebugger/Expressions.xcexplist new file mode 100644 index 0000000000000000000000000000000000000000..31cbb55a893904532d065cdc9ecfd91c47892be6 --- /dev/null +++ b/openbis-ipad/source/objc/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/juanf.xcuserdatad/xcdebugger/Expressions.xcexplist @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VariablesViewState + version = "1.0"> + <ContextStates> + <ContextState + contextName = "__70-[CISDOBTableSearchState makeSearch:shouldReloadTableForSearchString:]_block_invoke:CISDOBMasterViewController.m"> + <PersistentStrings> + <PersistentString + value = "(NSArray *)result"> + </PersistentString> + </PersistentStrings> + </ContextState> + </ContextStates> +</VariablesViewState> diff --git a/openbis-ipad/source/objc/openBIS/openBIS/CISDOBBarcodeViewController.m b/openbis-ipad/source/objc/openBIS/openBIS/CISDOBBarcodeViewController.m index 58ee2f182507cfd5c9bc733f4be92a321e7ca5f1..bb2bb0a310c0e7618c215d8c52da4ab909439bad 100644 --- a/openbis-ipad/source/objc/openBIS/openBIS/CISDOBBarcodeViewController.m +++ b/openbis-ipad/source/objc/openBIS/openBIS/CISDOBBarcodeViewController.m @@ -21,11 +21,12 @@ @interface CISDOBBarcodeViewController () @property (nonatomic, retain) ZXCapture* capture; +/* @property (nonatomic, retain) AVCaptureSession* cameraSession; @property (nonatomic, retain) AVCaptureVideoPreviewLayer* previewLayer; @property (nonatomic, retain) AVCaptureDevice *videoDevice; @property (nonatomic, retain) AVCaptureDeviceInput *videoIn; - +*/ @property (nonatomic, retain) IBOutlet UILabel* decodedLabel; @property (nonatomic, retain) IBOutlet UIView* cameraView; @property (nonatomic, retain) IBOutlet UIBarButtonItem* backButton; @@ -44,16 +45,21 @@ #pragma mark - Creation/Deletion Methods - (IBAction) dismissModalViewController { - [self.capture.layer removeFromSuperlayer]; - [self.capture stop]; [self dismissViewControllerAnimated:YES completion:nil]; [[NSNotificationCenter defaultCenter] postNotificationName:@"DissmissNotification" object:nil]; + [[NSNotificationCenter defaultCenter] + postNotificationName:@"BarcodeReaderSwitchAutoRotation" + object:nil]; } #pragma mark - Creation/Deletion Methods - (void)dealloc { + [self.capture.layer removeFromSuperlayer]; + [self.capture stop]; + + [self.capture release]; [self.decodedLabel release]; [self.cameraView release]; @@ -64,6 +70,9 @@ #pragma mark - View Controller Methods - (void)viewWillAppear:(BOOL)animated { + [[NSNotificationCenter defaultCenter] + postNotificationName:@"BarcodeReaderSwitchAutoRotation" + object:nil]; /* self.videoDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; NSError *error; @@ -77,6 +86,7 @@ [self.cameraView.layer addSublayer: self.previewLayer]; [self.cameraSession startRunning]; */ + [NSThread detachNewThreadSelector:@selector(loadBarcodeReader) toTarget:self withObject:nil]; [super viewWillAppear:animated]; } @@ -104,6 +114,7 @@ //[self.previewLayer removeFromSuperlayer]; } + - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationPortrait); } diff --git a/openbis-ipad/source/objc/openBIS/openBIS/en.lproj/MainStoryboard_iPad.storyboard b/openbis-ipad/source/objc/openBIS/openBIS/en.lproj/MainStoryboard_iPad.storyboard index b6d94eabdc40ee8951bba5fb0881352f3065e410..947e6939eb73398405b044b73f1ee00baae976ff 100644 --- a/openbis-ipad/source/objc/openBIS/openBIS/en.lproj/MainStoryboard_iPad.storyboard +++ b/openbis-ipad/source/objc/openBIS/openBIS/en.lproj/MainStoryboard_iPad.storyboard @@ -188,7 +188,7 @@ <!--Split View Controller--> <scene sceneID="18"> <objects> - <splitViewController id="5" sceneMemberID="viewController"> + <splitViewController id="5" customClass="CISDOBSplitViewController" sceneMemberID="viewController"> <toolbarItems/> <simulatedStatusBarMetrics key="simulatedStatusBarMetrics" statusBarStyle="blackTranslucent"/> <simulatedOrientationMetrics key="simulatedOrientationMetrics" orientation="landscapeRight"/> @@ -436,6 +436,9 @@ If you are a user of an openBIS server, plese enter the URL and your login detai <simulatedOrientationMetrics key="simulatedOrientationMetrics" orientation="landscapeRight"/> <dataDetectorType key="dataDetectorTypes"/> </webView> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="keyPath" value="YES"/> + </userDefinedRuntimeAttributes> <connections> <outlet property="webView" destination="vBh-MQ-5Tm" id="8LE-n7-KZf"/> </connections> @@ -587,6 +590,9 @@ If you are a user of an openBIS server, plese enter the URL and your login detai <relationship kind="outlet" name="browseTableView" candidateClass="UITableView"/> </relationships> </class> + <class className="CISDOBSplitViewController" superclassName="UISplitViewController"> + <source key="sourceIdentifier" type="project" relativePath="./Classes/CISDOBSplitViewController.h"/> + </class> <class className="NSLayoutConstraint" superclassName="NSObject"> <source key="sourceIdentifier" type="project" relativePath="./Classes/NSLayoutConstraint.h"/> </class>