From 4dbc9051bc8d799d158190ffe87a6cd8d58c9056 Mon Sep 17 00:00:00 2001
From: Maxime Graulich <maxime.graulich@gmail.com>
Date: Wed, 11 Sep 2013 14:01:26 +0000
Subject: [PATCH] iOS: some fixes

---
 contrib/mobile/iOS/Onelab/EAGLView.mm                 |  8 ++++----
 contrib/mobile/iOS/Onelab/ModelViewController.mm      |  3 ++-
 contrib/mobile/iOS/Onelab/Onelab-Info.plist           | 10 +++-------
 contrib/mobile/iOS/Onelab/OptionsViewController.mm    |  2 ++
 contrib/mobile/iOS/Onelab/ParametersViewController.mm | 11 ++++++++++-
 5 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/contrib/mobile/iOS/Onelab/EAGLView.mm b/contrib/mobile/iOS/Onelab/EAGLView.mm
index 0155e55d4d..7555624d53 100644
--- a/contrib/mobile/iOS/Onelab/EAGLView.mm
+++ b/contrib/mobile/iOS/Onelab/EAGLView.mm
@@ -33,10 +33,10 @@
         CAEAGLLayer *eaglLayer = (CAEAGLLayer *)self.layer;
         eaglLayer.opaque = YES;
         eaglLayer.drawableProperties =
-        [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO],
-         kEAGLDrawablePropertyRetainedBacking,
-         kEAGLColorFormatRGBA8,
-         kEAGLDrawablePropertyColorFormat, nil];
+			[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO],
+			 kEAGLDrawablePropertyRetainedBacking,
+			 kEAGLColorFormatRGBA8,
+			 kEAGLDrawablePropertyColorFormat, nil];
         context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1];
         if (!context || ![EAGLContext setCurrentContext:context]) {
             //[self release];
diff --git a/contrib/mobile/iOS/Onelab/ModelViewController.mm b/contrib/mobile/iOS/Onelab/ModelViewController.mm
index ac352bb2fe..95d0679d16 100644
--- a/contrib/mobile/iOS/Onelab/ModelViewController.mm
+++ b/contrib/mobile/iOS/Onelab/ModelViewController.mm
@@ -74,6 +74,7 @@
 	[self.navigationController setToolbarHidden:YES animated:YES];
 	if(self.initialModel != nil){
 		[self.glView load:self.initialModel];
+		[[NSNotificationCenter defaultCenter] postNotificationName:@"refreshParameters" object:nil];
 		//[self.initialModel release];
 		self.initialModel = nil;
 		[_loadingAlert dismissWithClickedButtonIndex:-1 animated:YES];
@@ -156,7 +157,7 @@
 {
 	onelab_cb("stop");
 }
-- (IBAction)pinch:(UIPinchGestureRecognizer *)sender
+-(IBAction)pinch:(UIPinchGestureRecognizer *)sender
 {
     if([sender numberOfTouches] > 2) return;
     float mScale = scaleFactor;
diff --git a/contrib/mobile/iOS/Onelab/Onelab-Info.plist b/contrib/mobile/iOS/Onelab/Onelab-Info.plist
index 8d8d83ac59..68885ed02e 100644
--- a/contrib/mobile/iOS/Onelab/Onelab-Info.plist
+++ b/contrib/mobile/iOS/Onelab/Onelab-Info.plist
@@ -40,14 +40,10 @@
 			<array>
 				<string>onelab</string>
 			</array>
-			<key>NSDocumentClass</key>
-			<string>Document</string>
+            <key>CFBundleTypeName</key>
+            <string>Onelab package</string>
 			<key>LSTypeIsPackage</key>
-			<true/>
-			<key>CFBundleTypeName</key>
-			<string>Onelab</string>
-			<key>LSHandlerRank</key>
-			<string>None</string>
+            <true/>
 		</dict>
 	</array>
 	<key>LSRequiresIPhoneOS</key>
diff --git a/contrib/mobile/iOS/Onelab/OptionsViewController.mm b/contrib/mobile/iOS/Onelab/OptionsViewController.mm
index a572a7d6f2..18cdaf55c6 100644
--- a/contrib/mobile/iOS/Onelab/OptionsViewController.mm
+++ b/contrib/mobile/iOS/Onelab/OptionsViewController.mm
@@ -50,6 +50,8 @@
 	[control addTarget:self action:@selector(indexDidChangeForSegmentedControl:) forControlEvents:UIControlEventValueChanged];
     if(![[UIDevice currentDevice].model isEqualToString:@"iPad"] && ![[UIDevice currentDevice].model isEqualToString:@"iPad Simulator"])
         self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(backButtonPressed:)];
+    else
+        self.navigationItem.hidesBackButton = true;
 }
 - (void)viewWillAppear:(BOOL)animated
 {
diff --git a/contrib/mobile/iOS/Onelab/ParametersViewController.mm b/contrib/mobile/iOS/Onelab/ParametersViewController.mm
index 8567af011c..468ed6f9e2 100644
--- a/contrib/mobile/iOS/Onelab/ParametersViewController.mm
+++ b/contrib/mobile/iOS/Onelab/ParametersViewController.mm
@@ -101,6 +101,12 @@
 	[self.tableView insertRowsAtIndexPaths:[[NSArray alloc] initWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationAutomatic];
 	[self.tableView endUpdates];
 }
+- (void)removeParemeterNumber:(onelab::number)p atIndex:(NSIndexPath*)index
+{
+	[self.tableView beginUpdates];
+	[self.tableView deleteRowsAtIndexPaths: [NSArray arrayWithObject:index] withRowAnimation:UITableViewRowAnimationAutomatic];
+	[self.tableView endUpdates];
+}
 - (void)addSection:(NSMutableArray*)s withTitle:(NSString*)t withParameterNumber:(onelab::number)p
 {
 	[_sections addObject:s];
@@ -137,7 +143,10 @@
 				for(int iparameter = 0; iparameter<[section count]; iparameter++) {
 					if([[[section objectAtIndex: iparameter] getName] isEqualToString:name]) { // The parameter is in the section
 						Parameter * p = [section objectAtIndex: iparameter];
-						[p refresh]; // just refresh the parameter
+						if(number[i].getVisible())
+							[p refresh]; // just refresh the parameter
+						else
+							[self removeParemeterNumber:number[i] atIndex:[NSIndexPath indexPathForRow:iparameter inSection:iSection]];
                         found = true;
                         break;
 					}
-- 
GitLab