From 3b32d72e3ed3bb8253f9bf997962dd326ac071ed Mon Sep 17 00:00:00 2001
From: Maxime Graulich <maxime.graulich@gmail.com>
Date: Fri, 23 Aug 2013 12:11:34 +0000
Subject: [PATCH] Add UITextFieldDelegate in PostProcessingViewController

---
 .../iOS/Onelab/PostProcessingViewController.h |  2 +-
 .../Onelab/PostProcessingViewController.mm    | 25 +++++++++++++++++++
 2 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/contrib/mobile/iOS/Onelab/PostProcessingViewController.h b/contrib/mobile/iOS/Onelab/PostProcessingViewController.h
index b2df8653bb..8baa6b8161 100644
--- a/contrib/mobile/iOS/Onelab/PostProcessingViewController.h
+++ b/contrib/mobile/iOS/Onelab/PostProcessingViewController.h
@@ -12,7 +12,7 @@
 #include <gmsh/PViewData.h>
 #include <gmsh/PViewOptions.h>
 
-@interface PostProcessingViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>
+@interface PostProcessingViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate, UITextFieldDelegate>
 {
 @private
     PView *_pview;
diff --git a/contrib/mobile/iOS/Onelab/PostProcessingViewController.mm b/contrib/mobile/iOS/Onelab/PostProcessingViewController.mm
index 7b980105c5..307f60450c 100644
--- a/contrib/mobile/iOS/Onelab/PostProcessingViewController.mm
+++ b/contrib/mobile/iOS/Onelab/PostProcessingViewController.mm
@@ -39,6 +39,15 @@
         [_IntervalsType setDelegate:self];
         [_IntervalsType selectRow:_pview->getOptions()->intervalsType-1 inComponent:0 animated:YES];
         [_Intervals setText:[NSString stringWithFormat:@"%d",_pview->getOptions()->nbIso]];
+        UIToolbar* numberToolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
+        numberToolbar.barStyle = UIBarStyleBlackTranslucent;
+        numberToolbar.items = [NSArray arrayWithObjects:
+                               [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
+                               [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(doneWithNumberPad)],
+                               nil];
+        [numberToolbar sizeToFit];
+        _Intervals.delegate = self;
+        _Intervals.inputAccessoryView = numberToolbar;
         [_RaiseZ setValue:_pview->getOptions()->raise[2]];
         [_RaiseZ addTarget:self action:@selector(slideRaiseZ:) forControlEvents:UIControlEventValueChanged];
     }
@@ -74,6 +83,22 @@
     // Dispose of any resources that can be recreated.
 }
 
+-(BOOL)textFieldShouldEndEditing:(UITextField *)textField
+{
+    _pview->getOptions()->nbIso = [textField.text integerValue];
+    _pview->setChanged(true);
+    [[NSNotificationCenter defaultCenter] postNotificationName:@"requestRender" object:nil];
+    return YES;
+}
+-(BOOL)textFieldShouldReturn:(UITextField *)textField
+{
+    return [_Intervals endEditing:YES];
+}
+-(void)doneWithNumberPad
+{
+    [_Intervals endEditing:YES];
+}
+
 - (void)viewDidUnload {
     [self setName:nil];
     [self setIntervalsType:nil];
-- 
GitLab