Bold360 and BoldChat Developer Center

BCChatViewLogic.h

1 //
2 // Copyright (c) 2014 LogMeIn Inc. All rights reserved.
3 //
4 
5 #import <Foundation/Foundation.h>
6 #import <UIKit/UIKit.h>
7 #import "BCTextViewWithPlaceHolder.h"
8 #import "BCMessage.h"
9 
10 @class BCChatViewLogic;
11 
17 @protocol BCChatViewLogicEvents <NSObject>
18 
24 - (void)bcChatViewLogicChatDidStart:(BCChatViewLogic *)chatViewLogic;
25 
31 - (void)bcChatViewLogicChatDidConnect:(BCChatViewLogic *)chatViewLogic;
32 
40 - (void)bcChatViewLogic:(BCChatViewLogic *)chatViewLogic chatDidEndAt:(NSDate *)endTime text:(NSString *)text;
41 
48 - (void)bcChatViewLogic:(BCChatViewLogic *)chatViewLogic visitorDidSendMessage:(BCMessage *)message;
49 
56 - (void)bcChatViewLogic:(BCChatViewLogic *)chatViewLogic messageDidArriveToChatHistory:(BCMessage *)message;
57 
64 - (void)bcChatViewLogic:(BCChatViewLogic *)chatViewLogic autoMessageDidArriveToChatHistory:(BCMessage *)message;
65 
73 - (void)bcChatViewLogic:(BCChatViewLogic *)chatViewLogic typersDidChangeWithTypers:(NSArray *)typers messageFormat:(NSString *)messageFormat;
74 
83 - (void)bcChatViewLogic:(BCChatViewLogic *)chatViewLogic operatorIsBusyQueuePosition:(NSInteger)queuePosition messageFormat:(NSString *)messageFormat unavailableFormAvailable:(BOOL)unavailableFormAvailable;
84 
90 - (void)bcChatViewLogicLocalisationChanged:(BCChatViewLogic *)chatViewLogic;
91 
97 - (void)bcChatViewLogicViewDidLoad:(BCChatViewLogic *)chatViewLogic;
98 
106 - (void)bcChatViewLogic:(BCChatViewLogic *)chatViewLogic textInputDidChangeWithTranslucentTop:(CGFloat)top translucentBottom:(CGFloat)bottom;
107 
115 - (void)bcChatViewLogic:(BCChatViewLogic *)chatViewLogic didChangeLayoutWithTranslucentTop:(CGFloat)top translucentBottom:(CGFloat)bottom;
116 
122 - (void)bcChatViewLogicWillCleanUp:(BCChatViewLogic *)chatViewLogic;
123 
124 @end
125 
130 @interface BCChatViewLogic : NSObject
131 
136 @property(nonatomic, strong)IBOutlet UIView *view;
137 
142 @property(nonatomic, strong)IBOutlet UIView *chatHistoryWebViewHolderView;
143 
148 @property(nonatomic, strong)IBOutlet UIWebView *chatHistoryWebView;
149 
154 @property(nonatomic, strong)IBOutlet UIView *inputHolderView;
155 
160 @property(nonatomic, strong)IBOutlet UITextView<BCTextViewWithPlaceHolder> *inputTextView;
161 
166 @property(nonatomic, strong)IBOutlet UIButton *sendButton;
167 
172 @property(nonatomic, strong)IBOutlet UILabel *typingLabel;
173 
178 @property(nonatomic, strong)IBOutlet UILabel *queuePositionLabel;
179 
184 @property(nonatomic, strong)IBOutlet UIButton *emailChatHistoryButton;
185 
190 @property(nonatomic, strong)IBOutlet UIButton *cancelChatButton;
191 
196 @property(nonatomic, strong)IBOutlet UIButton *endChatButton;
197 
202 @property(nonatomic, strong)IBOutlet UIButton *chatExternalActionButton;
203 
208 @property(nonatomic, assign)id<BCChatViewLogicEvents> events;
209 
215 - (IBAction)sendButtonPressed:(UIButton *)button;
216 
222 - (IBAction)emailChatHistoryPressed:(UIButton *)button;
223 
229 - (IBAction)cancelChatPressed:(UIButton *)button;
230 
236 - (IBAction)endChatPressed:(UIButton *)button;
237 
243 
244 @end
IBOutlet UIWebView * chatHistoryWebView
The chat history web view.
Definition: BCChatViewLogic.h:148
IBOutlet UIButton * endChatButton
End chat button.
Definition: BCChatViewLogic.h:196
IBOutlet UIView * inputHolderView
The chat input text view holder view.
Definition: BCChatViewLogic.h:154
Event handler protocol of chat view.
Definition: BCChatViewLogic.h:17
IBOutlet UIButton * cancelChatButton
Cancel chat and fill unavailable form button.
Definition: BCChatViewLogic.h:190
id< BCChatViewLogicEvents > events
Chat view logic events delegate. It is set from BoldChatViewSettings::chatViewEventHandler.
Definition: BCChatViewLogic.h:208
IBOutlet UIView * chatHistoryWebViewHolderView
The chat history web view holder view.
Definition: BCChatViewLogic.h:142
IBAction chatExternalActionButtonPressed()
IBAction for the chatExternalActionButton.
The class holding the logic for the chat view handling. The files owner of BCChatView.xib.
Definition: BCChatViewLogic.h:130
IBOutlet UIButton * chatExternalActionButton
A button which needs to call chatExternalActionButtonPressed. If the view controller does not have an...
Definition: BCChatViewLogic.h:202
IBOutlet UITextView< BCTextViewWithPlaceHolder > * inputTextView
The chat input text view, with placeholder capability.
Definition: BCChatViewLogic.h:160
IBOutlet UILabel * typingLabel
The operator or operators typing message.
Definition: BCChatViewLogic.h:172
IBOutlet UIView * view
The chat view itself.
Definition: BCChatViewLogic.h:136
IBOutlet UIButton * sendButton
The chat message send button.
Definition: BCChatViewLogic.h:166
IBOutlet UILabel * queuePositionLabel
The chat queue position label.
Definition: BCChatViewLogic.h:178
IBOutlet UIButton * emailChatHistoryButton
Email chat history button.
Definition: BCChatViewLogic.h:184
The container class for all information about a specific chat message.
Definition: BCMessage.h:13