]> git.saurik.com Git - uikittools.git/commitdiff
Ported UIKit Tools to iPhoneOS 2.0 (sort of).
authorJay Freeman (saurik) <saurik@saurik.com>
Tue, 8 Apr 2008 21:22:56 +0000 (21:22 +0000)
committerJay Freeman (saurik) <saurik@saurik.com>
Tue, 8 Apr 2008 21:22:56 +0000 (21:22 +0000)
makefile
uialert.mm

index e5f9b02948d361b8461ffec028a0619f8bae079e..4cf346e23902d709647f85106db55528beefccf8 100644 (file)
--- 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
index 403dbd23a16c76268c5f16765ac738ca039ab69b..a4b19ee47eddab23ad31fd80f88db38023e8c249 100644 (file)
@@ -7,25 +7,51 @@
 int argc_;
 char **argv_;
 
-@interface AlertSheet : UIApplication {
+@interface AlertSheet : UIApplication
+#ifdef __OBJC2__
+<UIModalViewDelegate>
+#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;
 }