diff options
Diffstat (limited to 'Tools/MiniBrowser/mac/WK1BrowserWindowController.m')
-rw-r--r-- | Tools/MiniBrowser/mac/WK1BrowserWindowController.m | 294 |
1 files changed, 0 insertions, 294 deletions
diff --git a/Tools/MiniBrowser/mac/WK1BrowserWindowController.m b/Tools/MiniBrowser/mac/WK1BrowserWindowController.m deleted file mode 100644 index 4b2428a32..000000000 --- a/Tools/MiniBrowser/mac/WK1BrowserWindowController.m +++ /dev/null @@ -1,294 +0,0 @@ -/* - * Copyright (C) 2010 Apple Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import "WK1BrowserWindowController.h" - -#import <WebKit/WebKit.h> -#import <WebKit/WebViewPrivate.h> -#import "AppDelegate.h" - -@interface WK1BrowserWindowController () -@end - -@implementation WK1BrowserWindowController - -- (void)awakeFromNib -{ - _webView = [[WebView alloc] initWithFrame:[containerView bounds]]; - [_webView setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable)]; - - // Set the WebView delegates - [_webView setFrameLoadDelegate:self]; - [_webView setUIDelegate:self]; - [_webView setResourceLoadDelegate:self]; - - [containerView addSubview:_webView]; -} - -- (void)dealloc -{ - [_webView setFrameLoadDelegate:nil]; - [_webView setUIDelegate:nil]; - [_webView setResourceLoadDelegate:nil]; - [_webView release]; - - [super dealloc]; -} - -- (void)loadURLString:(NSString *)urlString -{ - // FIXME: We shouldn't have to set the url text here. - [urlText setStringValue:urlString]; - [self fetch:nil]; -} - -- (IBAction)fetch:(id)sender -{ - [urlText setStringValue:[self addProtocolIfNecessary:[urlText stringValue]]]; - NSURL *url = [NSURL URLWithString:[urlText stringValue]]; - [[_webView mainFrame] loadRequest:[NSURLRequest requestWithURL:url]]; -} - -- (IBAction)showHideWebView:(id)sender -{ - BOOL hidden = ![_webView isHidden]; - - [_webView setHidden:hidden]; -} - -- (IBAction)removeReinsertWebView:(id)sender -{ - if ([_webView window]) { - [_webView retain]; - [_webView removeFromSuperview]; - } else { - [containerView addSubview:_webView]; - [_webView release]; - } -} - -- (IBAction)reload:(id)sender -{ - [_webView reload:sender]; -} - -- (IBAction)forceRepaint:(id)sender -{ - [_webView setNeedsDisplay:YES]; -} - -- (IBAction)goBack:(id)sender -{ - [_webView goBack:sender]; -} - -- (IBAction)goForward:(id)sender -{ - [_webView goForward:sender]; -} - -- (BOOL)validateMenuItem:(NSMenuItem *)menuItem -{ - SEL action = [menuItem action]; - - if (action == @selector(zoomIn:)) - return [self canZoomIn]; - if (action == @selector(zoomOut:)) - return [self canZoomOut]; - if (action == @selector(resetZoom:)) - return [self canResetZoom]; - - if (action == @selector(showHideWebView:)) - [menuItem setTitle:[_webView isHidden] ? @"Show Web View" : @"Hide Web View"]; - else if (action == @selector(removeReinsertWebView:)) - [menuItem setTitle:[_webView window] ? @"Remove Web View" : @"Insert Web View"]; - else if (action == @selector(toggleZoomMode:)) - [menuItem setState:_zoomTextOnly ? NSOnState : NSOffState]; - else if ([menuItem action] == @selector(togglePaginationMode:)) - [menuItem setState:[self isPaginated] ? NSOnState : NSOffState]; - else if ([menuItem action] == @selector(toggleTransparentWindow:)) - [menuItem setState:[[self window] isOpaque] ? NSOffState : NSOnState]; - - return YES; -} - -- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item -{ - SEL action = [item action]; - - if (action == @selector(goBack:)) - return [_webView canGoBack]; - - if (action == @selector(goForward:)) - return [_webView canGoForward]; - - return YES; -} - -- (void)validateToolbar -{ - [toolbar validateVisibleItems]; -} - -- (BOOL)windowShouldClose:(id)sender -{ - return YES; -} - -- (void)windowWillClose:(NSNotification *)notification -{ - [(BrowserAppDelegate *)[NSApp delegate] browserWindowWillClose:[self window]]; - [self autorelease]; -} - -- (void)applicationTerminating -{ -} - -- (double)currentZoomFactor -{ - return 1; -} - -- (BOOL)canZoomIn -{ - return [_webView canMakeTextLarger]; -} - -- (void)zoomIn:(id)sender -{ - if (![self canZoomIn]) - return; - - [_webView makeTextLarger:sender]; -} - -- (BOOL)canZoomOut -{ - return [_webView canMakeTextSmaller]; -} - -- (void)zoomOut:(id)sender -{ - if (![self canZoomIn]) - return; - - [_webView makeTextSmaller:sender]; -} - -- (BOOL)canResetZoom -{ - return [_webView canMakeTextStandardSize]; -} - -- (void)resetZoom:(id)sender -{ - if (![self canResetZoom]) - return; - - [_webView makeTextStandardSize:sender]; -} - -- (IBAction)toggleZoomMode:(id)sender -{ - // FIXME: non-text zoom not implemented. - _zoomTextOnly = !_zoomTextOnly; -} - -- (BOOL)isPaginated -{ - return [_webView _paginationMode] != WebPaginationModeUnpaginated; -} - -- (IBAction)togglePaginationMode:(id)sender -{ - if ([self isPaginated]) { - [_webView _setPaginationMode:WebPaginationModeUnpaginated]; - } else { - [_webView _setPaginationMode:WebPaginationModeRightToLeft]; - [_webView _setPageLength:_webView.bounds.size.width / 2]; - [_webView _setGapBetweenPages:10]; - } -} - -- (IBAction)toggleTransparentWindow:(id)sender -{ - BOOL isTransparent = ![[self window] isOpaque]; - isTransparent = !isTransparent; - - [[self window] setOpaque:!isTransparent]; - [[self window] setHasShadow:!isTransparent]; - - if (isTransparent) - [_webView setBackgroundColor:[NSColor clearColor]]; - else - [_webView setBackgroundColor:[NSColor whiteColor]]; - - [[self window] display]; -} - -- (IBAction)find:(id)sender -{ -} - -- (IBAction)dumpSourceToConsole:(id)sender -{ -} - -// WebFrameLoadDelegate Methods -- (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame -{ -} - -- (void)webView:(WebView *)sender didCommitLoadForFrame:(WebFrame *)frame -{ - if (frame != [sender mainFrame]) - return; - - NSURL *committedURL = [[[frame dataSource] request] URL]; - [urlText setStringValue:[committedURL absoluteString]]; -} - -- (void)webView:(WebView *)sender didReceiveTitle:(NSString *)title forFrame:(WebFrame *)frame -{ - if (frame != [sender mainFrame]) - return; - - [[self window] setTitle:[title stringByAppendingString:@" [WK1]"]]; -} - -- (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame -{ - NSAlert *alert = [[NSAlert alloc] init]; - [alert addButtonWithTitle:@"OK"]; - - alert.messageText = [NSString stringWithFormat:@"JavaScript alert dialog from %@.", frame.dataSource.request.URL.absoluteString]; - alert.informativeText = message; - - [alert runModal]; - [alert release]; -} - -@end |