diff options
author | matthew <matthew> | 2008-10-02 16:32:27 +0000 |
---|---|---|
committer | matthew <matthew> | 2008-10-02 16:32:27 +0000 |
commit | 1e276f5555ca52c43b62954327cc44f40b8b0f58 (patch) | |
tree | df3b7807016ace0e1e0d3e781fba3cf287324a4d | |
parent | 37f57cc8b8332ba5a19e39657d388d3cc7a5b656 (diff) |
Initial revision
38 files changed, 4721 insertions, 0 deletions
diff --git a/iphone/FixMyStreet/Classes/EditSubjectViewController.h b/iphone/FixMyStreet/Classes/EditSubjectViewController.h new file mode 100644 index 000000000..e66509993 --- /dev/null +++ b/iphone/FixMyStreet/Classes/EditSubjectViewController.h @@ -0,0 +1,19 @@ +// +// EditSubjectViewController.h +// FixMyStreet +// +// Created by Matthew on 01/10/2008. +// Copyright 2008 UK Citizens Online Democracy. All rights reserved. +// + +#import <UIKit/UIKit.h> + +@class SubjectTableViewCell; + +@interface EditSubjectViewController : UITableViewController <UITextFieldDelegate> { + SubjectTableViewCell *subjectCell; +} + +-(void)updateSummary:(NSString*)summary; + +@end diff --git a/iphone/FixMyStreet/Classes/EditSubjectViewController.m b/iphone/FixMyStreet/Classes/EditSubjectViewController.m new file mode 100644 index 000000000..012ef6660 --- /dev/null +++ b/iphone/FixMyStreet/Classes/EditSubjectViewController.m @@ -0,0 +1,108 @@ +// +// EditSubjectViewController.m +// FixMyStreet +// +// Created by Matthew on 01/10/2008. +// Copyright 2008 UK Citizens Online Democracy. All rights reserved. +// + +#import "EditSubjectViewController.h" +#import "SubjectTableViewCell.h" +#import "FixMyStreetAppDelegate.h" + +@implementation EditSubjectViewController + +/* +- (id)initWithStyle:(UITableViewStyle)style { + // Override initWithStyle: if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad. + if (self = [super initWithStyle:style]) { + } + return self; +} +*/ + +// Implement viewDidLoad to do additional setup after loading the view. +- (void)viewDidLoad { + [super viewDidLoad]; + self.title = @"Edit summary"; +} + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return 1; +} + + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + return subjectCell; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + [tableView deselectRowAtIndexPath:indexPath animated:NO]; + [subjectCell.textField becomeFirstResponder]; +} + +- (void)viewWillAppear:(BOOL)animated { + //[super viewWillAppear:animated]; + if (!subjectCell) { + subjectCell = [[SubjectTableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"SubjectCell"]; + subjectCell.textField.delegate = self; + } + FixMyStreetAppDelegate *delegate = [[UIApplication sharedApplication] delegate]; + if (delegate.subject) { + subjectCell.textField.text = delegate.subject; + } + [subjectCell.textField becomeFirstResponder]; +} + +/* +- (void)viewDidAppear:(BOOL)animated { + [super viewDidAppear:animated]; +} +*/ + +- (void)viewWillDisappear:(BOOL)animated { + // On 2.0 this produces same effect as clicking Done, but not in 2.1? + [subjectCell.textField resignFirstResponder]; +} + +/* +- (void)viewDidDisappear:(BOOL)animated { +} +*/ +/* +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} +*/ + +- (void)dealloc { + [subjectCell release]; + [super dealloc]; +} + + +-(void)updateSummary:(NSString*)summary { + FixMyStreetAppDelegate *delegate = [[UIApplication sharedApplication] delegate]; + if (summary.length) { + delegate.subject = summary; + } else { + delegate.subject = nil; + } + [self.navigationController popViewControllerAnimated:YES]; +} + +-(BOOL)textFieldShouldReturn:(UITextField*)theTextField { + //if (theTextField == summaryTextField) { + [theTextField resignFirstResponder]; + [self updateSummary:theTextField.text]; + //} + return YES; +} + +@end + diff --git a/iphone/FixMyStreet/Classes/FixMyStreetAppDelegate.h b/iphone/FixMyStreet/Classes/FixMyStreetAppDelegate.h new file mode 100644 index 000000000..87c49e7f6 --- /dev/null +++ b/iphone/FixMyStreet/Classes/FixMyStreetAppDelegate.h @@ -0,0 +1,34 @@ +// +// FixMyStreetAppDelegate.h +// FixMyStreet +// +// Created by Matthew on 25/09/2008. +// Copyright 2008 UK Citizens Online Democracy. All rights reserved. +// + +#import <UIKit/UIKit.h> + +@class InputTableViewController; + +@interface FixMyStreetAppDelegate : NSObject <UIApplicationDelegate> { + UIWindow *window; + UINavigationController *navigationController; + + // The report currently being entered. + UIImage* image; + NSString* location; + NSString* subject; + +} + +@property (nonatomic, retain) IBOutlet UIWindow *window; +@property (nonatomic, retain) UINavigationController *navigationController; + +@property (nonatomic, retain) UIImage* image; +@property (nonatomic, retain) NSString* location; +@property (nonatomic, retain) NSString* subject; + +-(void)uploadReport; + +@end + diff --git a/iphone/FixMyStreet/Classes/FixMyStreetAppDelegate.m b/iphone/FixMyStreet/Classes/FixMyStreetAppDelegate.m new file mode 100644 index 000000000..081591ebf --- /dev/null +++ b/iphone/FixMyStreet/Classes/FixMyStreetAppDelegate.m @@ -0,0 +1,48 @@ +// +// FixMyStreetAppDelegate.m +// FixMyStreet +// +// Created by Matthew on 25/09/2008. +// Copyright 2008 UK Citizens Online Democracy. All rights reserved. +// + +#import "FixMyStreetAppDelegate.h" +#import "InputTableViewController.h" + +@implementation FixMyStreetAppDelegate + +@synthesize window, navigationController; +@synthesize image, location, subject; + +- (void)applicationDidFinishLaunching:(UIApplication *)application { + InputTableViewController *inputTableViewController = [[InputTableViewController alloc] initWithNibName:@"MainViewController" bundle:[NSBundle mainBundle]]; +// InputTableViewController *inputTableViewController = [[InputTableViewController alloc] initWithStyle:UITableViewStyleGrouped]; + // So we had our root view in a nib file, but we're creating our navigation controller programmatically. Ah well. + UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:inputTableViewController]; + self.navigationController = aNavigationController; + [aNavigationController release]; + [inputTableViewController release]; + + UIView *controllersView = [navigationController view]; + [window addSubview:controllersView]; + [window makeKeyAndVisible]; + + // Need to fetch defaults here, plus anything saved when we quit last time +} + +- (void)dealloc { + [window release]; + [navigationController release]; + [super dealloc]; +} + +- (void)applicationWillTerminate:(UIApplication *)application { + // Save state in case they're just in the middle of a phone call... + +} + +// Report stuff +-(void)uploadReport { +} + +@end diff --git a/iphone/FixMyStreet/Classes/InputTableViewController.h b/iphone/FixMyStreet/Classes/InputTableViewController.h new file mode 100644 index 000000000..959d3ae97 --- /dev/null +++ b/iphone/FixMyStreet/Classes/InputTableViewController.h @@ -0,0 +1,37 @@ +// +// InputTableViewController.h +// FixMyStreet +// +// Created by Matthew on 26/09/2008. +// Copyright 2008 UK Citizens Online Democracy. All rights reserved. +// + +#import <UIKit/UIKit.h> +#import "imageCell.h" +#import "MyCLController.h" + +@interface InputTableViewController : UIViewController <UINavigationControllerDelegate,UIImagePickerControllerDelegate,MyCLControllerDelegate> { + IBOutlet UIImageView* imageView; + IBOutlet UITableView* actionsToDoView; + IBOutlet UIButton* settingsButton; + + // Not sure what I made these for + UITableViewCell* actionTakePhotoCell; + UITableViewCell* actionFetchLocationCell; + UITableViewCell* actionSummaryCell; +} + +-(void)enableSubmissionButton; + +-(IBAction)addPhoto:(id) sender; +-(IBAction)gotoSettings:(id)sender; + +// UIImagePickerControllerDelegate +- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo; +- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker; + +//MyCLControllerDelegate +-(void)newLocationUpdate:(NSString *)text; +-(void)newError:(NSString *)text; + +@end diff --git a/iphone/FixMyStreet/Classes/InputTableViewController.m b/iphone/FixMyStreet/Classes/InputTableViewController.m new file mode 100644 index 000000000..cd691680d --- /dev/null +++ b/iphone/FixMyStreet/Classes/InputTableViewController.m @@ -0,0 +1,277 @@ +// +// InputTableViewController.m +// FixMyStreet +// +// Created by Matthew on 26/09/2008. +// Copyright 2008 UK Citizens Online Democracy. All rights reserved. +// + +#import "InputTableViewController.h" +#import "subjectTableViewCell.h" +#import "imageCell.h" +#import "FixMyStreetAppDelegate.h" +#import "EditSubjectViewController.h" +#import "Report.h" + +@implementation InputTableViewController + +//@synthesize image; +//@synthesize imagCell; +//@synthesize reportSummary; + +- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle { + if (self = [super initWithNibName:nibName bundle:nibBundle]) { + self.title = @"FixMyStreet"; + // These seem to work better in viewDidLoad + // actionsToDoView.sectionHeaderHeight = 0.0; + // self.navigationItem.backBarButtonItem.title = @"Foo"; + } + return self; +} + +/* +- (id)initWithStyle:(UITableViewStyle)style { + // Override initWithStyle: if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad. + if (self = [super initWithStyle:style]) { + } + return self; +} +*/ + +- (void)viewWillAppear:(BOOL)animated { + //[super viewWillAppear:animated]; + [self enableSubmissionButton]; +} + +// Implement viewDidLoad to do additional setup after loading the view. +- (void)viewDidLoad { + [super viewDidLoad]; + actionsToDoView.sectionFooterHeight = 0; + + UIBarButtonItem* backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonSystemItemCancel target:nil action:nil]; + self.navigationItem.backBarButtonItem = backBarButtonItem; + [backBarButtonItem release]; + + UIBarButtonItem* rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Report" style:UIBarButtonSystemItemSave target:nil action:nil]; + rightBarButtonItem.enabled = NO; + self.navigationItem.rightBarButtonItem = rightBarButtonItem; + [rightBarButtonItem release]; + + // Let's start trying to find our location... + [MyCLController sharedInstance].delegate = self; + [[MyCLController sharedInstance] startUpdatingLocation]; +} + + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 3; +} + +- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { + return nil; + // Possible section==2 heading to make summary clearer once entered? +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return 1; +} + +//- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { +// return 44.0f; +//} + +-(void)enableSubmissionButton { + [actionsToDoView reloadData]; + FixMyStreetAppDelegate *delegate = [[UIApplication sharedApplication] delegate]; + if (delegate.image && delegate.location && delegate.subject) { + self.navigationItem.rightBarButtonItem.enabled = YES; + } else { + self.navigationItem.rightBarButtonItem.enabled = NO; + } +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + + static NSString *CellIdentifier; + UITableViewCell *cell; + FixMyStreetAppDelegate* delegate = [[UIApplication sharedApplication] delegate]; + + // Possible editing of subject within main view (I think I prefer it as is, though need to make display clearer somehow) + // And possible display of selected image within cell somewhere/somehow (I like how Contacts does it, but haven't + // managed that so far + + /* if (indexPath.section == 2) { + CellIdentifier = @"CellText"; + cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; + if (cell == nil) { + //CGRect frame = CGRectMake(0, 0, 250, 44); + cell = [[[subjectTableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; + //cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + //UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(1.0, 1.0, 250, 44)]; + //textField.placeholder = @"Subject"; + // [textField addTarget:self action:nil forControlEvents:UIControlEventValueChanged]; + //cell.accessoryView = textField; + //[textField release]; + } + } else */ + /* if (indexPath.section == 0) { + CellIdentifier = @"CellImage"; + cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; + if (cell == nil) { + cell = [[[imageCell alloc] initWithFrame:CGRectMake(0, 0, 400, 44) reuseIdentifier:CellIdentifier] autorelease]; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + } + } else { */ + + CellIdentifier = @"Cell"; + cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; + if (cell == nil) { + cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + } + + //} + + if (indexPath.section == 0) { + if (delegate.image) { + cell.accessoryType = UITableViewCellAccessoryCheckmark; + } + cell.text = @"Take photo"; + actionTakePhotoCell = cell; + } else if (indexPath.section == 1) { + if (delegate.location) { + cell.accessoryView = nil; + cell.accessoryType = UITableViewCellAccessoryCheckmark; + } else if ([MyCLController sharedInstance].updating) { + UIActivityIndicatorView* activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; + [activityView startAnimating]; + cell.accessoryView = activityView; + [activityView release]; + } + cell.text = @"Fetch location"; + actionFetchLocationCell = cell; + } else if (indexPath.section == 2) { + if (delegate.subject) { + cell.text = delegate.subject; + cell.textColor = [UIColor blackColor]; + cell.accessoryType = UITableViewCellAccessoryCheckmark; + } else { + cell.text = @"Short summary of problem"; + cell.textColor = [UIColor grayColor]; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + } + actionSummaryCell = cell; + } else { + cell.text = @"Eh?"; + } + return cell; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + [tableView deselectRowAtIndexPath:indexPath animated:YES]; + if (indexPath.section == 0) { + [self addPhoto:nil]; + } else if (indexPath.section == 1) { + [[MyCLController sharedInstance].locationManager startUpdatingLocation]; + } else if (indexPath.section == 2) { + UIViewController* editSubjectViewController = [[EditSubjectViewController alloc] initWithNibName:@"EditSubjectView" bundle:nil]; + [self.navigationController pushViewController:editSubjectViewController animated:YES]; + [editSubjectViewController release]; + } +} + +-(IBAction)addPhoto:(id) sender { + BOOL cameraAvailable = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]; + BOOL photosAvailable = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]; + if (!cameraAvailable && !photosAvailable) { + UITableViewCell *cell = [actionsToDoView cellForRowAtIndexPath:0]; // XXX + cell.text = @"No photo mechanism available"; + return; + } + UIImagePickerController* picker = [[UIImagePickerController alloc] init]; + if (cameraAvailable) { + picker.sourceType = UIImagePickerControllerSourceTypeCamera; + } else { + picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; + } + picker.delegate = self; + picker.allowsImageEditing = YES; + [self presentModalViewController:picker animated:YES]; +} + +/* +- (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]; +} +*/ + +// Check this, I can't remember if you need to release nib things. +- (void)dealloc { + [imageView release]; + [actionTakePhotoCell release]; + [actionFetchLocationCell release]; + [actionSummaryCell release]; + [actionsToDoView release]; + [settingsButton release]; + [super dealloc]; +} + + +// UIImagePickerControllerDelegate prototype + +- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)newImage editingInfo:(NSDictionary *)editingInfo { + FixMyStreetAppDelegate *delegate = [[UIApplication sharedApplication] delegate]; + delegate.image = newImage; + + imageView.image = newImage; + + [[picker parentViewController] dismissModalViewControllerAnimated:YES]; + [picker release]; +} + +- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { + [[picker parentViewController] dismissModalViewControllerAnimated:YES]; + [picker release]; +} + +// MyCLControllerDelegate + +-(void)newLocationUpdate:(NSString *)text { + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hey" message:text delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; + [alert show]; + [alert release]; + + FixMyStreetAppDelegate *delegate = [[UIApplication sharedApplication] delegate]; + delegate.location = text; + + [self enableSubmissionButton]; +} + +-(void)newError:(NSString *)text { +} + +// Settings + +-(IBAction)gotoSettings:(id)sender { +} + +@end + diff --git a/iphone/FixMyStreet/Classes/Report.h b/iphone/FixMyStreet/Classes/Report.h new file mode 100644 index 000000000..2e7b153cb --- /dev/null +++ b/iphone/FixMyStreet/Classes/Report.h @@ -0,0 +1,14 @@ +// +// Report.h +// FixMyStreet +// +// Created by Matthew on 29/09/2008. +// Copyright 2008 UK Citizens Online Democracy. All rights reserved. +// + +#import <UIKit/UIKit.h> +#import <CoreLocation/CoreLocation.h> + +@interface Report : NSObject { +} +@end diff --git a/iphone/FixMyStreet/Classes/Report.m b/iphone/FixMyStreet/Classes/Report.m new file mode 100644 index 000000000..afd71ede4 --- /dev/null +++ b/iphone/FixMyStreet/Classes/Report.m @@ -0,0 +1,64 @@ +// +// Report.m +// FixMyStreet +// +// Created by Matthew on 29/09/2008. +// Copyright 2008 UK Citizens Online Democracy. All rights reserved. +// + +/* +#import "Report.h" + +static Report *sharedReport = nil; + +@implementation Report + +@synthesize image, location, subject; + +-(void)uploadReport { +} + +// See "Creating a Singleton Instance" in the Cocoa Fundamentals Guide for more info + ++ (Report *)sharedInstance { + @synchronized(self) { + if (sharedReport == nil) { + [[self alloc] init]; // assignment not done here + } + } + return sharedReport; +} + ++ (id)allocWithZone:(NSZone *)zone { + @synchronized(self) { + if (sharedReport == nil) { + sharedReport = [super allocWithZone:zone]; + return sharedReport; // assignment and return on first allocation + } + } + return nil; // on subsequent allocation attempts return nil +} + +- (id)copyWithZone:(NSZone *)zone +{ + return self; +} + +- (id)retain { + return self; +} + +- (unsigned)retainCount { + return UINT_MAX; // denotes an object that cannot be released +} + +- (void)release { + //do nothing +} + +- (id)autorelease { + return self; +} + +@end +*/ diff --git a/iphone/FixMyStreet/Classes/SubjectTableViewCell.h b/iphone/FixMyStreet/Classes/SubjectTableViewCell.h new file mode 100644 index 000000000..b194d48e8 --- /dev/null +++ b/iphone/FixMyStreet/Classes/SubjectTableViewCell.h @@ -0,0 +1,16 @@ +// +// subjectTableViewCell.h +// FixMyStreet +// +// Created by Matthew on 26/09/2008. +// Copyright 2008 UK Citizens Online Democracy. All rights reserved. +// + +#import <UIKit/UIKit.h> + +@interface SubjectTableViewCell : UITableViewCell { + UITextField *textField; +} +@property (nonatomic, retain) UITextField *textField; + +@end diff --git a/iphone/FixMyStreet/Classes/SubjectTableViewCell.m b/iphone/FixMyStreet/Classes/SubjectTableViewCell.m new file mode 100644 index 000000000..55b6f1b2f --- /dev/null +++ b/iphone/FixMyStreet/Classes/SubjectTableViewCell.m @@ -0,0 +1,43 @@ +// +// subjectTableViewCell.m +// FixMyStreet +// +// Created by Matthew on 26/09/2008. +// Copyright 2008 UK Citizens Online Democracy. All rights reserved. +// + +#import "SubjectTableViewCell.h" + +@implementation SubjectTableViewCell + +@synthesize textField; + +- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier { + if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) { + textField = [[UITextField alloc] initWithFrame:CGRectZero]; + textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; + textField.font = [UIFont systemFontOfSize:20]; + textField.placeholder = @"Summary"; + textField.autocapitalizationType = UITextAutocapitalizationTypeSentences; + textField.clearButtonMode = UITextFieldViewModeWhileEditing; + textField.returnKeyType = UIReturnKeyDone; + [self addSubview:textField]; + } + return self; +} + +-(void)layoutSubviews { + textField.frame = CGRectInset(self.contentView.bounds, 20, 0); +} + +- (void)setSelected:(BOOL)selected animated:(BOOL)animated { + [super setSelected:selected animated:animated]; + // Configure the view for the selected state +} + +- (void)dealloc { + [textField release]; + [super dealloc]; +} + +@end diff --git a/iphone/FixMyStreet/Classes/imageCell.h b/iphone/FixMyStreet/Classes/imageCell.h new file mode 100644 index 000000000..585ca7da1 --- /dev/null +++ b/iphone/FixMyStreet/Classes/imageCell.h @@ -0,0 +1,21 @@ +// +// imageCell.h +// FixMyStreet +// +// Created by Matthew on 29/09/2008. +// Copyright 2008 UK Citizens Online Democracy. All rights reserved. +// + +#import <UIKit/UIKit.h> + +@interface imageCell : UITableViewCell { + UILabel* labelView; + UIImageView* imageView; +} + +@property (nonatomic, retain) UIImageView* imageView; +@property (nonatomic, retain) UILabel* labelView; + +-(void)setData:(UIImage *)newImage; + +@end diff --git a/iphone/FixMyStreet/Classes/imageCell.m b/iphone/FixMyStreet/Classes/imageCell.m new file mode 100644 index 000000000..9b295bdfb --- /dev/null +++ b/iphone/FixMyStreet/Classes/imageCell.m @@ -0,0 +1,72 @@ +// +// imageCell.m +// FixMyStreet +// +// Created by Matthew on 29/09/2008. +// Copyright 2008 UK Citizens Online Democracy. All rights reserved. +// + +#import "imageCell.h" + + +@implementation imageCell + +@synthesize imageView; +@synthesize labelView; + +- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier { + if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) { + + UIFont *font = [UIFont boldSystemFontOfSize:17.0]; + UILabel *newLabel = [[UILabel alloc] initWithFrame:CGRectZero]; + newLabel.backgroundColor = [UIColor clearColor]; + //newLabel.backgroundColor = [UIColor whiteColor]; + newLabel.opaque = YES; + newLabel.textColor = [UIColor blackColor]; + newLabel.text = @"Take photo"; + newLabel.highlightedTextColor = [UIColor whiteColor]; + newLabel.font = font; + newLabel.textAlignment = UITextAlignmentLeft; // default + self.labelView = newLabel; + [self.contentView addSubview:newLabel]; + [newLabel release]; + self.imageView = [[UIImageView alloc] initWithFrame:CGRectZero]; + [self.contentView addSubview:self.imageView]; + //[self.imageView release]; + + } + return self; +} + +-(void)setData:(UIImage *)newImage { + //CGSize imageSize = newImage.size; + //float w = 100.0 / imageSize.width; + //imageView.frame = CGRectMake(150,5,100,imageSize.height * w); + //CGRect contentRect = self.contentView.bounds; + //contentRect.size = CGSizeMake(contentRect.size.width, imageSize.height*w); + imageView.image = newImage; + //self.contentView.bounds = contentRect; +} + +-(void)layoutSubviews { + [super layoutSubviews]; + if (imageView.image) { + CGSize imageSize = imageView.image.size; + float w = 100.0 / imageSize.width; + imageView.frame = CGRectMake(10,0,100,imageSize.height * w); + labelView.frame = CGRectMake(120, imageSize.height * w / 2, 200, 20); + CGRect contentRect = self.contentView.bounds; + contentRect.size = CGSizeMake(contentRect.size.width, imageSize.height*w); + self.contentView.bounds = contentRect; + } else { + labelView.frame = CGRectMake(10, 0, 200, 44); + } +} + +- (void)dealloc { + [imageView dealloc]; + [labelView dealloc]; + [super dealloc]; +} + +@end diff --git a/iphone/FixMyStreet/EditSubjectView.xib b/iphone/FixMyStreet/EditSubjectView.xib new file mode 100644 index 000000000..a3c99e9e3 --- /dev/null +++ b/iphone/FixMyStreet/EditSubjectView.xib @@ -0,0 +1,169 @@ +<?xml version="1.0" encoding="UTF-8"?> +<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.02"> + <data> + <int key="IBDocument.SystemTarget">528</int> + <string key="IBDocument.SystemVersion">9F33</string> + <string key="IBDocument.InterfaceBuilderVersion">672</string> + <string key="IBDocument.AppKitVersion">949.34</string> + <string key="IBDocument.HIToolboxVersion">352.00</string> + <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSArray" key="IBDocument.PluginDependencies"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </object> + <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBProxyObject" id="372490531"> + <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> + </object> + <object class="IBProxyObject" id="711762367"> + <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> + </object> + <object class="IBUITableView" id="219159568"> + <nil key="NSNextResponder"/> + <int key="NSvFlags">274</int> + <string key="NSFrameSize">{320, 480}</string> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClipsSubviews">YES</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <bool key="IBUIBouncesZoom">NO</bool> + <int key="IBUIStyle">1</int> + <int key="IBUISeparatorStyle">1</int> + <int key="IBUISectionIndexMinimumDisplayRowCount">0</int> + <bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool> + <float key="IBUIRowHeight">4.400000e+01</float> + <float key="IBUISectionHeaderHeight">2.700000e+01</float> + <float key="IBUISectionFooterHeight">2.700000e+01</float> + </object> + </object> + <object class="IBObjectContainer" key="IBDocument.Objects"> + <object class="NSMutableArray" key="connectionRecords"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">delegate</string> + <reference key="source" ref="219159568"/> + <reference key="destination" ref="372490531"/> + </object> + <int key="connectionID">8</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">dataSource</string> + <reference key="source" ref="219159568"/> + <reference key="destination" ref="372490531"/> + </object> + <int key="connectionID">9</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">view</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="219159568"/> + </object> + <int key="connectionID">10</int> + </object> + </object> + <object class="IBMutableOrderedSet" key="objectRecords"> + <object class="NSArray" key="orderedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBObjectRecord"> + <int key="objectID">0</int> + <object class="NSArray" key="object" id="360949347"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <reference key="children" ref="1000"/> + <nil key="parent"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-1</int> + <reference key="object" ref="372490531"/> + <reference key="parent" ref="360949347"/> + <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-2</int> + <reference key="object" ref="711762367"/> + <reference key="parent" ref="360949347"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">3</int> + <reference key="object" ref="219159568"/> + <reference key="parent" ref="360949347"/> + </object> + </object> + </object> + <object class="NSMutableDictionary" key="flattenedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>-1.CustomClassName</string> + <string>-2.CustomClassName</string> + <string>3.IBPluginDependency</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>EditSubjectViewController</string> + <string>UIResponder</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </object> + </object> + <object class="NSMutableDictionary" key="unlocalizedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="activeLocalization"/> + <object class="NSMutableDictionary" key="localizations"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="sourceID"/> + <int key="maxID">10</int> + </object> + <object class="IBClassDescriber" key="IBDocument.Classes"> + <object class="NSMutableArray" key="referencedPartialClassDescriptions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">EditSubjectViewController</string> + <string key="superclassName">UIViewController</string> + <object class="NSMutableDictionary" key="actions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>cancel:</string> + <string>save:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>id</string> + <string>id</string> + </object> + </object> + <object class="NSMutableDictionary" key="outlets"> + <string key="NS.key.0">summaryTextField</string> + <string key="NS.object.0">UITextField</string> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Classes/EditSubjectViewController.h</string> + </object> + </object> + </object> + </object> + <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.LastKnownRelativeProjectPath">FixMyStreet.xcodeproj</string> + <int key="IBDocument.defaultPropertyAccessControl">3</int> + </data> +</archive> diff --git a/iphone/FixMyStreet/FixMyStreet.xcodeproj/matthew.mode1v3 b/iphone/FixMyStreet/FixMyStreet.xcodeproj/matthew.mode1v3 new file mode 100644 index 000000000..eb200d715 --- /dev/null +++ b/iphone/FixMyStreet/FixMyStreet.xcodeproj/matthew.mode1v3 @@ -0,0 +1,1456 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActivePerspectiveName</key> + <string>Project</string> + <key>AllowedModules</key> + <array> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXSmartGroupTreeModule</string> + <key>Name</key> + <string>Groups and Files Outline View</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Name</key> + <string>Editor</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>XCTaskListModule</string> + <key>Name</key> + <string>Task List</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>XCDetailModule</string> + <key>Name</key> + <string>File and Smart Group Detail Viewer</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>1</string> + <key>Module</key> + <string>PBXBuildResultsModule</string> + <key>Name</key> + <string>Detailed Build Results Viewer</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>1</string> + <key>Module</key> + <string>PBXProjectFindModule</string> + <key>Name</key> + <string>Project Batch Find Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>XCProjectFormatConflictsModule</string> + <key>Name</key> + <string>Project Format Conflicts List</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXBookmarksModule</string> + <key>Name</key> + <string>Bookmarks Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXClassBrowserModule</string> + <key>Name</key> + <string>Class Browser</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXCVSModule</string> + <key>Name</key> + <string>Source Code Control Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXDebugBreakpointsModule</string> + <key>Name</key> + <string>Debug Breakpoints Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>XCDockableInspector</string> + <key>Name</key> + <string>Inspector</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXOpenQuicklyModule</string> + <key>Name</key> + <string>Open Quickly Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>1</string> + <key>Module</key> + <string>PBXDebugSessionModule</string> + <key>Name</key> + <string>Debugger</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>1</string> + <key>Module</key> + <string>PBXDebugCLIModule</string> + <key>Name</key> + <string>Debug Console</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>XCSnapshotModule</string> + <key>Name</key> + <string>Snapshots Tool</string> + </dict> + </array> + <key>BundlePath</key> + <string>/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources</string> + <key>Description</key> + <string>DefaultDescriptionKey</string> + <key>DockingSystemVisible</key> + <false/> + <key>Extension</key> + <string>mode1v3</string> + <key>FavBarConfig</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>3477106E0E8BD7BA0051DFFD</string> + <key>XCBarModuleItemNames</key> + <dict/> + <key>XCBarModuleItems</key> + <array/> + </dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>com.apple.perspectives.project.mode1v3</string> + <key>MajorVersion</key> + <integer>33</integer> + <key>MinorVersion</key> + <integer>0</integer> + <key>Name</key> + <string>Default</string> + <key>Notifications</key> + <array/> + <key>OpenEditors</key> + <array/> + <key>PerspectiveWidths</key> + <array> + <integer>-1</integer> + <integer>-1</integer> + </array> + <key>Perspectives</key> + <array> + <dict> + <key>ChosenToolbarItems</key> + <array> + <string>active-combo-popup</string> + <string>action</string> + <string>NSToolbarFlexibleSpaceItem</string> + <string>build-and-go</string> + <string>com.apple.ide.PBXToolbarStopButton</string> + <string>get-info</string> + <string>NSToolbarFlexibleSpaceItem</string> + <string>com.apple.pbx.toolbar.searchfield</string> + </array> + <key>ControllerClassBaseName</key> + <string></string> + <key>IconName</key> + <string>WindowOfProjectWithEditor</string> + <key>Identifier</key> + <string>perspective.project</string> + <key>IsVertical</key> + <false/> + <key>Layout</key> + <array> + <dict> + <key>BecomeActive</key> + <true/> + <key>ContentConfiguration</key> + <dict> + <key>PBXBottomSmartGroupGIDs</key> + <array> + <string>1C37FBAC04509CD000000102</string> + <string>1C37FAAC04509CD000000102</string> + <string>1C08E77C0454961000C914BD</string> + <string>1C37FABC05509CD000000102</string> + <string>1C37FABC05539CD112110102</string> + <string>E2644B35053B69B200211256</string> + <string>1C37FABC04509CD000100104</string> + <string>1CC0EA4004350EF90044410B</string> + <string>1CC0EA4004350EF90041110B</string> + </array> + <key>PBXProjectModuleGUID</key> + <string>1CE0B1FE06471DED0097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>Files</string> + <key>PBXProjectStructureProvided</key> + <string>yes</string> + <key>PBXSmartGroupTreeModuleColumnData</key> + <dict> + <key>PBXSmartGroupTreeModuleColumnWidthsKey</key> + <array> + <real>22</real> + <real>221</real> + </array> + <key>PBXSmartGroupTreeModuleColumnsKey_v4</key> + <array> + <string>SCMStatusColumn</string> + <string>MainColumn</string> + </array> + </dict> + <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key> + <dict> + <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key> + <array> + <string>29B97314FDCFA39411CA2CEA</string> + <string>080E96DDFE201D6D7F000001</string> + <string>342F98AD0E951731006935E9</string> + <string>29B97317FDCFA39411CA2CEA</string> + <string>1C37FABC05509CD000000102</string> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> + <array> + <array> + <integer>3</integer> + <integer>2</integer> + <integer>0</integer> + </array> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> + <string>{{0, 0}, {243, 953}}</string> + </dict> + <key>PBXTopSmartGroupGIDs</key> + <array/> + <key>XCIncludePerspectivesSwitch</key> + <true/> + <key>XCSharingToken</key> + <string>com.apple.Xcode.GFSharingToken</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {260, 971}}</string> + <key>GroupTreeTableConfiguration</key> + <array> + <string>SCMStatusColumn</string> + <real>22</real> + <string>MainColumn</string> + <real>221</real> + </array> + <key>RubberWindowFrame</key> + <string>1 166 1084 1012 0 0 1920 1178 </string> + </dict> + <key>Module</key> + <string>PBXSmartGroupTreeModule</string> + <key>Proportion</key> + <string>260pt</string> + </dict> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CE0B20306471E060097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>MyCLController.h</string> + <key>PBXSplitModuleInNavigatorKey</key> + <dict> + <key>Split0</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CE0B20406471E060097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>MyCLController.h</string> + <key>_historyCapacity</key> + <integer>0</integer> + <key>bookmark</key> + <string>34F133E90E952EE000F88459</string> + <key>history</key> + <array> + <string>347A03380E93E86100D716CB</string> + <string>34EF51C50E93EF9200CCD166</string> + <string>342F98C90E951918006935E9</string> + <string>342F98CA0E951918006935E9</string> + <string>342F98CB0E951918006935E9</string> + <string>342F98CC0E951918006935E9</string> + <string>342F996A0E952965006935E9</string> + <string>342F99710E952965006935E9</string> + <string>342F99BA0E952A4C006935E9</string> + <string>342F99C30E952C29006935E9</string> + <string>342F99C40E952C29006935E9</string> + <string>342F99C50E952C29006935E9</string> + <string>342F99C60E952C29006935E9</string> + <string>342F99C70E952C29006935E9</string> + <string>342F99C80E952C29006935E9</string> + <string>342F99C90E952C29006935E9</string> + <string>342F99DE0E952C84006935E9</string> + <string>342F99DF0E952C84006935E9</string> + <string>34F133E80E952EE000F88459</string> + </array> + <key>prevStack</key> + <array> + <string>347A02240E93D17400D716CB</string> + <string>347A033B0E93E86100D716CB</string> + <string>347A033C0E93E86100D716CB</string> + <string>34EF51840E93E8B500CCD166</string> + <string>34EF51850E93E8B500CCD166</string> + <string>34EF51CF0E93F0C400CCD166</string> + <string>34EF51D00E93F0C400CCD166</string> + <string>34EF52120E93F56600CCD166</string> + <string>34A8D8250E93FF1000136079</string> + <string>34A8D8270E93FF1000136079</string> + <string>34A8D8410E94013600136079</string> + <string>34A8D8420E94013600136079</string> + <string>34A8D8430E94013600136079</string> + <string>34A8D8450E94013600136079</string> + <string>34A8D9220E94224100136079</string> + <string>342F988B0E94FC40006935E9</string> + <string>342F98CD0E951918006935E9</string> + <string>342F99CD0E952C29006935E9</string> + <string>342F99CE0E952C29006935E9</string> + </array> + </dict> + <key>SplitCount</key> + <string>1</string> + </dict> + <key>StatusBarVisibility</key> + <true/> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {819, 793}}</string> + <key>RubberWindowFrame</key> + <string>1 166 1084 1012 0 0 1920 1178 </string> + </dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>793pt</string> + </dict> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CE0B20506471E060097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>Detail</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 798}, {819, 173}}</string> + <key>RubberWindowFrame</key> + <string>1 166 1084 1012 0 0 1920 1178 </string> + </dict> + <key>Module</key> + <string>XCDetailModule</string> + <key>Proportion</key> + <string>173pt</string> + </dict> + </array> + <key>Proportion</key> + <string>819pt</string> + </dict> + </array> + <key>Name</key> + <string>Project</string> + <key>ServiceClasses</key> + <array> + <string>XCModuleDock</string> + <string>PBXSmartGroupTreeModule</string> + <string>XCModuleDock</string> + <string>PBXNavigatorGroup</string> + <string>XCDetailModule</string> + </array> + <key>TableOfContents</key> + <array> + <string>34F133EA0E952EE000F88459</string> + <string>1CE0B1FE06471DED0097A5F4</string> + <string>34F133EB0E952EE000F88459</string> + <string>1CE0B20306471E060097A5F4</string> + <string>1CE0B20506471E060097A5F4</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.defaultV3</string> + </dict> + <dict> + <key>ControllerClassBaseName</key> + <string></string> + <key>IconName</key> + <string>WindowOfProject</string> + <key>Identifier</key> + <string>perspective.morph</string> + <key>IsVertical</key> + <integer>0</integer> + <key>Layout</key> + <array> + <dict> + <key>BecomeActive</key> + <integer>1</integer> + <key>ContentConfiguration</key> + <dict> + <key>PBXBottomSmartGroupGIDs</key> + <array> + <string>1C37FBAC04509CD000000102</string> + <string>1C37FAAC04509CD000000102</string> + <string>1C08E77C0454961000C914BD</string> + <string>1C37FABC05509CD000000102</string> + <string>1C37FABC05539CD112110102</string> + <string>E2644B35053B69B200211256</string> + <string>1C37FABC04509CD000100104</string> + <string>1CC0EA4004350EF90044410B</string> + <string>1CC0EA4004350EF90041110B</string> + </array> + <key>PBXProjectModuleGUID</key> + <string>11E0B1FE06471DED0097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>Files</string> + <key>PBXProjectStructureProvided</key> + <string>yes</string> + <key>PBXSmartGroupTreeModuleColumnData</key> + <dict> + <key>PBXSmartGroupTreeModuleColumnWidthsKey</key> + <array> + <real>186</real> + </array> + <key>PBXSmartGroupTreeModuleColumnsKey_v4</key> + <array> + <string>MainColumn</string> + </array> + </dict> + <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key> + <dict> + <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key> + <array> + <string>29B97314FDCFA39411CA2CEA</string> + <string>1C37FABC05509CD000000102</string> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> + <array> + <array> + <integer>0</integer> + </array> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> + <string>{{0, 0}, {186, 337}}</string> + </dict> + <key>PBXTopSmartGroupGIDs</key> + <array/> + <key>XCIncludePerspectivesSwitch</key> + <integer>1</integer> + <key>XCSharingToken</key> + <string>com.apple.Xcode.GFSharingToken</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {203, 355}}</string> + <key>GroupTreeTableConfiguration</key> + <array> + <string>MainColumn</string> + <real>186</real> + </array> + <key>RubberWindowFrame</key> + <string>373 269 690 397 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>PBXSmartGroupTreeModule</string> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Name</key> + <string>Morph</string> + <key>PreferredWidth</key> + <integer>300</integer> + <key>ServiceClasses</key> + <array> + <string>XCModuleDock</string> + <string>PBXSmartGroupTreeModule</string> + </array> + <key>TableOfContents</key> + <array> + <string>11E0B1FE06471DED0097A5F4</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.default.shortV3</string> + </dict> + </array> + <key>PerspectivesBarVisible</key> + <false/> + <key>ShelfIsVisible</key> + <false/> + <key>SourceDescription</key> + <string>file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string> + <key>StatusbarIsVisible</key> + <true/> + <key>TimeStamp</key> + <real>0.0</real> + <key>ToolbarDisplayMode</key> + <integer>1</integer> + <key>ToolbarIsVisible</key> + <true/> + <key>ToolbarSizeMode</key> + <integer>1</integer> + <key>Type</key> + <string>Perspectives</string> + <key>UpdateMessage</key> + <string>The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'?</string> + <key>WindowJustification</key> + <integer>5</integer> + <key>WindowOrderList</key> + <array> + <string>342F995D0E9526F4006935E9</string> + <string>/Users/matthew/Projects/mySociety/iPhone/FixMyStreet/FixMyStreet.xcodeproj</string> + </array> + <key>WindowString</key> + <string>1 166 1084 1012 0 0 1920 1178 </string> + <key>WindowToolsV3</key> + <array> + <dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>windowTool.build</string> + <key>IsVertical</key> + <true/> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CD0528F0623707200166675</string> + <key>PBXProjectModuleLabel</key> + <string></string> + <key>StatusBarVisibility</key> + <true/> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {500, 136}}</string> + <key>RubberWindowFrame</key> + <string>1224 247 500 500 0 0 1920 1178 </string> + </dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>136pt</string> + </dict> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>XCMainBuildResultsModuleGUID</string> + <key>PBXProjectModuleLabel</key> + <string>Build</string> + <key>XCBuildResultsTrigger_Collapse</key> + <integer>1021</integer> + <key>XCBuildResultsTrigger_Open</key> + <integer>1011</integer> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 141}, {500, 318}}</string> + <key>RubberWindowFrame</key> + <string>1224 247 500 500 0 0 1920 1178 </string> + </dict> + <key>Module</key> + <string>PBXBuildResultsModule</string> + <key>Proportion</key> + <string>318pt</string> + </dict> + </array> + <key>Proportion</key> + <string>459pt</string> + </dict> + </array> + <key>Name</key> + <string>Build Results</string> + <key>ServiceClasses</key> + <array> + <string>PBXBuildResultsModule</string> + </array> + <key>StatusbarIsVisible</key> + <true/> + <key>TableOfContents</key> + <array> + <string>3477106F0E8BD7BA0051DFFD</string> + <string>34F133DA0E952E0F00F88459</string> + <string>1CD0528F0623707200166675</string> + <string>XCMainBuildResultsModuleGUID</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.buildV3</string> + <key>WindowString</key> + <string>1224 247 500 500 0 0 1920 1178 </string> + <key>WindowToolGUID</key> + <string>3477106F0E8BD7BA0051DFFD</string> + <key>WindowToolIsVisible</key> + <false/> + </dict> + <dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>windowTool.debugger</string> + <key>IsVertical</key> + <true/> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>Debugger</key> + <dict> + <key>HorizontalSplitView</key> + <dict> + <key>_collapsingFrameDimension</key> + <real>0.0</real> + <key>_indexOfCollapsedView</key> + <integer>0</integer> + <key>_percentageOfCollapsedView</key> + <real>0.0</real> + <key>isCollapsed</key> + <string>yes</string> + <key>sizes</key> + <array> + <string>{{0, 0}, {422, 302}}</string> + <string>{{422, 0}, {508, 302}}</string> + </array> + </dict> + <key>VerticalSplitView</key> + <dict> + <key>_collapsingFrameDimension</key> + <real>0.0</real> + <key>_indexOfCollapsedView</key> + <integer>0</integer> + <key>_percentageOfCollapsedView</key> + <real>0.0</real> + <key>isCollapsed</key> + <string>yes</string> + <key>sizes</key> + <array> + <string>{{0, 0}, {930, 302}}</string> + <string>{{0, 302}, {930, 265}}</string> + </array> + </dict> + </dict> + <key>LauncherConfigVersion</key> + <string>8</string> + <key>PBXProjectModuleGUID</key> + <string>1C162984064C10D400B95A72</string> + <key>PBXProjectModuleLabel</key> + <string>Debug - GLUTExamples (Underwater)</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>DebugConsoleVisible</key> + <string>None</string> + <key>DebugConsoleWindowFrame</key> + <string>{{200, 200}, {500, 300}}</string> + <key>DebugSTDIOWindowFrame</key> + <string>{{200, 200}, {500, 300}}</string> + <key>Frame</key> + <string>{{0, 0}, {930, 567}}</string> + <key>PBXDebugSessionStackFrameViewKey</key> + <dict> + <key>DebugVariablesTableConfiguration</key> + <array> + <string>Name</string> + <real>120</real> + <string>Value</string> + <real>85</real> + <string>Summary</string> + <real>278</real> + </array> + <key>Frame</key> + <string>{{422, 0}, {508, 302}}</string> + <key>RubberWindowFrame</key> + <string>442 313 930 608 0 0 1920 1178 </string> + </dict> + <key>RubberWindowFrame</key> + <string>442 313 930 608 0 0 1920 1178 </string> + </dict> + <key>Module</key> + <string>PBXDebugSessionModule</string> + <key>Proportion</key> + <string>567pt</string> + </dict> + </array> + <key>Proportion</key> + <string>567pt</string> + </dict> + </array> + <key>Name</key> + <string>Debugger</string> + <key>ServiceClasses</key> + <array> + <string>PBXDebugSessionModule</string> + </array> + <key>StatusbarIsVisible</key> + <true/> + <key>TableOfContents</key> + <array> + <string>1CD10A99069EF8BA00B06720</string> + <string>34F133DB0E952E0F00F88459</string> + <string>1C162984064C10D400B95A72</string> + <string>34F133DC0E952E0F00F88459</string> + <string>34F133DD0E952E0F00F88459</string> + <string>34F133DE0E952E0F00F88459</string> + <string>34F133DF0E952E0F00F88459</string> + <string>34F133E00E952E0F00F88459</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.debugV3</string> + <key>WindowString</key> + <string>442 313 930 608 0 0 1920 1178 </string> + <key>WindowToolGUID</key> + <string>1CD10A99069EF8BA00B06720</string> + <key>WindowToolIsVisible</key> + <false/> + </dict> + <dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>windowTool.find</string> + <key>IsVertical</key> + <true/> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CDD528C0622207200134675</string> + <key>PBXProjectModuleLabel</key> + <string></string> + <key>StatusBarVisibility</key> + <true/> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {781, 212}}</string> + <key>RubberWindowFrame</key> + <string>881 294 781 470 0 0 1920 1178 </string> + </dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>781pt</string> + </dict> + </array> + <key>Proportion</key> + <string>212pt</string> + </dict> + <dict> + <key>BecomeActive</key> + <true/> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CD0528E0623707200166675</string> + <key>PBXProjectModuleLabel</key> + <string>Project Find</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 217}, {781, 212}}</string> + <key>RubberWindowFrame</key> + <string>881 294 781 470 0 0 1920 1178 </string> + </dict> + <key>Module</key> + <string>PBXProjectFindModule</string> + <key>Proportion</key> + <string>212pt</string> + </dict> + </array> + <key>Proportion</key> + <string>429pt</string> + </dict> + </array> + <key>Name</key> + <string>Project Find</string> + <key>ServiceClasses</key> + <array> + <string>PBXProjectFindModule</string> + </array> + <key>StatusbarIsVisible</key> + <true/> + <key>TableOfContents</key> + <array> + <string>1C530D57069F1CE1000CFCEE</string> + <string>342F99670E952880006935E9</string> + <string>342F99680E952880006935E9</string> + <string>1CDD528C0622207200134675</string> + <string>1CD0528E0623707200166675</string> + </array> + <key>WindowString</key> + <string>881 294 781 470 0 0 1920 1178 </string> + <key>WindowToolGUID</key> + <string>1C530D57069F1CE1000CFCEE</string> + <key>WindowToolIsVisible</key> + <false/> + </dict> + <dict> + <key>Identifier</key> + <string>MENUSEPARATOR</string> + </dict> + <dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>windowTool.debuggerConsole</string> + <key>IsVertical</key> + <true/> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1C78EAAC065D492600B07095</string> + <key>PBXProjectModuleLabel</key> + <string>Debugger Console</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {650, 209}}</string> + <key>RubberWindowFrame</key> + <string>57 749 650 250 0 0 1920 1178 </string> + </dict> + <key>Module</key> + <string>PBXDebugCLIModule</string> + <key>Proportion</key> + <string>209pt</string> + </dict> + </array> + <key>Proportion</key> + <string>209pt</string> + </dict> + </array> + <key>Name</key> + <string>Debugger Console</string> + <key>ServiceClasses</key> + <array> + <string>PBXDebugCLIModule</string> + </array> + <key>StatusbarIsVisible</key> + <true/> + <key>TableOfContents</key> + <array> + <string>1C78EAAD065D492600B07095</string> + <string>342F98390E94D849006935E9</string> + <string>1C78EAAC065D492600B07095</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.consoleV3</string> + <key>WindowString</key> + <string>57 749 650 250 0 0 1920 1178 </string> + <key>WindowToolGUID</key> + <string>1C78EAAD065D492600B07095</string> + <key>WindowToolIsVisible</key> + <false/> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.snapshots</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>Module</key> + <string>XCSnapshotModule</string> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Name</key> + <string>Snapshots</string> + <key>ServiceClasses</key> + <array> + <string>XCSnapshotModule</string> + </array> + <key>StatusbarIsVisible</key> + <string>Yes</string> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.snapshots</string> + <key>WindowString</key> + <string>315 824 300 550 0 0 1440 878 </string> + <key>WindowToolIsVisible</key> + <string>Yes</string> + </dict> + <dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>windowTool.scm</string> + <key>IsVertical</key> + <true/> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1C78EAB2065D492600B07095</string> + <key>PBXProjectModuleLabel</key> + <string></string> + <key>StatusBarVisibility</key> + <true/> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {582, 0}}</string> + <key>RubberWindowFrame</key> + <string>515 356 582 509 0 0 1920 1178 </string> + </dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>0pt</string> + </dict> + <dict> + <key>BecomeActive</key> + <true/> + <key>ContentConfiguration</key> + <dict> + <key>PBXCVSModuleFilterTypeKey</key> + <integer>1030</integer> + <key>PBXCVSModuleTreeModuleColumnData</key> + <dict> + <key>PBXCVSModuleTreeModuleColumnWidthsKey</key> + <array> + <real>166</real> + <real>56</real> + <real>63</real> + <real>60</real> + <real>63</real> + <real>139</real> + </array> + <key>PBXCVSModuleTreeModuleColumnsKey</key> + <array> + <string>Name</string> + <string>Status</string> + <string>Update</string> + <string>Revision</string> + <string>Author</string> + <string>Date</string> + </array> + </dict> + <key>PBXProjectModuleGUID</key> + <string>1CD052920623707200166675</string> + <key>PBXProjectModuleLabel</key> + <string>SCM Results</string> + <key>SCMActivityViewerShowingDefaultKey</key> + <string>{{0, 385}, {582, 78}}</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 5}, {582, 463}}</string> + <key>RubberWindowFrame</key> + <string>515 356 582 509 0 0 1920 1178 </string> + </dict> + <key>Module</key> + <string>PBXCVSModule</string> + <key>Proportion</key> + <string>463pt</string> + </dict> + </array> + <key>Proportion</key> + <string>468pt</string> + </dict> + </array> + <key>Name</key> + <string>SCM</string> + <key>ServiceClasses</key> + <array> + <string>PBXCVSModule</string> + </array> + <key>StatusbarIsVisible</key> + <true/> + <key>TableOfContents</key> + <array> + <string>342F995D0E9526F4006935E9</string> + <string>34F133EC0E952EE000F88459</string> + <string>1C78EAB2065D492600B07095</string> + <string>1CD052920623707200166675</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.scm</string> + <key>WindowString</key> + <string>515 356 582 509 0 0 1920 1178 </string> + <key>WindowToolGUID</key> + <string>342F995D0E9526F4006935E9</string> + <key>WindowToolIsVisible</key> + <true/> + </dict> + <dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>windowTool.breakpoints</string> + <key>IsVertical</key> + <false/> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>BecomeActive</key> + <true/> + <key>ContentConfiguration</key> + <dict> + <key>PBXBottomSmartGroupGIDs</key> + <array> + <string>1C77FABC04509CD000000102</string> + </array> + <key>PBXProjectModuleGUID</key> + <string>1CE0B1FE06471DED0097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>Files</string> + <key>PBXProjectStructureProvided</key> + <string>no</string> + <key>PBXSmartGroupTreeModuleColumnData</key> + <dict> + <key>PBXSmartGroupTreeModuleColumnWidthsKey</key> + <array> + <real>168</real> + </array> + <key>PBXSmartGroupTreeModuleColumnsKey_v4</key> + <array> + <string>MainColumn</string> + </array> + </dict> + <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key> + <dict> + <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key> + <array> + <string>1C77FABC04509CD000000102</string> + <string>1C3E0DCA080725EA00A55177</string> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> + <array> + <array> + <integer>0</integer> + </array> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> + <string>{{0, 0}, {168, 350}}</string> + </dict> + <key>PBXTopSmartGroupGIDs</key> + <array/> + <key>XCIncludePerspectivesSwitch</key> + <false/> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {185, 368}}</string> + <key>GroupTreeTableConfiguration</key> + <array> + <string>MainColumn</string> + <real>168</real> + </array> + <key>RubberWindowFrame</key> + <string>78 567 744 409 0 0 1920 1178 </string> + </dict> + <key>Module</key> + <string>PBXSmartGroupTreeModule</string> + <key>Proportion</key> + <string>185pt</string> + </dict> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CA1AED706398EBD00589147</string> + <key>PBXProjectModuleLabel</key> + <string>Detail</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{190, 0}, {554, 368}}</string> + <key>RubberWindowFrame</key> + <string>78 567 744 409 0 0 1920 1178 </string> + </dict> + <key>Module</key> + <string>XCDetailModule</string> + <key>Proportion</key> + <string>554pt</string> + </dict> + </array> + <key>Proportion</key> + <string>368pt</string> + </dict> + </array> + <key>MajorVersion</key> + <integer>3</integer> + <key>MinorVersion</key> + <integer>0</integer> + <key>Name</key> + <string>Breakpoints</string> + <key>ServiceClasses</key> + <array> + <string>PBXSmartGroupTreeModule</string> + <string>XCDetailModule</string> + </array> + <key>StatusbarIsVisible</key> + <true/> + <key>TableOfContents</key> + <array> + <string>347712F80E8D45720051DFFD</string> + <string>347712F90E8D45720051DFFD</string> + <string>1CE0B1FE06471DED0097A5F4</string> + <string>1CA1AED706398EBD00589147</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.breakpointsV3</string> + <key>WindowString</key> + <string>78 567 744 409 0 0 1920 1178 </string> + <key>WindowToolGUID</key> + <string>347712F80E8D45720051DFFD</string> + <key>WindowToolIsVisible</key> + <false/> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.debugAnimator</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Name</key> + <string>Debug Visualizer</string> + <key>ServiceClasses</key> + <array> + <string>PBXNavigatorGroup</string> + </array> + <key>StatusbarIsVisible</key> + <integer>1</integer> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.debugAnimatorV3</string> + <key>WindowString</key> + <string>100 100 700 500 0 0 1280 1002 </string> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.bookmarks</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>Module</key> + <string>PBXBookmarksModule</string> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Name</key> + <string>Bookmarks</string> + <key>ServiceClasses</key> + <array> + <string>PBXBookmarksModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>0</integer> + <key>WindowString</key> + <string>538 42 401 187 0 0 1280 1002 </string> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.projectFormatConflicts</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>Module</key> + <string>XCProjectFormatConflictsModule</string> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Name</key> + <string>Project Format Conflicts</string> + <key>ServiceClasses</key> + <array> + <string>XCProjectFormatConflictsModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>0</integer> + <key>WindowContentMinSize</key> + <string>450 300</string> + <key>WindowString</key> + <string>50 850 472 307 0 0 1440 877</string> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.classBrowser</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>BecomeActive</key> + <integer>1</integer> + <key>ContentConfiguration</key> + <dict> + <key>OptionsSetName</key> + <string>Hierarchy, all classes</string> + <key>PBXProjectModuleGUID</key> + <string>1CA6456E063B45B4001379D8</string> + <key>PBXProjectModuleLabel</key> + <string>Class Browser - NSObject</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>ClassesFrame</key> + <string>{{0, 0}, {374, 96}}</string> + <key>ClassesTreeTableConfiguration</key> + <array> + <string>PBXClassNameColumnIdentifier</string> + <real>208</real> + <string>PBXClassBookColumnIdentifier</string> + <real>22</real> + </array> + <key>Frame</key> + <string>{{0, 0}, {630, 331}}</string> + <key>MembersFrame</key> + <string>{{0, 105}, {374, 395}}</string> + <key>MembersTreeTableConfiguration</key> + <array> + <string>PBXMemberTypeIconColumnIdentifier</string> + <real>22</real> + <string>PBXMemberNameColumnIdentifier</string> + <real>216</real> + <string>PBXMemberTypeColumnIdentifier</string> + <real>97</real> + <string>PBXMemberBookColumnIdentifier</string> + <real>22</real> + </array> + <key>PBXModuleWindowStatusBarHidden2</key> + <integer>1</integer> + <key>RubberWindowFrame</key> + <string>385 179 630 352 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>PBXClassBrowserModule</string> + <key>Proportion</key> + <string>332pt</string> + </dict> + </array> + <key>Proportion</key> + <string>332pt</string> + </dict> + </array> + <key>Name</key> + <string>Class Browser</string> + <key>ServiceClasses</key> + <array> + <string>PBXClassBrowserModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>0</integer> + <key>TableOfContents</key> + <array> + <string>1C0AD2AF069F1E9B00FABCE6</string> + <string>1C0AD2B0069F1E9B00FABCE6</string> + <string>1CA6456E063B45B4001379D8</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.classbrowser</string> + <key>WindowString</key> + <string>385 179 630 352 0 0 1440 878 </string> + <key>WindowToolGUID</key> + <string>1C0AD2AF069F1E9B00FABCE6</string> + <key>WindowToolIsVisible</key> + <integer>0</integer> + </dict> + <dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>windowTool.refactoring</string> + <key>IncludeInToolsMenu</key> + <integer>0</integer> + <key>IsVertical</key> + <true/> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>349AFEA20E925A4D008E83C1</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {500, 315}}</string> + <key>RubberWindowFrame</key> + <string>580 421 500 356 0 0 1920 1178 </string> + </dict> + <key>Module</key> + <string>XCRefactoringModule</string> + <key>Proportion</key> + <string>315pt</string> + </dict> + </array> + <key>Proportion</key> + <string>315pt</string> + </dict> + </array> + <key>Name</key> + <string>Refactoring</string> + <key>ServiceClasses</key> + <array> + <string>XCRefactoringModule</string> + </array> + <key>StatusbarIsVisible</key> + <true/> + <key>TableOfContents</key> + <array> + <string>349AFEA30E925A4D008E83C1</string> + <string>349AFEA40E925A4D008E83C1</string> + <string>349AFEA20E925A4D008E83C1</string> + </array> + <key>WindowString</key> + <string>580 421 500 356 0 0 1920 1178 </string> + <key>WindowToolGUID</key> + <string>349AFEA30E925A4D008E83C1</string> + <key>WindowToolIsVisible</key> + <false/> + </dict> + </array> +</dict> +</plist> diff --git a/iphone/FixMyStreet/FixMyStreet.xcodeproj/matthew.pbxuser b/iphone/FixMyStreet/FixMyStreet.xcodeproj/matthew.pbxuser new file mode 100644 index 000000000..48d33c56a --- /dev/null +++ b/iphone/FixMyStreet/FixMyStreet.xcodeproj/matthew.pbxuser @@ -0,0 +1,696 @@ +// !$*UTF8*$! +{ + 1D3623240D0F684500981E51 /* FixMyStreetAppDelegate.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {758, 738}}"; + sepNavSelRange = "{402, 0}"; + sepNavVisRange = "{0, 773}"; + }; + }; + 1D3623250D0F684500981E51 /* FixMyStreetAppDelegate.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {758, 753}}"; + sepNavSelRange = "{1542, 0}"; + sepNavVisRange = "{0, 1573}"; + sepNavWindowFrame = "{{130, 510}, {750, 558}}"; + }; + }; + 1D6058900D05DD3D006BFB54 /* FixMyStreet */ = { + activeExec = 0; + executables = ( + 347710680E8BD7AA0051DFFD /* FixMyStreet */, + ); + }; + 29B97313FDCFA39411CA2CEA /* Project object */ = { + activeBuildConfigurationName = Debug; + activeExecutable = 347710680E8BD7AA0051DFFD /* FixMyStreet */; + activeSDKPreference = iphonesimulator2.1; + activeTarget = 1D6058900D05DD3D006BFB54 /* FixMyStreet */; + addToTargets = ( + 1D6058900D05DD3D006BFB54 /* FixMyStreet */, + ); + breakpoints = ( + ); + codeSenseManager = 347710790E8BD7BA0051DFFD /* Code sense */; + executables = ( + 347710680E8BD7AA0051DFFD /* FixMyStreet */, + ); + perUserDictionary = { + "PBXConfiguration.PBXBreakpointsDataSource.v1:1CA1AED706398EBD00589147" = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXBreakpointsDataSource_BreakpointID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 20, + 198, + 20, + 99, + 99, + 29, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXBreakpointsDataSource_ActionID, + PBXBreakpointsDataSource_TypeID, + PBXBreakpointsDataSource_BreakpointID, + PBXBreakpointsDataSource_UseID, + PBXBreakpointsDataSource_LocationID, + PBXBreakpointsDataSource_ConditionID, + PBXBreakpointsDataSource_IgnoreCountID, + PBXBreakpointsDataSource_ContinueID, + ); + }; + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 580, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 244657886; + PBXWorkspaceStateSaveDate = 244657886; + }; + perUserProjectItems = { + 342F988B0E94FC40006935E9 = 342F988B0E94FC40006935E9 /* PBXTextBookmark */; + 342F98C90E951918006935E9 = 342F98C90E951918006935E9 /* PBXTextBookmark */; + 342F98CA0E951918006935E9 = 342F98CA0E951918006935E9 /* PBXTextBookmark */; + 342F98CB0E951918006935E9 = 342F98CB0E951918006935E9 /* PBXTextBookmark */; + 342F98CC0E951918006935E9 = 342F98CC0E951918006935E9 /* PBXTextBookmark */; + 342F98CD0E951918006935E9 = 342F98CD0E951918006935E9 /* PlistBookmark */; + 342F996A0E952965006935E9 = 342F996A0E952965006935E9 /* PBXTextBookmark */; + 342F99710E952965006935E9 = 342F99710E952965006935E9 /* PBXTextBookmark */; + 342F99BA0E952A4C006935E9 = 342F99BA0E952A4C006935E9 /* PBXTextBookmark */; + 342F99C30E952C29006935E9 = 342F99C30E952C29006935E9 /* PBXTextBookmark */; + 342F99C40E952C29006935E9 = 342F99C40E952C29006935E9 /* PlistBookmark */; + 342F99C50E952C29006935E9 = 342F99C50E952C29006935E9 /* PBXBookmark */; + 342F99C60E952C29006935E9 = 342F99C60E952C29006935E9 /* PlistBookmark */; + 342F99C70E952C29006935E9 = 342F99C70E952C29006935E9 /* PBXTextBookmark */; + 342F99C80E952C29006935E9 = 342F99C80E952C29006935E9 /* PBXTextBookmark */; + 342F99C90E952C29006935E9 = 342F99C90E952C29006935E9 /* PBXTextBookmark */; + 342F99CD0E952C29006935E9 = 342F99CD0E952C29006935E9 /* PBXBookmark */; + 342F99CE0E952C29006935E9 = 342F99CE0E952C29006935E9 /* PlistBookmark */; + 342F99DE0E952C84006935E9 = 342F99DE0E952C84006935E9 /* PBXTextBookmark */; + 342F99DF0E952C84006935E9 = 342F99DF0E952C84006935E9 /* PBXTextBookmark */; + 347A02240E93D17400D716CB = 347A02240E93D17400D716CB /* PlistBookmark */; + 347A03380E93E86100D716CB = 347A03380E93E86100D716CB /* PBXTextBookmark */; + 347A033B0E93E86100D716CB = 347A033B0E93E86100D716CB /* PBXTextBookmark */; + 347A033C0E93E86100D716CB = 347A033C0E93E86100D716CB /* PBXTextBookmark */; + 34A8D8250E93FF1000136079 = 34A8D8250E93FF1000136079 /* PBXTextBookmark */; + 34A8D8270E93FF1000136079 = 34A8D8270E93FF1000136079 /* PBXTextBookmark */; + 34A8D8410E94013600136079 = 34A8D8410E94013600136079 /* PBXTextBookmark */; + 34A8D8420E94013600136079 = 34A8D8420E94013600136079 /* PBXTextBookmark */; + 34A8D8430E94013600136079 = 34A8D8430E94013600136079 /* PBXTextBookmark */; + 34A8D8450E94013600136079 = 34A8D8450E94013600136079 /* PBXTextBookmark */; + 34A8D9220E94224100136079 = 34A8D9220E94224100136079 /* PBXTextBookmark */; + 34EF51840E93E8B500CCD166 = 34EF51840E93E8B500CCD166 /* PBXTextBookmark */; + 34EF51850E93E8B500CCD166 = 34EF51850E93E8B500CCD166 /* PBXTextBookmark */; + 34EF51C50E93EF9200CCD166 = 34EF51C50E93EF9200CCD166 /* PBXTextBookmark */; + 34EF51CF0E93F0C400CCD166 = 34EF51CF0E93F0C400CCD166 /* PBXTextBookmark */; + 34EF51D00E93F0C400CCD166 = 34EF51D00E93F0C400CCD166 /* PBXTextBookmark */; + 34EF52120E93F56600CCD166 = 34EF52120E93F56600CCD166 /* PBXTextBookmark */; + 34F133D10E952DEF00F88459 = 34F133D10E952DEF00F88459 /* PBXTextBookmark */; + 34F133E10E952E1400F88459 = 34F133E10E952E1400F88459 /* PBXTextBookmark */; + 34F133E80E952EE000F88459 /* PBXTextBookmark */ = 34F133E80E952EE000F88459 /* PBXTextBookmark */; + 34F133E90E952EE000F88459 /* PBXTextBookmark */ = 34F133E90E952EE000F88459 /* PBXTextBookmark */; + }; + sourceControlManager = 347710780E8BD7BA0051DFFD /* Source Control */; + userBuildSettings = { + }; + }; + 29B97316FDCFA39411CA2CEA /* main.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {758, 761}}"; + sepNavSelRange = "{204, 0}"; + sepNavVisRange = "{0, 369}"; + }; + }; + 32CA4F630368D1EE00C91783 /* FixMyStreet_Prefix.pch */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {758, 761}}"; + sepNavSelRange = "{185, 0}"; + sepNavVisRange = "{0, 230}"; + }; + }; + 342F988B0E94FC40006935E9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 344E0D540E91440500483FD6 /* imageCell.h */; + name = "imageCell.h: 16"; + rLen = 0; + rLoc = 265; + rType = 0; + vrLen = 401; + vrLoc = 0; + }; + 342F98C90E951918006935E9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 344E0E5C0E918B1000483FD6 /* Report.m */; + name = "Report.m: 65"; + rLen = 0; + rLoc = 1163; + rType = 0; + vrLen = 994; + vrLoc = 158; + }; + 342F98CA0E951918006935E9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 344E0D550E91440500483FD6 /* imageCell.m */; + name = "imageCell.m: 19"; + rLen = 0; + rLoc = 408; + rType = 0; + vrLen = 1722; + vrLoc = 0; + }; + 342F98CB0E951918006935E9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 344E0E5B0E918B1000483FD6 /* Report.h */; + name = "Report.h: 8"; + rLen = 0; + rLoc = 146; + rType = 0; + vrLen = 237; + vrLoc = 0; + }; + 342F98CC0E951918006935E9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 344E0D540E91440500483FD6 /* imageCell.h */; + name = "imageCell.h: 16"; + rLen = 0; + rLoc = 265; + rType = 0; + vrLen = 401; + vrLoc = 0; + }; + 342F98CD0E951918006935E9 /* PlistBookmark */ = { + isa = PlistBookmark; + fRef = 342F98AE0E951731006935E9 /* Root.plist */; + fallbackIsa = PBXBookmark; + isK = 0; + kPath = ( + Title, + ); + name = /Users/matthew/Projects/mySociety/iPhone/FixMyStreet/Root.plist; + rLen = 0; + rLoc = 2147483647; + }; + 342F996A0E952965006935E9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 347A021C0E93CDA200D716CB /* MyCLController.m */; + name = "MyCLController.m: 96"; + rLen = 0; + rLoc = 4301; + rType = 0; + vrLen = 2600; + vrLoc = 0; + }; + 342F99710E952965006935E9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 1D3623240D0F684500981E51 /* FixMyStreetAppDelegate.h */; + name = "FixMyStreetAppDelegate.h: 17"; + rLen = 0; + rLoc = 402; + rType = 0; + vrLen = 773; + vrLoc = 0; + }; + 342F99BA0E952A4C006935E9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 3477137E0E8D54820051DFFD /* SubjectTableViewCell.h */; + name = "SubjectTableViewCell.h: 14"; + rLen = 0; + rLoc = 265; + rType = 0; + vrLen = 325; + vrLoc = 0; + }; + 342F99C30E952C29006935E9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 3477137F0E8D54820051DFFD /* SubjectTableViewCell.m */; + name = "SubjectTableViewCell.m: 13"; + rLen = 0; + rLoc = 233; + rType = 0; + vrLen = 1216; + vrLoc = 0; + }; + 342F99C40E952C29006935E9 /* PlistBookmark */ = { + isa = PlistBookmark; + fRef = 8D1107310486CEB800E47090 /* Info.plist */; + fallbackIsa = PBXBookmark; + isK = 0; + kPath = ( + ); + name = /Users/matthew/Projects/mySociety/iPhone/FixMyStreet/Info.plist; + rLen = 0; + rLoc = 2147483647; + }; + 342F99C50E952C29006935E9 /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 347710940E8BDA9B0051DFFD /* Icon.png */; + }; + 342F99C60E952C29006935E9 /* PlistBookmark */ = { + isa = PlistBookmark; + fRef = 342F98AE0E951731006935E9 /* Root.plist */; + fallbackIsa = PBXBookmark; + isK = 0; + kPath = ( + Title, + ); + name = /Users/matthew/Projects/mySociety/iPhone/FixMyStreet/Root.plist; + rLen = 0; + rLoc = 2147483647; + }; + 342F99C70E952C29006935E9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 349AFEAC0E925AAA008E83C1 /* EditSubjectViewController.h */; + name = "EditSubjectViewController.h: 9"; + rLen = 0; + rLoc = 189; + rType = 0; + vrLen = 392; + vrLoc = 0; + }; + 342F99C80E952C29006935E9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 349AFEAD0E925AAA008E83C1 /* EditSubjectViewController.m */; + name = "EditSubjectViewController.m: 59"; + rLen = 0; + rLoc = 1728; + rType = 0; + vrLen = 1569; + vrLoc = 166; + }; + 342F99C90E952C29006935E9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 1D3623250D0F684500981E51 /* FixMyStreetAppDelegate.m */; + name = "FixMyStreetAppDelegate.m: 44"; + rLen = 0; + rLoc = 1542; + rType = 0; + vrLen = 1573; + vrLoc = 0; + }; + 342F99CD0E952C29006935E9 /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 347710940E8BDA9B0051DFFD /* Icon.png */; + }; + 342F99CE0E952C29006935E9 /* PlistBookmark */ = { + isa = PlistBookmark; + fRef = 8D1107310486CEB800E47090 /* Info.plist */; + fallbackIsa = PBXBookmark; + isK = 0; + kPath = ( + ); + name = /Users/matthew/Projects/mySociety/iPhone/FixMyStreet/Info.plist; + rLen = 0; + rLoc = 2147483647; + }; + 342F99DE0E952C84006935E9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 347712730E8D367F0051DFFD /* InputTableViewController.m */; + name = "InputTableViewController.m: 178"; + rLen = 0; + rLoc = 6373; + rType = 0; + vrLen = 1952; + vrLoc = 5523; + }; + 342F99DF0E952C84006935E9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 347712720E8D367F0051DFFD /* InputTableViewController.h */; + name = "InputTableViewController.h: 18"; + rLen = 0; + rLoc = 529; + rType = 0; + vrLen = 1116; + vrLoc = 0; + }; + 344E0D540E91440500483FD6 /* imageCell.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {758, 761}}"; + sepNavSelRange = "{254, 0}"; + sepNavVisRange = "{0, 401}"; + sepNavWindowFrame = "{{15, 615}, {750, 558}}"; + }; + }; + 344E0D550E91440500483FD6 /* imageCell.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {758, 966}}"; + sepNavSelRange = "{397, 0}"; + sepNavVisRange = "{0, 1722}"; + sepNavWindowFrame = "{{38, 594}, {750, 558}}"; + }; + }; + 344E0E5B0E918B1000483FD6 /* Report.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {758, 761}}"; + sepNavSelRange = "{135, 0}"; + sepNavVisRange = "{0, 237}"; + }; + }; + 344E0E5C0E918B1000483FD6 /* Report.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 924}}"; + sepNavSelRange = "{219, 38}"; + sepNavVisRange = "{194, 174}"; + sepNavWindowFrame = "{{84, 552}, {750, 558}}"; + }; + }; + 347710680E8BD7AA0051DFFD /* FixMyStreet */ = { + isa = PBXExecutable; + activeArgIndices = ( + ); + argumentStrings = ( + ); + autoAttachOnCrash = 1; + breakpointsEnabled = 0; + configStateDict = { + }; + customDataFormattersEnabled = 1; + debuggerPlugin = GDBDebugging; + disassemblyDisplayState = 0; + dylibVariantSuffix = ""; + enableDebugStr = 1; + environmentEntries = ( + ); + executableSystemSymbolLevel = 0; + executableUserSymbolLevel = 0; + libgmallocEnabled = 0; + name = FixMyStreet; + savedGlobals = { + }; + sourceDirectories = ( + ); + variableFormatDictionary = { + }; + }; + 347710780E8BD7BA0051DFFD /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryName = mySociety; + }; + }; + 347710790E8BD7BA0051DFFD /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 347712720E8D367F0051DFFD /* InputTableViewController.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {876, 761}}"; + sepNavSelRange = "{529, 0}"; + sepNavVisRange = "{0, 1116}"; + sepNavWindowFrame = "{{153, 489}, {750, 558}}"; + }; + }; + 347712730E8D367F0051DFFD /* InputTableViewController.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {758, 3990}}"; + sepNavSelRange = "{6373, 0}"; + sepNavVisRange = "{5523, 1952}"; + sepNavWindowFrame = "{{61, 573}, {750, 558}}"; + }; + }; + 3477137E0E8D54820051DFFD /* SubjectTableViewCell.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {758, 761}}"; + sepNavSelRange = "{265, 0}"; + sepNavVisRange = "{0, 325}"; + }; + }; + 3477137F0E8D54820051DFFD /* SubjectTableViewCell.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {522, 532}}"; + sepNavSelRange = "{233, 23}"; + sepNavVisRange = "{161, 322}"; + }; + }; + 347A021B0E93CDA200D716CB /* MyCLController.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {758, 1036}}"; + sepNavSelRange = "{1599, 0}"; + sepNavVisRange = "{0, 2716}"; + }; + }; + 347A021C0E93CDA200D716CB /* MyCLController.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {990, 2926}}"; + sepNavSelRange = "{4301, 0}"; + sepNavVisRange = "{0, 2600}"; + }; + }; + 347A02240E93D17400D716CB /* PlistBookmark */ = { + isa = PlistBookmark; + fRef = 347A02250E93D17400D716CB; + fallbackIsa = PBXBookmark; + isK = 0; + kPath = ( + ); + rLen = 0; + rLoc = 2147483647; + }; + 347A02250E93D17400D716CB = { + isa = PBXFileReference; + lastKnownFileType = folder; + sourceTree = "<group>"; + }; + 347A03380E93E86100D716CB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 32CA4F630368D1EE00C91783 /* FixMyStreet_Prefix.pch */; + name = "FixMyStreet_Prefix.pch: 8"; + rLen = 0; + rLoc = 185; + rType = 0; + vrLen = 230; + vrLoc = 0; + }; + 347A033B0E93E86100D716CB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 32CA4F630368D1EE00C91783 /* FixMyStreet_Prefix.pch */; + name = "FixMyStreet_Prefix.pch: 8"; + rLen = 0; + rLoc = 185; + rType = 0; + vrLen = 230; + vrLoc = 0; + }; + 347A033C0E93E86100D716CB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 349AFEAC0E925AAA008E83C1 /* EditSubjectViewController.h */; + name = "EditSubjectViewController.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 253; + vrLoc = 0; + }; + 349AFEAC0E925AAA008E83C1 /* EditSubjectViewController.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {758, 738}}"; + sepNavSelRange = "{189, 0}"; + sepNavVisRange = "{0, 392}"; + sepNavWindowFrame = "{{15, 615}, {750, 558}}"; + }; + }; + 349AFEAD0E925AAA008E83C1 /* EditSubjectViewController.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {918, 1484}}"; + sepNavSelRange = "{1728, 0}"; + sepNavVisRange = "{166, 1569}"; + sepNavWindowFrame = "{{61, 573}, {750, 558}}"; + }; + }; + 34A8D8250E93FF1000136079 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 1D3623240D0F684500981E51 /* FixMyStreetAppDelegate.h */; + name = "FixMyStreetAppDelegate.h: 19"; + rLen = 0; + rLoc = 551; + rType = 0; + vrLen = 486; + vrLoc = 0; + }; + 34A8D8270E93FF1000136079 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 344E0D550E91440500483FD6 /* imageCell.m */; + name = "imageCell.m: 19"; + rLen = 0; + rLoc = 408; + rType = 0; + vrLen = 1894; + vrLoc = 189; + }; + 34A8D8410E94013600136079 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 344E0E5B0E918B1000483FD6 /* Report.h */; + name = "Report.h: 22"; + rLen = 0; + rLoc = 243; + rType = 0; + vrLen = 468; + vrLoc = 0; + }; + 34A8D8420E94013600136079 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 347A021B0E93CDA200D716CB /* MyCLController.h */; + name = "MyCLController.h: 75"; + rLen = 36; + rLoc = 3304; + rType = 0; + vrLen = 2020; + vrLoc = 1256; + }; + 34A8D8430E94013600136079 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 347A021C0E93CDA200D716CB /* MyCLController.m */; + name = "MyCLController.m: 58"; + rLen = 0; + rLoc = 2695; + rType = 0; + vrLen = 2335; + vrLoc = 1912; + }; + 34A8D8450E94013600136079 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 344E0E5C0E918B1000483FD6 /* Report.m */; + name = "Report.m: 17"; + rLen = 0; + rLoc = 285; + rType = 0; + vrLen = 273; + vrLoc = 0; + }; + 34A8D9220E94224100136079 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 1D3623250D0F684500981E51 /* FixMyStreetAppDelegate.m */; + name = "FixMyStreetAppDelegate.m: 22"; + rLen = 0; + rLoc = 1015; + rType = 0; + vrLen = 1156; + vrLoc = 0; + }; + 34EF51840E93E8B500CCD166 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 3477137E0E8D54820051DFFD /* SubjectTableViewCell.h */; + name = "subjectTableViewCell.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 237; + vrLoc = 0; + }; + 34EF51850E93E8B500CCD166 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 3477137F0E8D54820051DFFD /* SubjectTableViewCell.m */; + name = "subjectTableViewCell.m: 16"; + rLen = 446; + rLoc = 419; + rType = 0; + vrLen = 830; + vrLoc = 0; + }; + 34EF51C50E93EF9200CCD166 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 34EF51C60E93EF9200CCD166 /* UITableViewCell.h */; + name = "UITableViewCell.h: 101"; + rLen = 64; + rLoc = 4113; + rType = 0; + vrLen = 4605; + vrLoc = 2554; + }; + 34EF51C60E93EF9200CCD166 /* UITableViewCell.h */ = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = UITableViewCell.h; + path = /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableViewCell.h; + sourceTree = "<absolute>"; + }; + 34EF51CF0E93F0C400CCD166 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 349AFEAD0E925AAA008E83C1 /* EditSubjectViewController.m */; + name = "EditSubjectViewController.m: 48"; + rLen = 0; + rLoc = 1068; + rType = 0; + vrLen = 1883; + vrLoc = 514; + }; + 34EF51D00E93F0C400CCD166 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 347712730E8D367F0051DFFD /* InputTableViewController.m */; + name = "InputTableViewController.m: 57"; + rLen = 49; + rLoc = 1921; + rType = 0; + vrLen = 1956; + vrLoc = 281; + }; + 34EF52120E93F56600CCD166 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 347712720E8D367F0051DFFD /* InputTableViewController.h */; + name = "InputTableViewController.h: 35"; + rLen = 77; + rLoc = 1033; + rType = 0; + vrLen = 1213; + vrLoc = 0; + }; + 34F133D10E952DEF00F88459 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 347A021B0E93CDA200D716CB /* MyCLController.h */; + name = "MyCLController.h: 31"; + rLen = 0; + rLoc = 1599; + rType = 0; + vrLen = 2716; + vrLoc = 0; + }; + 34F133E10E952E1400F88459 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 347A021B0E93CDA200D716CB /* MyCLController.h */; + name = "MyCLController.h: 31"; + rLen = 0; + rLoc = 1599; + rType = 0; + vrLen = 2716; + vrLoc = 0; + }; + 34F133E80E952EE000F88459 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 347A021B0E93CDA200D716CB /* MyCLController.h */; + name = "MyCLController.h: 31"; + rLen = 0; + rLoc = 1599; + rType = 0; + vrLen = 2716; + vrLoc = 0; + }; + 34F133E90E952EE000F88459 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 347A021B0E93CDA200D716CB /* MyCLController.h */; + name = "MyCLController.h: 31"; + rLen = 0; + rLoc = 1599; + rType = 0; + vrLen = 2716; + vrLoc = 0; + }; +} diff --git a/iphone/FixMyStreet/FixMyStreet.xcodeproj/project.pbxproj b/iphone/FixMyStreet/FixMyStreet.xcodeproj/project.pbxproj new file mode 100755 index 000000000..5b2c1d66e --- /dev/null +++ b/iphone/FixMyStreet/FixMyStreet.xcodeproj/project.pbxproj @@ -0,0 +1,325 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 1D3623260D0F684500981E51 /* FixMyStreetAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* FixMyStreetAppDelegate.m */; }; + 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; + 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; + 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; + 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; + 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; }; + 344E0D560E91440500483FD6 /* imageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 344E0D550E91440500483FD6 /* imageCell.m */; }; + 344E0E5D0E918B1000483FD6 /* Report.m in Sources */ = {isa = PBXBuildFile; fileRef = 344E0E5C0E918B1000483FD6 /* Report.m */; }; + 347710950E8BDA9B0051DFFD /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 347710940E8BDA9B0051DFFD /* Icon.png */; }; + 347712740E8D367F0051DFFD /* InputTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 347712730E8D367F0051DFFD /* InputTableViewController.m */; }; + 347713800E8D54820051DFFD /* SubjectTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3477137F0E8D54820051DFFD /* SubjectTableViewCell.m */; }; + 347A01810E93B6A600D716CB /* EditSubjectView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 347A01800E93B6A600D716CB /* EditSubjectView.xib */; }; + 347A021D0E93CDA200D716CB /* MyCLController.m in Sources */ = {isa = PBXBuildFile; fileRef = 347A021C0E93CDA200D716CB /* MyCLController.m */; }; + 347A02770E93D2A800D716CB /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 347A02760E93D2A800D716CB /* CoreLocation.framework */; }; + 349A01770E928824008E83C1 /* MainViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 349A01760E928824008E83C1 /* MainViewController.xib */; }; + 349AFEAE0E925AAA008E83C1 /* EditSubjectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 349AFEAD0E925AAA008E83C1 /* EditSubjectViewController.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 1D3623240D0F684500981E51 /* FixMyStreetAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FixMyStreetAppDelegate.h; sourceTree = "<group>"; }; + 1D3623250D0F684500981E51 /* FixMyStreetAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FixMyStreetAppDelegate.m; sourceTree = "<group>"; wrapsLines = 1; }; + 1D6058910D05DD3D006BFB54 /* FixMyStreet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FixMyStreet.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; }; + 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; + 32CA4F630368D1EE00C91783 /* FixMyStreet_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FixMyStreet_Prefix.pch; sourceTree = "<group>"; }; + 342F98AE0E951731006935E9 /* Root.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Root.plist; sourceTree = "<group>"; }; + 344E0D540E91440500483FD6 /* imageCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = imageCell.h; path = Classes/imageCell.h; sourceTree = "<group>"; }; + 344E0D550E91440500483FD6 /* imageCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = imageCell.m; path = Classes/imageCell.m; sourceTree = "<group>"; wrapsLines = 1; }; + 344E0E5B0E918B1000483FD6 /* Report.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Report.h; path = Classes/Report.h; sourceTree = "<group>"; }; + 344E0E5C0E918B1000483FD6 /* Report.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Report.m; path = Classes/Report.m; sourceTree = "<group>"; }; + 347710940E8BDA9B0051DFFD /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; }; + 347712720E8D367F0051DFFD /* InputTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InputTableViewController.h; sourceTree = "<group>"; }; + 347712730E8D367F0051DFFD /* InputTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InputTableViewController.m; sourceTree = "<group>"; wrapsLines = 1; }; + 3477137E0E8D54820051DFFD /* SubjectTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SubjectTableViewCell.h; sourceTree = "<group>"; }; + 3477137F0E8D54820051DFFD /* SubjectTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SubjectTableViewCell.m; sourceTree = "<group>"; }; + 347A01800E93B6A600D716CB /* EditSubjectView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = EditSubjectView.xib; sourceTree = "<group>"; }; + 347A021B0E93CDA200D716CB /* MyCLController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MyCLController.h; path = ../MyCLController.h; sourceTree = "<group>"; }; + 347A021C0E93CDA200D716CB /* MyCLController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MyCLController.m; path = ../MyCLController.m; sourceTree = "<group>"; }; + 347A02760E93D2A800D716CB /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; + 349A01760E928824008E83C1 /* MainViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainViewController.xib; sourceTree = "<group>"; }; + 349AFEAC0E925AAA008E83C1 /* EditSubjectViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditSubjectViewController.h; sourceTree = "<group>"; }; + 349AFEAD0E925AAA008E83C1 /* EditSubjectViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EditSubjectViewController.m; sourceTree = "<group>"; }; + 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, + 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, + 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */, + 347A02770E93D2A800D716CB /* CoreLocation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 080E96DDFE201D6D7F000001 /* Classes */ = { + isa = PBXGroup; + children = ( + 347A021B0E93CDA200D716CB /* MyCLController.h */, + 347A021C0E93CDA200D716CB /* MyCLController.m */, + 347712720E8D367F0051DFFD /* InputTableViewController.h */, + 347712730E8D367F0051DFFD /* InputTableViewController.m */, + 1D3623240D0F684500981E51 /* FixMyStreetAppDelegate.h */, + 1D3623250D0F684500981E51 /* FixMyStreetAppDelegate.m */, + 3477137E0E8D54820051DFFD /* SubjectTableViewCell.h */, + 3477137F0E8D54820051DFFD /* SubjectTableViewCell.m */, + 349AFEAC0E925AAA008E83C1 /* EditSubjectViewController.h */, + 349AFEAD0E925AAA008E83C1 /* EditSubjectViewController.m */, + ); + path = Classes; + sourceTree = "<group>"; + }; + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 1D6058910D05DD3D006BFB54 /* FixMyStreet.app */, + ); + name = Products; + sourceTree = "<group>"; + }; + 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { + isa = PBXGroup; + children = ( + 342F98810E94E3DE006935E9 /* OldStuff */, + 080E96DDFE201D6D7F000001 /* Classes */, + 342F98AD0E951731006935E9 /* Settings */, + 29B97315FDCFA39411CA2CEA /* Other Sources */, + 29B97317FDCFA39411CA2CEA /* Resources */, + 29B97323FDCFA39411CA2CEA /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + ); + name = CustomTemplate; + sourceTree = "<group>"; + }; + 29B97315FDCFA39411CA2CEA /* Other Sources */ = { + isa = PBXGroup; + children = ( + 32CA4F630368D1EE00C91783 /* FixMyStreet_Prefix.pch */, + 29B97316FDCFA39411CA2CEA /* main.m */, + ); + name = "Other Sources"; + sourceTree = "<group>"; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + 347710940E8BDA9B0051DFFD /* Icon.png */, + 347A01800E93B6A600D716CB /* EditSubjectView.xib */, + 28AD733E0D9D9553002E5188 /* MainWindow.xib */, + 349A01760E928824008E83C1 /* MainViewController.xib */, + 8D1107310486CEB800E47090 /* Info.plist */, + ); + name = Resources; + sourceTree = "<group>"; + }; + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 347A02760E93D2A800D716CB /* CoreLocation.framework */, + 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, + 1D30AB110D05D00D00671497 /* Foundation.framework */, + 288765FC0DF74451002DB57D /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = "<group>"; + }; + 342F98810E94E3DE006935E9 /* OldStuff */ = { + isa = PBXGroup; + children = ( + 344E0E5C0E918B1000483FD6 /* Report.m */, + 344E0D550E91440500483FD6 /* imageCell.m */, + 344E0E5B0E918B1000483FD6 /* Report.h */, + 344E0D540E91440500483FD6 /* imageCell.h */, + ); + name = OldStuff; + sourceTree = "<group>"; + }; + 342F98AD0E951731006935E9 /* Settings */ = { + isa = PBXGroup; + children = ( + 342F98AE0E951731006935E9 /* Root.plist */, + ); + name = Settings; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 1D6058900D05DD3D006BFB54 /* FixMyStreet */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "FixMyStreet" */; + buildPhases = ( + 1D60588D0D05DD3D006BFB54 /* Resources */, + 1D60588E0D05DD3D006BFB54 /* Sources */, + 1D60588F0D05DD3D006BFB54 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = FixMyStreet; + productName = FixMyStreet; + productReference = 1D6058910D05DD3D006BFB54 /* FixMyStreet.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "FixMyStreet" */; + compatibilityVersion = "Xcode 3.1"; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + en, + ); + mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 1D6058900D05DD3D006BFB54 /* FixMyStreet */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 1D60588D0D05DD3D006BFB54 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */, + 347710950E8BDA9B0051DFFD /* Icon.png in Resources */, + 349A01770E928824008E83C1 /* MainViewController.xib in Resources */, + 347A01810E93B6A600D716CB /* EditSubjectView.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 1D60588E0D05DD3D006BFB54 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1D60589B0D05DD56006BFB54 /* main.m in Sources */, + 1D3623260D0F684500981E51 /* FixMyStreetAppDelegate.m in Sources */, + 347712740E8D367F0051DFFD /* InputTableViewController.m in Sources */, + 347713800E8D54820051DFFD /* SubjectTableViewCell.m in Sources */, + 344E0D560E91440500483FD6 /* imageCell.m in Sources */, + 344E0E5D0E918B1000483FD6 /* Report.m in Sources */, + 349AFEAE0E925AAA008E83C1 /* EditSubjectViewController.m in Sources */, + 347A021D0E93CDA200D716CB /* MyCLController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 1D6058940D05DD3E006BFB54 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)\"", + ); + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = FixMyStreet_Prefix.pch; + INFOPLIST_FILE = Info.plist; + PRODUCT_NAME = FixMyStreet; + }; + name = Debug; + }; + 1D6058950D05DD3E006BFB54 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)\"", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = FixMyStreet_Prefix.pch; + INFOPLIST_FILE = Info.plist; + PRODUCT_NAME = FixMyStreet; + }; + name = Release; + }; + C01FCF4F08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + ONLY_ACTIVE_ARCH = YES; + PREBINDING = NO; + SDKROOT = iphoneos2.1; + }; + name = Debug; + }; + C01FCF5008A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PREBINDING = NO; + SDKROOT = iphoneos2.1; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "FixMyStreet" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1D6058940D05DD3E006BFB54 /* Debug */, + 1D6058950D05DD3E006BFB54 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C01FCF4E08A954540054247B /* Build configuration list for PBXProject "FixMyStreet" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4F08A954540054247B /* Debug */, + C01FCF5008A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff --git a/iphone/FixMyStreet/FixMyStreet_Prefix.pch b/iphone/FixMyStreet/FixMyStreet_Prefix.pch new file mode 100644 index 000000000..aff82adce --- /dev/null +++ b/iphone/FixMyStreet/FixMyStreet_Prefix.pch @@ -0,0 +1,9 @@ +// +// Prefix header for all source files of the 'FixMyStreet' target in the 'FixMyStreet' project +// + +#ifdef __OBJC__ + #import <Foundation/Foundation.h> + #import <UIKit/UIKit.h> + #import <CoreLocation/CoreLocation.h> +#endif diff --git a/iphone/FixMyStreet/Icon.png b/iphone/FixMyStreet/Icon.png Binary files differnew file mode 100755 index 000000000..74da930dd --- /dev/null +++ b/iphone/FixMyStreet/Icon.png diff --git a/iphone/FixMyStreet/Info.plist b/iphone/FixMyStreet/Info.plist new file mode 100644 index 000000000..060794edd --- /dev/null +++ b/iphone/FixMyStreet/Info.plist @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>en</string> + <key>CFBundleDisplayName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIconFile</key> + <string></string> + <key>CFBundleIdentifier</key> + <string>com.mySociety.${PRODUCT_NAME:identifier}</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>LSRequiresIPhoneOS</key> + <true/> + <key>NSMainNibFile</key> + <string>MainWindow</string> +</dict> +</plist> diff --git a/iphone/FixMyStreet/MainViewController copy.xib b/iphone/FixMyStreet/MainViewController copy.xib new file mode 100644 index 000000000..480b7f6c6 --- /dev/null +++ b/iphone/FixMyStreet/MainViewController copy.xib @@ -0,0 +1,433 @@ +<?xml version="1.0" encoding="UTF-8"?> +<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.02"> + <data> + <int key="IBDocument.SystemTarget">528</int> + <string key="IBDocument.SystemVersion">9F33</string> + <string key="IBDocument.InterfaceBuilderVersion">672</string> + <string key="IBDocument.AppKitVersion">949.34</string> + <string key="IBDocument.HIToolboxVersion">352.00</string> + <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> + <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="16"/> + </object> + <object class="NSArray" key="IBDocument.PluginDependencies"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </object> + <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBProxyObject" id="372490531"> + <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> + </object> + <object class="IBProxyObject" id="711762367"> + <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> + </object> + <object class="IBUIView" id="191373211"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">292</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBUITableView" id="22920685"> + <reference key="NSNextResponder" ref="191373211"/> + <int key="NSvFlags">274</int> + <string key="NSFrame">{{0, -3}, {327, 483}}</string> + <reference key="NSSuperview" ref="191373211"/> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClipsSubviews">YES</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <bool key="IBUIBouncesZoom">NO</bool> + <int key="IBUIStyle">1</int> + <int key="IBUISeparatorStyle">1</int> + <int key="IBUISectionIndexMinimumDisplayRowCount">0</int> + <bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool> + <float key="IBUIRowHeight">4.400000e+01</float> + <float key="IBUISectionHeaderHeight">2.700000e+01</float> + <float key="IBUISectionFooterHeight">2.700000e+01</float> + </object> + <object class="IBUITableView" id="810055614"> + <reference key="NSNextResponder" ref="191373211"/> + <int key="NSvFlags">274</int> + <string key="NSFrame">{{0, 128}, {320, 352}}</string> + <reference key="NSSuperview" ref="191373211"/> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClipsSubviews">YES</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <bool key="IBUIBouncesZoom">NO</bool> + <int key="IBUIStyle">1</int> + <int key="IBUISeparatorStyle">1</int> + <int key="IBUISectionIndexMinimumDisplayRowCount">0</int> + <bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool> + <float key="IBUIRowHeight">4.400000e+01</float> + <float key="IBUISectionHeaderHeight">2.700000e+01</float> + <float key="IBUISectionFooterHeight">2.700000e+01</float> + </object> + <object class="IBUIView" id="691946431"> + <reference key="NSNextResponder" ref="191373211"/> + <int key="NSvFlags">292</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBUILabel" id="380571351"> + <reference key="NSNextResponder" ref="691946431"/> + <int key="NSvFlags">-2147483356</int> + <string key="NSFrame">{{0, 79}, {100, 21}}</string> + <reference key="NSSuperview" ref="691946431"/> + <object class="NSColor" key="IBUIBackgroundColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MAA</bytes> + </object> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClipsSubviews">YES</bool> + <float key="IBUIAlpha">5.000000e-01</float> + <bool key="IBUIUserInteractionEnabled">NO</bool> + <string key="IBUIText">Add photo</string> + <object class="NSColor" key="IBUITextColor" id="819630230"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MSAxIDEAA</bytes> + </object> + <nil key="IBUIHighlightedColor"/> + <int key="IBUIBaselineAdjustment">1</int> + <float key="IBUIMinimumFontSize">1.000000e+01</float> + <int key="IBUITextAlignment">1</int> + </object> + <object class="IBUIButton" id="612997257"> + <reference key="NSNextResponder" ref="691946431"/> + <int key="NSvFlags">292</int> + <string key="NSFrameSize">{100, 100}</string> + <reference key="NSSuperview" ref="691946431"/> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <int key="IBUIContentHorizontalAlignment">0</int> + <int key="IBUIContentVerticalAlignment">0</int> + <object class="NSFont" key="IBUIFont" id="415071891"> + <string key="NSName">Helvetica-Bold</string> + <double key="NSSize">1.500000e+01</double> + <int key="NSfFlags">16</int> + </object> + <int key="IBUIButtonType">1</int> + <string key="IBUIHighlightedTitle"/> + <string key="IBUIDisabledTitle"/> + <string key="IBUISelectedTitle"/> + <string key="IBUINormalTitle"/> + <reference key="IBUIHighlightedTitleColor" ref="819630230"/> + <object class="NSColor" key="IBUINormalTitleColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes> + </object> + </object> + <object class="IBUIImageView" id="614509932"> + <reference key="NSNextResponder" ref="691946431"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{-70, -14}, {240, 128}}</string> + <reference key="NSSuperview" ref="691946431"/> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <int key="IBUIContentMode">4</int> + <bool key="IBUIUserInteractionEnabled">NO</bool> + </object> + </object> + <string key="NSFrame">{{200, 20}, {100, 100}}</string> + <reference key="NSSuperview" ref="191373211"/> + <object class="NSColor" key="IBUIBackgroundColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + <object class="NSColorSpace" key="NSCustomColorSpace" id="440851013"> + <int key="NSID">2</int> + </object> + </object> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + </object> + <object class="IBUIButton" id="555835234"> + <reference key="NSNextResponder" ref="191373211"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{9, 20}, {100, 100}}</string> + <reference key="NSSuperview" ref="191373211"/> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <int key="IBUIContentHorizontalAlignment">0</int> + <reference key="IBUIFont" ref="415071891"/> + <int key="IBUIButtonType">1</int> + <string key="IBUIHighlightedTitle">Add photo</string> + <string key="IBUIDisabledTitle">Add photo</string> + <string key="IBUISelectedTitle">Add photo</string> + <string key="IBUINormalTitle">Add photo</string> + <reference key="IBUIHighlightedTitleColor" ref="819630230"/> + <object class="NSColor" key="IBUINormalTitleColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes> + </object> + <object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="806848119"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">Icon.png</string> + </object> + <reference key="IBUIDisabledBackgroundImage" ref="806848119"/> + <reference key="IBUISelectedBackgroundImage" ref="806848119"/> + <reference key="IBUINormalBackgroundImage" ref="806848119"/> + </object> + </object> + <string key="NSFrameSize">{320, 480}</string> + <reference key="NSSuperview"/> + <object class="NSColor" key="IBUIBackgroundColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + <reference key="NSCustomColorSpace" ref="440851013"/> + </object> + </object> + </object> + <object class="IBObjectContainer" key="IBDocument.Objects"> + <object class="NSMutableArray" key="connectionRecords"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">view</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="191373211"/> + </object> + <int key="connectionID">7</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">dataSource</string> + <reference key="source" ref="810055614"/> + <reference key="destination" ref="372490531"/> + </object> + <int key="connectionID">8</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">delegate</string> + <reference key="source" ref="810055614"/> + <reference key="destination" ref="372490531"/> + </object> + <int key="connectionID">9</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchEventConnection" key="connection"> + <string key="label">addPhoto:</string> + <reference key="source" ref="555835234"/> + <reference key="destination" ref="372490531"/> + <int key="IBEventType">7</int> + </object> + <int key="connectionID">10</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">addPhotoButton</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="555835234"/> + </object> + <int key="connectionID">12</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">fancyAddButton</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="691946431"/> + </object> + <int key="connectionID">17</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchEventConnection" key="connection"> + <string key="label">addPhoto:</string> + <reference key="source" ref="612997257"/> + <reference key="destination" ref="372490531"/> + <int key="IBEventType">7</int> + </object> + <int key="connectionID">18</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">fancyAddButtonImage</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="614509932"/> + </object> + <int key="connectionID">19</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">actionsToDoView</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="810055614"/> + </object> + <int key="connectionID">20</int> + </object> + </object> + <object class="IBMutableOrderedSet" key="objectRecords"> + <object class="NSArray" key="orderedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBObjectRecord"> + <int key="objectID">0</int> + <object class="NSArray" key="object" id="360949347"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <reference key="children" ref="1000"/> + <nil key="parent"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">1</int> + <reference key="object" ref="191373211"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="810055614"/> + <reference ref="22920685"/> + <reference ref="555835234"/> + <reference ref="691946431"/> + </object> + <reference key="parent" ref="360949347"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-1</int> + <reference key="object" ref="372490531"/> + <reference key="parent" ref="360949347"/> + <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-2</int> + <reference key="object" ref="711762367"/> + <reference key="parent" ref="360949347"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">4</int> + <reference key="object" ref="555835234"/> + <reference key="parent" ref="191373211"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">5</int> + <reference key="object" ref="810055614"/> + <reference key="parent" ref="191373211"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6</int> + <reference key="object" ref="22920685"/> + <reference key="parent" ref="191373211"/> + <string key="objectName">Dummy</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">16</int> + <reference key="object" ref="691946431"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="614509932"/> + <reference ref="612997257"/> + <reference ref="380571351"/> + </object> + <reference key="parent" ref="191373211"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">13</int> + <reference key="object" ref="380571351"/> + <reference key="parent" ref="691946431"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">15</int> + <reference key="object" ref="614509932"/> + <reference key="parent" ref="691946431"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">14</int> + <reference key="object" ref="612997257"/> + <reference key="parent" ref="691946431"/> + </object> + </object> + </object> + <object class="NSMutableDictionary" key="flattenedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>-1.CustomClassName</string> + <string>-2.CustomClassName</string> + <string>1.IBEditorWindowLastContentRect</string> + <string>1.IBPluginDependency</string> + <string>13.IBPluginDependency</string> + <string>14.IBPluginDependency</string> + <string>15.IBPluginDependency</string> + <string>16.IBEditorWindowLastContentRect</string> + <string>16.IBPluginDependency</string> + <string>4.IBPluginDependency</string> + <string>5.IBPluginDependency</string> + <string>6.IBPluginDependency</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>InputTableViewController</string> + <string>UIResponder</string> + <string>{{317, 258}, {320, 480}}</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>{{669, 701}, {100, 100}}</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </object> + </object> + <object class="NSMutableDictionary" key="unlocalizedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="activeLocalization"/> + <object class="NSMutableDictionary" key="localizations"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="sourceID"/> + <int key="maxID">20</int> + </object> + <object class="IBClassDescriber" key="IBDocument.Classes"> + <object class="NSMutableArray" key="referencedPartialClassDescriptions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">InputTableViewController</string> + <string key="superclassName">UIViewController</string> + <object class="NSMutableDictionary" key="actions"> + <string key="NS.key.0">addPhoto:</string> + <string key="NS.object.0">id</string> + </object> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>actionsToDoView</string> + <string>addPhotoButton</string> + <string>fancyAddButton</string> + <string>fancyAddButtonImage</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>UITableView</string> + <string>UIButton</string> + <string>UIView</string> + <string>UIImageView</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Classes/InputTableViewController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIButton</string> + <string key="superclassName">UIControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBUserSource</string> + <string key="minorKey"/> + </object> + </object> + </object> + </object> + <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.LastKnownRelativeProjectPath">FixMyStreet.xcodeproj</string> + <int key="IBDocument.defaultPropertyAccessControl">3</int> + </data> +</archive> diff --git a/iphone/FixMyStreet/MainViewController.xib b/iphone/FixMyStreet/MainViewController.xib new file mode 100644 index 000000000..3089984dd --- /dev/null +++ b/iphone/FixMyStreet/MainViewController.xib @@ -0,0 +1,300 @@ +<?xml version="1.0" encoding="UTF-8"?> +<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.02"> + <data> + <int key="IBDocument.SystemTarget">528</int> + <string key="IBDocument.SystemVersion">9F33</string> + <string key="IBDocument.InterfaceBuilderVersion">672</string> + <string key="IBDocument.AppKitVersion">949.34</string> + <string key="IBDocument.HIToolboxVersion">352.00</string> + <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> + <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="1"/> + </object> + <object class="NSArray" key="IBDocument.PluginDependencies"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </object> + <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBProxyObject" id="372490531"> + <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> + </object> + <object class="IBProxyObject" id="711762367"> + <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> + </object> + <object class="IBUIView" id="191373211"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">292</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBUITableView" id="810055614"> + <reference key="NSNextResponder" ref="191373211"/> + <int key="NSvFlags">274</int> + <string key="NSFrameSize">{320, 416}</string> + <reference key="NSSuperview" ref="191373211"/> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClipsSubviews">YES</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <bool key="IBUIScrollEnabled">NO</bool> + <bool key="IBUIBouncesZoom">NO</bool> + <int key="IBUIStyle">1</int> + <int key="IBUISeparatorStyle">1</int> + <int key="IBUISectionIndexMinimumDisplayRowCount">0</int> + <bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool> + <float key="IBUIRowHeight">4.400000e+01</float> + <float key="IBUISectionHeaderHeight">2.700000e+01</float> + <float key="IBUISectionFooterHeight">2.700000e+01</float> + </object> + <object class="IBUIImageView" id="91336409"> + <reference key="NSNextResponder" ref="191373211"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{100, 276}, {120, 120}}</string> + <reference key="NSSuperview" ref="191373211"/> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <int key="IBUIContentMode">1</int> + <bool key="IBUIUserInteractionEnabled">NO</bool> + </object> + <object class="IBUIButton" id="323841673"> + <reference key="NSNextResponder" ref="191373211"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{282, 377}, {18, 19}}</string> + <reference key="NSSuperview" ref="191373211"/> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <int key="IBUIContentHorizontalAlignment">0</int> + <int key="IBUIContentVerticalAlignment">0</int> + <object class="NSFont" key="IBUIFont"> + <string key="NSName">Helvetica-Bold</string> + <double key="NSSize">1.500000e+01</double> + <int key="NSfFlags">16</int> + </object> + <int key="IBUIButtonType">3</int> + <bool key="IBUIShowsTouchWhenHighlighted">YES</bool> + <object class="NSColor" key="IBUIHighlightedTitleColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MSAxIDEAA</bytes> + </object> + <object class="NSColor" key="IBUINormalTitleColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes> + </object> + </object> + </object> + <string key="NSFrameSize">{320, 416}</string> + <reference key="NSSuperview"/> + <object class="NSColor" key="IBUIBackgroundColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + <object class="NSColorSpace" key="NSCustomColorSpace"> + <int key="NSID">2</int> + </object> + </object> + <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/> + <object class="IBUISimulatedNavigationBarMetrics" key="IBUISimulatedTopBarMetrics"> + <bool key="IBUIPrompted">NO</bool> + </object> + </object> + </object> + <object class="IBObjectContainer" key="IBDocument.Objects"> + <object class="NSMutableArray" key="connectionRecords"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">view</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="191373211"/> + </object> + <int key="connectionID">7</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">dataSource</string> + <reference key="source" ref="810055614"/> + <reference key="destination" ref="372490531"/> + </object> + <int key="connectionID">8</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">delegate</string> + <reference key="source" ref="810055614"/> + <reference key="destination" ref="372490531"/> + </object> + <int key="connectionID">9</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">actionsToDoView</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="810055614"/> + </object> + <int key="connectionID">20</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">imageView</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="91336409"/> + </object> + <int key="connectionID">22</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">settingsButton</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="323841673"/> + </object> + <int key="connectionID">24</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchEventConnection" key="connection"> + <string key="label">gotoSettings:</string> + <reference key="source" ref="323841673"/> + <reference key="destination" ref="372490531"/> + <int key="IBEventType">7</int> + </object> + <int key="connectionID">25</int> + </object> + </object> + <object class="IBMutableOrderedSet" key="objectRecords"> + <object class="NSArray" key="orderedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBObjectRecord"> + <int key="objectID">0</int> + <object class="NSArray" key="object" id="360949347"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <reference key="children" ref="1000"/> + <nil key="parent"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">1</int> + <reference key="object" ref="191373211"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="810055614"/> + <reference ref="91336409"/> + <reference ref="323841673"/> + </object> + <reference key="parent" ref="360949347"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-1</int> + <reference key="object" ref="372490531"/> + <reference key="parent" ref="360949347"/> + <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-2</int> + <reference key="object" ref="711762367"/> + <reference key="parent" ref="360949347"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">5</int> + <reference key="object" ref="810055614"/> + <reference key="parent" ref="191373211"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">21</int> + <reference key="object" ref="91336409"/> + <reference key="parent" ref="191373211"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">23</int> + <reference key="object" ref="323841673"/> + <reference key="parent" ref="191373211"/> + </object> + </object> + </object> + <object class="NSMutableDictionary" key="flattenedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>-1.CustomClassName</string> + <string>-2.CustomClassName</string> + <string>1.IBEditorWindowLastContentRect</string> + <string>1.IBPluginDependency</string> + <string>21.IBPluginDependency</string> + <string>23.IBPluginDependency</string> + <string>5.IBPluginDependency</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>InputTableViewController</string> + <string>UIResponder</string> + <string>{{827, 568}, {320, 480}}</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </object> + </object> + <object class="NSMutableDictionary" key="unlocalizedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="activeLocalization"/> + <object class="NSMutableDictionary" key="localizations"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="sourceID"/> + <int key="maxID">25</int> + </object> + <object class="IBClassDescriber" key="IBDocument.Classes"> + <object class="NSMutableArray" key="referencedPartialClassDescriptions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">InputTableViewController</string> + <string key="superclassName">UIViewController</string> + <object class="NSMutableDictionary" key="actions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>addPhoto:</string> + <string>gotoSettings:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>id</string> + <string>id</string> + </object> + </object> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>actionsToDoView</string> + <string>imageView</string> + <string>settingsButton</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>UITableView</string> + <string>UIImageView</string> + <string>UIButton</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Classes/InputTableViewController.h</string> + </object> + </object> + </object> + </object> + <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.LastKnownRelativeProjectPath">FixMyStreet.xcodeproj</string> + <int key="IBDocument.defaultPropertyAccessControl">3</int> + </data> +</archive> diff --git a/iphone/FixMyStreet/MainWindow.xib b/iphone/FixMyStreet/MainWindow.xib new file mode 100644 index 000000000..e437654dd --- /dev/null +++ b/iphone/FixMyStreet/MainWindow.xib @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="UTF-8"?> +<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.02"> + <data> + <int key="IBDocument.SystemTarget">528</int> + <string key="IBDocument.SystemVersion">9F33</string> + <string key="IBDocument.InterfaceBuilderVersion">672</string> + <string key="IBDocument.AppKitVersion">949.34</string> + <string key="IBDocument.HIToolboxVersion">352.00</string> + <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> + <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="2"/> + </object> + <object class="NSArray" key="IBDocument.PluginDependencies"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </object> + <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBProxyObject" id="841351856"> + <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> + </object> + <object class="IBProxyObject" id="427554174"> + <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> + </object> + <object class="IBUICustomObject" id="664661524"/> + <object class="IBUIWindow" id="380026005"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">1316</int> + <object class="NSPSMatrix" key="NSFrameMatrix"/> + <string key="NSFrameSize">{320, 480}</string> + <reference key="NSSuperview"/> + <object class="NSColor" key="IBUIBackgroundColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MSAxIDEAA</bytes> + </object> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/> + </object> + </object> + <object class="IBObjectContainer" key="IBDocument.Objects"> + <object class="NSMutableArray" key="connectionRecords"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">delegate</string> + <reference key="source" ref="841351856"/> + <reference key="destination" ref="664661524"/> + </object> + <int key="connectionID">4</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">window</string> + <reference key="source" ref="664661524"/> + <reference key="destination" ref="380026005"/> + </object> + <int key="connectionID">5</int> + </object> + </object> + <object class="IBMutableOrderedSet" key="objectRecords"> + <object class="NSArray" key="orderedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBObjectRecord"> + <int key="objectID">0</int> + <object class="NSArray" key="object" id="957960031"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <reference key="children" ref="1000"/> + <nil key="parent"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">2</int> + <reference key="object" ref="380026005"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <reference key="parent" ref="957960031"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-1</int> + <reference key="object" ref="841351856"/> + <reference key="parent" ref="957960031"/> + <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">3</int> + <reference key="object" ref="664661524"/> + <reference key="parent" ref="957960031"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-2</int> + <reference key="object" ref="427554174"/> + <reference key="parent" ref="957960031"/> + </object> + </object> + </object> + <object class="NSMutableDictionary" key="flattenedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>-1.CustomClassName</string> + <string>-2.CustomClassName</string> + <string>2.IBAttributePlaceholdersKey</string> + <string>2.IBEditorWindowLastContentRect</string> + <string>2.IBPluginDependency</string> + <string>3.CustomClassName</string> + <string>3.IBPluginDependency</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>UIApplication</string> + <string>UIResponder</string> + <object class="NSMutableDictionary"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <string>{{400, 320}, {320, 480}}</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>FixMyStreetAppDelegate</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </object> + </object> + <object class="NSMutableDictionary" key="unlocalizedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="activeLocalization"/> + <object class="NSMutableDictionary" key="localizations"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="sourceID"/> + <int key="maxID">9</int> + </object> + <object class="IBClassDescriber" key="IBDocument.Classes"> + <object class="NSMutableArray" key="referencedPartialClassDescriptions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">FixMyStreetAppDelegate</string> + <string key="superclassName">NSObject</string> + <object class="NSMutableDictionary" key="outlets"> + <string key="NS.key.0">window</string> + <string key="NS.object.0">UIWindow</string> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Classes/FixMyStreetAppDelegate.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">FixMyStreetAppDelegate</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBUserSource</string> + <string key="minorKey"/> + </object> + </object> + </object> + </object> + <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.LastKnownRelativeProjectPath">FixMyStreet.xcodeproj</string> + <int key="IBDocument.defaultPropertyAccessControl">3</int> + </data> +</archive> diff --git a/iphone/FixMyStreet/MyCLController.h b/iphone/FixMyStreet/MyCLController.h new file mode 100755 index 000000000..d82dd9085 --- /dev/null +++ b/iphone/FixMyStreet/MyCLController.h @@ -0,0 +1,81 @@ +/* + +File: MyCLController.h +Abstract: Singleton class used to talk to CoreLocation and send results back to +the app's view controllers. + +Version: 1.1 + +Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Inc. +("Apple") in consideration of your agreement to the following terms, and your +use, installation, modification or redistribution of this Apple software +constitutes acceptance of these terms. If you do not agree with these terms, +please do not use, install, modify or redistribute this Apple software. + +In consideration of your agreement to abide by the following terms, and subject +to these terms, Apple grants you a personal, non-exclusive license, under +Apple's copyrights in this original Apple software (the "Apple Software"), to +use, reproduce, modify and redistribute the Apple Software, with or without +modifications, in source and/or binary forms; provided that if you redistribute +the Apple Software in its entirety and without modifications, you must retain +this notice and the following text and disclaimers in all such redistributions +of the Apple Software. +Neither the name, trademarks, service marks or logos of Apple Inc. may be used +to endorse or promote products derived from the Apple Software without specific +prior written permission from Apple. Except as expressly stated in this notice, +no other rights or licenses, express or implied, are granted by Apple herein, +including but not limited to any patent rights that may be infringed by your +derivative works or by other works in which the Apple Software may be +incorporated. + +The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO +WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED +WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN +COMBINATION WITH YOUR PRODUCTS. + +IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR +DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF +CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (C) 2008 Apple Inc. All Rights Reserved. + +*/ + + +// This protocol is used to send the text for location updates back to another view controller +@protocol MyCLControllerDelegate <NSObject> +@required +-(void)newLocationUpdate:(NSString *)text; +-(void)newError:(NSString *)text; +@end + + +// Class definition +@interface MyCLController : NSObject <CLLocationManagerDelegate> { + CLLocationManager *locationManager; + id delegate; + BOOL updating; +} + +@property (nonatomic, retain) CLLocationManager *locationManager; +@property (nonatomic,assign) id <MyCLControllerDelegate> delegate; +@property BOOL updating; + +-(void)startUpdatingLocation; + +- (void)locationManager:(CLLocationManager *)manager + didUpdateToLocation:(CLLocation *)newLocation + fromLocation:(CLLocation *)oldLocation; + +- (void)locationManager:(CLLocationManager *)manager + didFailWithError:(NSError *)error; + ++ (MyCLController *)sharedInstance; + +@end + diff --git a/iphone/FixMyStreet/MyCLController.m b/iphone/FixMyStreet/MyCLController.m new file mode 100755 index 000000000..d289d6ade --- /dev/null +++ b/iphone/FixMyStreet/MyCLController.m @@ -0,0 +1,232 @@ +/* + +File: MyCLController.m +Abstract: Singleton class used to talk to CoreLocation and send results back to +the app's view controllers. + +Version: 1.1 + +Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Inc. +("Apple") in consideration of your agreement to the following terms, and your +use, installation, modification or redistribution of this Apple software +constitutes acceptance of these terms. If you do not agree with these terms, +please do not use, install, modify or redistribute this Apple software. + +In consideration of your agreement to abide by the following terms, and subject +to these terms, Apple grants you a personal, non-exclusive license, under +Apple's copyrights in this original Apple software (the "Apple Software"), to +use, reproduce, modify and redistribute the Apple Software, with or without +modifications, in source and/or binary forms; provided that if you redistribute +the Apple Software in its entirety and without modifications, you must retain +this notice and the following text and disclaimers in all such redistributions +of the Apple Software. +Neither the name, trademarks, service marks or logos of Apple Inc. may be used +to endorse or promote products derived from the Apple Software without specific +prior written permission from Apple. Except as expressly stated in this notice, +no other rights or licenses, express or implied, are granted by Apple herein, +including but not limited to any patent rights that may be infringed by your +derivative works or by other works in which the Apple Software may be +incorporated. + +The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO +WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED +WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN +COMBINATION WITH YOUR PRODUCTS. + +IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR +DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF +CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (C) 2008 Apple Inc. All Rights Reserved. + +*/ + +#import "MyCLController.h" + +// This is a singleton class, see below +static MyCLController *sharedCLDelegate = nil; + +@implementation MyCLController + +@synthesize delegate, locationManager, updating; + +- (id) init { + self = [super init]; + if (self != nil) { + self.locationManager = [[[CLLocationManager alloc] init] autorelease]; + self.locationManager.delegate = self; // Tells the location manager to send updates to this object + } + return self; +} + +-(void)startUpdatingLocation { + self.updating = YES; + [self.locationManager startUpdatingLocation]; +} + + +// Called when the location is updated +- (void)locationManager:(CLLocationManager *)manager + didUpdateToLocation:(CLLocation *)newLocation + fromLocation:(CLLocation *)oldLocation +{ + NSMutableString *update = [[[NSMutableString alloc] init] autorelease]; + + // Timestamp + NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; + [dateFormatter setDateStyle:NSDateFormatterMediumStyle]; + [dateFormatter setTimeStyle:NSDateFormatterMediumStyle]; + [update appendFormat:@"%@\n\n", [dateFormatter stringFromDate:newLocation.timestamp]]; + + // Horizontal coordinates + if (signbit(newLocation.horizontalAccuracy)) { + // Negative accuracy means an invalid or unavailable measurement + [update appendString:@"Latitude / Longitude unavailable"]; + } else { + // CoreLocation returns positive for North & East, negative for South & West + [update appendFormat:@"Location: %.4f° %@, %.4f° %@", // This format takes 4 args: 2 pairs of the form coordinate + compass direction + fabs(newLocation.coordinate.latitude), signbit(newLocation.coordinate.latitude) ? (@"South") : (@"North"), + fabs(newLocation.coordinate.longitude), signbit(newLocation.coordinate.longitude) ? (@"West") : (@"East")]; + [update appendString:@"\n"]; + [update appendFormat:@"(accuracy %.0f metres)", newLocation.horizontalAccuracy]; + } + [update appendString:@"\n\n"]; + + // Altitude + if (signbit(newLocation.verticalAccuracy)) { + // Negative accuracy means an invalid or unavailable measurement + [update appendString:@"Altitude Unavailable"]; + } else { + // Positive and negative in altitude denote above & below sea level, respectively + [update appendFormat:@"Altitude: %.2f metres %@", fabs(newLocation.altitude), (signbit(newLocation.altitude)) ? @"below sea level" : @"above sea level"]; + [update appendString:@"\n"]; + [update appendFormat:@"(accuracy %.0f metres)", newLocation.verticalAccuracy]; + } + [update appendString:@"\n\n"]; + + // Calculate disatance moved and time elapsed, but only if we have an "old" location + // + // NOTE: Timestamps are based on when queries start, not when they return. CoreLocation will query your + // location based on several methods. Sometimes, queries can come back in a different order from which + // they were placed, which means the timestamp on the "old" location can sometimes be newer than on the + // "new" location. For the example, we will clamp the timeElapsed to zero to avoid showing negative times + // in the UI. + // + if (oldLocation != nil) { + CLLocationDistance distanceMoved = [newLocation getDistanceFrom:oldLocation]; + NSTimeInterval timeElapsed = [newLocation.timestamp timeIntervalSinceDate:oldLocation.timestamp]; + + [update appendFormat:@"Location changed %.2f metres ", distanceMoved]; + if (signbit(timeElapsed)) { + [update appendString:@"since previous measurement"]; + } else { + [update appendFormat:@"in %.1f seconds", timeElapsed]; + } + [update appendString:@"\n\n"]; + } + + // Send the update to our delegate + [self.delegate newLocationUpdate:update]; +} + + +// Called when there is an error getting the location +- (void)locationManager:(CLLocationManager *)manager + didFailWithError:(NSError *)error +{ + NSMutableString *errorString = [[[NSMutableString alloc] init] autorelease]; + + if ([error domain] == kCLErrorDomain) { + + // We handle CoreLocation-related errors here + + switch ([error code]) { + // This error code is usually returned whenever user taps "Don't Allow" in response to + // being told your app wants to access the current location. Once this happens, you cannot + // attempt to get the location again until the app has quit and relaunched. + // + // "Don't Allow" on two successive app launches is the same as saying "never allow". The user + // can reset this for all apps by going to Settings > General > Reset > Reset Location Warnings. + // + case kCLErrorDenied: + [errorString appendFormat:@"%@\n", NSLocalizedString(@"LocationDenied", nil)]; + break; + + // This error code is usually returned whenever the device has no data or WiFi connectivity, + // or when the location cannot be determined for some other reason. + // + // CoreLocation will keep trying, so you can keep waiting, or prompt the user. + // + case kCLErrorLocationUnknown: + [errorString appendFormat:@"%@\n", NSLocalizedString(@"LocationUnknown", nil)]; + break; + + // We shouldn't ever get an unknown error code, but just in case... + // + default: + [errorString appendFormat:@"%@ %d\n", NSLocalizedString(@"GenericLocationError", nil), [error code]]; + break; + } + } else { + // We handle all non-CoreLocation errors here + // (we depend on localizedDescription for localization) + [errorString appendFormat:@"Error domain: \"%@\" Error code: %d\n", [error domain], [error code]]; + [errorString appendFormat:@"Description: \"%@\"\n", [error localizedDescription]]; + } + + self.updating = NO; + + // Send the update to our delegate + [self.delegate newLocationUpdate:errorString]; +} + +#pragma mark ---- singleton object methods ---- + +// See "Creating a Singleton Instance" in the Cocoa Fundamentals Guide for more info + ++ (MyCLController *)sharedInstance { + @synchronized(self) { + if (sharedCLDelegate == nil) { + [[self alloc] init]; // assignment not done here + } + } + return sharedCLDelegate; +} + ++ (id)allocWithZone:(NSZone *)zone { + @synchronized(self) { + if (sharedCLDelegate == nil) { + sharedCLDelegate = [super allocWithZone:zone]; + return sharedCLDelegate; // assignment and return on first allocation + } + } + return nil; // on subsequent allocation attempts return nil +} + +- (id)copyWithZone:(NSZone *)zone +{ + return self; +} + +- (id)retain { + return self; +} + +- (unsigned)retainCount { + return UINT_MAX; // denotes an object that cannot be released +} + +- (void)release { + //do nothing +} + +- (id)autorelease { + return self; +} + +@end
\ No newline at end of file diff --git a/iphone/FixMyStreet/Root.plist b/iphone/FixMyStreet/Root.plist new file mode 100755 index 000000000..a20f07f9f --- /dev/null +++ b/iphone/FixMyStreet/Root.plist @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>PreferenceSpecifiers</key> + <array> + <dict> + <key>DefaultValue</key> + <string></string> + <key>Key</key> + <string>emailKey</string> + <key>Title</key> + <string>Email</string> + <key>Type</key> + <string>PSTextFieldSpecifier</string> + </dict> + <dict> + <key>DefaultValue</key> + <string></string> + <key>Key</key> + <string>nameKey</string> + <key>Title</key> + <string>Name</string> + <key>Type</key> + <string>PSTextFieldSpecifier</string> + </dict> + <dict> + <key>DefaultValue</key> + <string></string> + <key>Key</key> + <string>phoneKey</string> + <key>Title</key> + <string>Phone</string> + <key>Type</key> + <string>PSTextFieldSpecifier</string> + </dict> + </array> + <key>Title</key> + <string>FixMyStreet</string> +</dict> +</plist> diff --git a/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/categories.pbxbtree b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/categories.pbxbtree Binary files differnew file mode 100644 index 000000000..cfa5e0d0e --- /dev/null +++ b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/categories.pbxbtree diff --git a/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/cdecls.pbxbtree b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/cdecls.pbxbtree Binary files differnew file mode 100644 index 000000000..0f3661d23 --- /dev/null +++ b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/cdecls.pbxbtree diff --git a/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/decls.pbxbtree b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/decls.pbxbtree Binary files differnew file mode 100644 index 000000000..18175e60a --- /dev/null +++ b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/decls.pbxbtree diff --git a/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/files.pbxbtree b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/files.pbxbtree Binary files differnew file mode 100644 index 000000000..932a2498d --- /dev/null +++ b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/files.pbxbtree diff --git a/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/imports.pbxbtree b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/imports.pbxbtree Binary files differnew file mode 100644 index 000000000..4b9a5eeaa --- /dev/null +++ b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/imports.pbxbtree diff --git a/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/pbxindex.header b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/pbxindex.header Binary files differnew file mode 100644 index 000000000..bd190a771 --- /dev/null +++ b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/pbxindex.header diff --git a/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/protocols.pbxbtree b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/protocols.pbxbtree Binary files differnew file mode 100644 index 000000000..b028bc07c --- /dev/null +++ b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/protocols.pbxbtree diff --git a/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/refs.pbxbtree b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/refs.pbxbtree Binary files differnew file mode 100644 index 000000000..efb985cd2 --- /dev/null +++ b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/refs.pbxbtree diff --git a/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/strings.pbxstrings/control b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/strings.pbxstrings/control Binary files differnew file mode 100644 index 000000000..edf109772 --- /dev/null +++ b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/strings.pbxstrings/control diff --git a/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/strings.pbxstrings/strings b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/strings.pbxstrings/strings Binary files differnew file mode 100644 index 000000000..78ba5fd62 --- /dev/null +++ b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/strings.pbxstrings/strings diff --git a/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/subclasses.pbxbtree b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/subclasses.pbxbtree Binary files differnew file mode 100644 index 000000000..4147dd353 --- /dev/null +++ b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/subclasses.pbxbtree diff --git a/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/symbols0.pbxsymbols b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/symbols0.pbxsymbols Binary files differnew file mode 100644 index 000000000..b0558c7ae --- /dev/null +++ b/iphone/FixMyStreet/build/FixMyStreet.build/FixMyStreet.pbxindex/symbols0.pbxsymbols diff --git a/iphone/FixMyStreet/main.m b/iphone/FixMyStreet/main.m new file mode 100644 index 000000000..05f436018 --- /dev/null +++ b/iphone/FixMyStreet/main.m @@ -0,0 +1,16 @@ +// +// main.m +// FixMyStreet +// +// Created by Matthew on 25/09/2008. +// Copyright UK Citizens Online Democracy 2008. All rights reserved. +// + +#import <UIKit/UIKit.h> + +int main(int argc, char *argv[]) { + NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; + int retVal = UIApplicationMain(argc, argv, nil, nil); + [pool release]; + return retVal; +} |