From e8653a2995d69d657392af3fc0e385c202574e0f Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Tue, 8 Apr 2008 21:22:56 +0000 Subject: [PATCH] Ported UIKit Tools to iPhoneOS 2.0 (sort of). --- makefile | 2 +- uialert.mm | 37 ++++++++++++++++++++++++++++++++++--- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/makefile b/makefile index e5f9b02..4cf346e 100644 --- a/makefile +++ b/makefile @@ -1,4 +1,4 @@ all: uialert %: %.mm - $${PKG_TARG}-g++ -o $@ $< -framework CoreFoundation -framework Foundation -framework UIKit -lobjc + $${PKG_TARG}-g++ -o $@ $< -framework Foundation -framework CoreFoundation -framework UIKit -lobjc diff --git a/uialert.mm b/uialert.mm index 403dbd2..a4b19ee 100644 --- a/uialert.mm +++ b/uialert.mm @@ -7,25 +7,51 @@ int argc_; char **argv_; -@interface AlertSheet : UIApplication { +@interface AlertSheet : UIApplication +#ifdef __OBJC2__ + +#endif +{ } +#ifdef __OBJC2__ +- (void) modalView:(UIModalView *)modalView didDismissWithButtonIndex:(NSInteger)buttonIndex; +#else - (void) alertSheet:(UIAlertSheet *)sheet buttonClicked:(int)button; +#endif + - (void) applicationDidFinishLaunching:(id)unused; @end @implementation AlertSheet -- (void) alertSheet:(UIAlertSheet *)sheet buttonClicked:(int)button { - [sheet dismiss]; +#ifdef __OBJC2__ +- (void) modalView:(UIModalView *)modalView didDismissWithButtonIndex:(NSInteger)buttonIndex { + exit(buttonIndex); +} +#else +- (void) alertSheet:(UIAlertSheet *)alertSheet buttonClicked:(int)button { + [alertSheet dismiss]; exit(button); } +#endif - (void) applicationDidFinishLaunching:(id)unused { NSMutableArray *buttons = [NSMutableArray arrayWithCapacity:(argc_ - 3)]; for (size_t i(0); i != argc_ - 3; ++i) [buttons addObject:[NSString stringWithCString:argv_[i + 3]]]; +#ifdef __OBJC2__ + UIAlertView *alert = [[[UIAlertView alloc] + initWithTitle:[NSString stringWithCString:argv_[1]] + message:[NSString stringWithCString:argv_[2]] + delegate:self + cancelButtonTitle:nil + otherButtonTitles:nil + ] autorelease]; + + [alert show]; +#else UIAlertSheet *sheet = [[[UIAlertSheet alloc] initWithTitle:[NSString stringWithCString:argv_[1]] buttons:buttons @@ -38,6 +64,7 @@ char **argv_; [sheet setShowsOverSpringBoardAlerts:YES]; [sheet popupAlertAnimated:YES]; +#endif } @end @@ -51,7 +78,11 @@ int main(int argc, char *argv[]) { }; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; +#ifdef __OBJC2__ + UIApplicationMain(1, args, nil, @"AlertSheet"); +#else UIApplicationMain(1, args, [AlertSheet class]); +#endif [pool release]; return 0; } -- 2.45.2