Files
phonegap-plugins/iOS/ChildBrowser/ChildBrowserCommand.m
Randy McMillan 87f3aaaa9f ChildBrowser with Cordova only support
ChildBrowser with Cordova only support. Intended to eliminate dual
PhoneGap/Cordova naming moving forward.
2012-03-07 16:29:29 -05:00

78 lines
2.0 KiB
Objective-C

// Created by Jesse MacFadyen on 10-05-29.
// Copyright 2010 Nitobi. All rights reserved.
// Copyright 2012, Randy McMillan
#import "ChildBrowserCommand.h"
#ifdef CORDOVA_FRAMEWORK
#import <Cordova/CDVViewController.h>
#else
#import "Cordova/CDVViewController.h"
#endif
@implementation ChildBrowserCommand
@synthesize childBrowser;
- (void) showWebPage:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // args: url
{
if(childBrowser == NULL)
{
childBrowser = [[ ChildBrowserViewController alloc ] initWithScale:FALSE ];
childBrowser.delegate = self;
}
/* // TODO: Work in progress
NSString* strOrientations = [ options objectForKey:@"supportedOrientations"];
NSArray* supportedOrientations = [strOrientations componentsSeparatedByString:@","];
*/
#ifdef CORDOVA_FRAMEWORK
CDVViewController* cont = (CDVViewController*)[ super viewController ];
childBrowser.supportedOrientations = cont.supportedOrientations;
[ cont presentModalViewController:childBrowser animated:YES ];
#endif
NSString *url = (NSString*) [arguments objectAtIndex:0];
[childBrowser loadURL:url ];
}
-(void) close:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // args: url
{
[ childBrowser closeBrowser];
}
-(void) onClose
{
NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onClose();",@""];
[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
}
-(void) onOpenInSafari
{
NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onOpenExternal();",@""];
[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
}
-(void) onChildLocationChange:(NSString*)newLoc
{
NSString* tempLoc = [NSString stringWithFormat:@"%@",newLoc];
NSString* encUrl = [tempLoc stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onLocationChange('%@');",encUrl];
[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
}
@end