All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
iOSInputBox.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #import <UIKit/UIKit.h>
6 #import <Foundation/Foundation.h>
7 
8 #include "InputBox.h"
9 #include "IInputBox.h"
10 #include "iOSKeyboardLocationObserver.h"
11 
12 #include <string>
13 
14 namespace Eegeo
15 {
16  namespace UI
17  {
18  namespace NativeInput
19  {
20  namespace iOS
21  {
22  class iOSInputBox;
23  }
24  }
25  }
26 }
27 
28 @interface iOSInputBox_AlertHandler : UIViewController <UIAlertViewDelegate>{
29  Eegeo::UI::NativeInput::iOS::iOSInputBox* pBox;
30 }
31 - (void)setBox:(Eegeo::UI::NativeInput::iOS::iOSInputBox*) box;
32 @end
33 
35 {
37 };
38 
39 namespace Eegeo
40 {
41  namespace UI
42  {
43  namespace NativeInput
44  {
45  namespace iOS
46  {
47  class iOSInputBox : public IInputBox
48  {
50  iOSKeyboardInput_LocationObserverImpl* m_pLocationObserverImpl;
51  IInputBoxDismissedHandler& m_handler;
52  UIAlertView * m_alert;
53  bool m_closed;
54  public:
55  iOSInputBox(const std::string& title,
56  const std::string& message,
57  const std::string& button,
58  const std::string& initialContent,
59  bool initialContentIsPlaceholder,
60  IInputBoxDismissedHandler& handler);
61 
62  virtual ~iOSInputBox();
63 
64  void DismissWithInput(const std::string& input);
65 
66  virtual void Close();
67 
68  iOSInputBox* Show();
69 
70  iOSInputBox* SetLocationChangedObserver(Eegeo::UI::NativeInput::IKeyboardLocationObserver* pObserver);
71  };
72  }
73  }
74  }
75 }