]> git.saurik.com Git - uikittools.git/blobdiff - uialert.mm
Delete the icon caches.
[uikittools.git] / uialert.mm
index a72cbd4b41747a6403c918a89cd1cac458b5fda1..a4b19ee47eddab23ad31fd80f88db38023e8c249 100644 (file)
@@ -1,28 +1,57 @@
-#include <UIKit/UIKit.h>
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKit.h>
+
 #include <unistd.h>
+#include <cstdlib>
 
 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
@@ -35,6 +64,7 @@ char **argv_;
 
     [sheet setShowsOverSpringBoardAlerts:YES];
     [sheet popupAlertAnimated:YES];
+#endif
 }
 
 @end
@@ -44,11 +74,15 @@ int main(int argc, char *argv[]) {
     argv_ = argv;
 
     char *args[] = {
-        "AlertSheet", NULL
+        (char *) "AlertSheet", NULL
     };
 
     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+#ifdef __OBJC2__
+    UIApplicationMain(1, args, nil, @"AlertSheet");
+#else
     UIApplicationMain(1, args, [AlertSheet class]);
+#endif
     [pool release];
     return 0;
 }