// // ChatController.m // Tuve // // Created by Philippe Hausler on 9/8/08. // Copyright 2008 Philippe Hausler. All rights reserved. // #import "ChatController.h" @implementation ChatController @synthesize tableView; - (id)initWithStyle:(UITableViewStyle)style { if (self = [super initWithStyle:style]) { } return self; } - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [messages count]; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { NSInteger index = [indexPath indexAtPosition:1]; static NSString *cellTypeId = @"chatCell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellTypeId]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:cellTypeId] autorelease]; cell.font = [UIFont systemFontOfSize:10]; cell.lineBreakMode = UILineBreakModeWordWrap; } // Configure the cell cell.text = [messages objectAtIndex:index]; return cell; } /* - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { } */ /* - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { } if (editingStyle == UITableViewCellEditingStyleInsert) { } } */ /* - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { return YES; } */ /* - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { } */ /* - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { return YES; } */ - (void)msgRecieved:(NSNotification *)aNotification { NSDictionary *userInfo = [aNotification userInfo]; [self addMessage:[userInfo objectForKey:@"message"] fromUser:[userInfo objectForKey:@"sender"]]; } - (void)addMessage:(NSString *)message fromUser:(NSString *)user { [messages addObject:[NSString stringWithFormat:@"%@: %@", user,message]]; [self.tableView reloadData]; [self.tableView scrollToRowAtIndexPath:[[NSIndexPath indexPathWithIndex:0] indexPathByAddingIndex:[messages count]-1] atScrollPosition:UITableViewScrollPositionBottom animated:YES]; } - (void)dealloc { [super dealloc]; } - (void)viewDidLoad { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(msgRecieved:) name:@"TUMSG" object:NULL]; messages = [[NSMutableArray alloc] init]; [super viewDidLoad]; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; } - (void)viewWillDisappear:(BOOL)animated { } - (void)viewDidDisappear:(BOOL)animated { } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end