Diff for /chimera/MyBrowserView.mm between versions 1.13 and 1.23

version 1.13, 2002/02/10 01:12:05 version 1.23, 2002/03/07 18:42:42
Line 1 Line 1
/*/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 *  MyBrowserView.mm/* ***** BEGIN LICENSE BLOCK *****
 */ * Version: NPL 1.1/GPL 2.0/LGPL 2.1
  * The contents of this file are subject to the Netscape Public License
  * Version 1.1 (the "License"); you may not use this file except in
  * compliance with the License. You may obtain a copy of the License at
  * http://www.mozilla.org/NPL/
  * Software distributed under the License is distributed on an "AS IS" basis,
  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  * for the specific language governing rights and limitations under the
  * License.
  * The Original Code is mozilla.org code.
  * The Initial Developer of the Original Code is 
  * Netscape Communications Corporation.
  * Portions created by the Initial Developer are Copyright (C) 2002
  * the Initial Developer. All Rights Reserved.
  * Contributor(s):
  * Alternatively, the contents of this file may be used under the terms of
  * either the GNU General Public License Version 2 or later (the "GPL"), or 
  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  * in which case the provisions of the GPL or the LGPL are applicable instead
  * of those above. If you wish to allow use of your version of this file only
  * under the terms of either the GPL or the LGPL, and not to allow others to
  * use your version of this file under the terms of the NPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the NPL, the GPL or the LGPL.
  * ***** END LICENSE BLOCK ***** */
 #import "MyBrowserView.h"  #import "MyBrowserView.h"
   #import "BrowserWindowController.h"
 #include "nsCOMPtr.h"  #include "nsCOMPtr.h"
 #include "nsIServiceManager.h"  #include "nsIServiceManager.h"
 #include "nsIIOService.h"  #include "nsIIOService.h"
   #include "ContentClickListener.h"
   #include "nsIDOMWindow.h"
   #include "nsIChromeEventHandler.h"
   #include "nsPIDOMWindow.h"
   #include "nsIDOMEventReceiver.h"
 #define DOCUMENT_DONE_STRING @"Document: Done"  #define DOCUMENT_DONE_STRING @"Document: Done"
 #define LOADING_STRING @"Loading..."  #define LOADING_STRING @"Loading..."
Line 40  static const char* ioServiceContractID = Line 79  static const char* ioServiceContractID =
   [browserView loadURI:[NSURL URLWithString:[urlbar stringValue]] flags:NSLoadFlagsNone];    [browserView loadURI:[NSURL URLWithString:[urlbar stringValue]] flags:NSLoadFlagsNone];
 }  }
- (void)awakeFromNib -(void)disconnectView
 {  {
  browserView = [[[NSBrowserView alloc] initWithFrame:[self bounds]] autorelease];    urlbar = nil;
  [self addSubview:browserView];    status = nil;
  [browserView setContainer:self];    progress = nil;
  [browserView addListener:self];    progressSuper = nil;
     mIsPrimary = NO;
     [[NSNotificationCenter defaultCenter] removeObserver:self];
     [browserView setActive: NO];
   - (id)initWithFrame:(NSRect)frameRect
       [super initWithFrame: frameRect];
        browserView = [[[NSBrowserView alloc] initWithFrame:[self bounds]] autorelease];
       [self addSubview:browserView];
       [browserView setContainer:self];
       [browserView addListener:self];
       mIsBusy = NO;
       mListenersAttached = NO;
       return self;
   -(void)makePrimaryBrowserView: (NSTabViewItem*)tab urlbar: (id)aUrlbar status: (id)aStatus
       progress: (id)aProgress windowController: aWindowController
     mTab = tab;
     urlbar = aUrlbar;
     status = aStatus;
     progress = aProgress;
     progressSuper = [aProgress superview];
     mWindowController = aWindowController;
     if (!mIsBusy)
         [progress removeFromSuperview];
   defaultStatus = NULL;    defaultStatus = NULL;
   loadingStatus = DOCUMENT_DONE_STRING;    loadingStatus = DOCUMENT_DONE_STRING;
   [status setStringValue:loadingStatus];    [status setStringValue:loadingStatus];
   mIsBusy = NO;  
   [progress retain];  
   [progress removeFromSuperview];  
     mIsPrimary = YES;
   nsCOMPtr<nsIIOService> ioService(do_GetService(ioServiceContractID));    nsCOMPtr<nsIIOService> ioService(do_GetService(ioServiceContractID));
   if (!ioService)    if (!ioService)
     return;      return;
Line 67  static const char* ioServiceContractID = Line 134  static const char* ioServiceContractID =
         selector:@selector(offlineModeChanged:)          selector:@selector(offlineModeChanged:)
         name:@"offlineModeChanged"          name:@"offlineModeChanged"
         object:nil];          object:nil];
     // Update the URL bar.
     [mWindowController updateLocationFields:[self getCurrentURLSpec]];
     if (mWindowController && !mListenersAttached) {
       mListenersAttached = YES;
       // We need to hook up our click and context menu listeners.
       ContentClickListener* clickListener = new ContentClickListener(mWindowController);
       if (!clickListener)
       nsCOMPtr<nsIDOMWindow> contentWindow = getter_AddRefs([[self getBrowserView] getContentWindow]);
       nsCOMPtr<nsPIDOMWindow> piWindow(do_QueryInterface(contentWindow));
       nsCOMPtr<nsIChromeEventHandler> chromeHandler;
       nsCOMPtr<nsIDOMEventReceiver> rec(do_QueryInterface(chromeHandler));
       rec->AddEventListenerByIID(clickListener, NS_GET_IID(nsIDOMMouseListener));
     return [browserView getCurrentURLSpec];
   - (void)awakeFromNib 
 }  }
 - (void)setFrame:(NSRect)frameRect  - (void)setFrame:(NSRect)frameRect
Line 89  static const char* ioServiceContractID = Line 184  static const char* ioServiceContractID =
   }    }
   [progressSuper addSubview:progress];    [progressSuper addSubview:progress];
   [progress release];  
   [progress setIndeterminate:YES];    [progress setIndeterminate:YES];
   [progress startAnimation:self];    [progress startAnimation:self];
Line 97  static const char* ioServiceContractID = Line 191  static const char* ioServiceContractID =
   [status setStringValue:loadingStatus];    [status setStringValue:loadingStatus];
   mIsBusy = YES;    mIsBusy = YES;
     [mTab setLabel: LOADING_STRING];
   if (mWindowController)    if (mWindowController)
     [mWindowController updateToolbarItems];      [mWindowController updateToolbarItems];
 }  }
Line 105  static const char* ioServiceContractID = Line 201  static const char* ioServiceContractID =
 {  {
   [progress setIndeterminate:YES];    [progress setIndeterminate:YES];
   [progress stopAnimation:self];    [progress stopAnimation:self];
   [progress retain];  
   [progress removeFromSuperview];    [progress removeFromSuperview];
   loadingStatus = DOCUMENT_DONE_STRING;    loadingStatus = DOCUMENT_DONE_STRING;
Line 178  static const char* ioServiceContractID = Line 273  static const char* ioServiceContractID =
 {  {
     if (!mWindowController)      if (!mWindowController)
         return; // Sidebar panels can't affect the window title.          return; // Sidebar panels can't affect the window title.
    if (mOffline) {    // We must be the primary content area.
        NSString* newTitle;    if (mIsPrimary) {
        if (title && ![title isEqualToString:@""])        if (mOffline) {
            newTitle = [title stringByAppendingString: @" [Working Offline]"];            NSString* newTitle;
        else            if (title && ![title isEqualToString:@""])
            newTitle = @"Untitled [Working Offline]";                newTitle = [title stringByAppendingString: @" [Working Offline]"];
        [[mWindowController window] setTitle: newTitle];            else
    }                newTitle = @"Untitled [Working Offline]";
    else {            [[mWindowController window] setTitle: newTitle];
        if (title && ![title isEqualToString:@""])        }
            [[mWindowController window] setTitle:title];        else {
        else            if (title && ![title isEqualToString:@""])
            [[mWindowController window] setTitle:@"Untitled"];                [[mWindowController window] setTitle:title];
                 [[mWindowController window] setTitle:@"Untitled"];
     }      }
       // Always set the tab.
       if (title && ![title isEqualToString:@""])
           [mTab setLabel:title];
           [mTab setLabel:@"Untitled"];
 }  }
 - (void)offlineModeChanged: (NSNotification*)aNotification  - (void)offlineModeChanged: (NSNotification*)aNotification
Line 229  static const char* ioServiceContractID = Line 333  static const char* ioServiceContractID =
 - (NSBrowserView*)createBrowserWindow:(unsigned int)mask  - (NSBrowserView*)createBrowserWindow:(unsigned int)mask
 {  {
  // XXX not implemented   BrowserWindowController* controller = [[BrowserWindowController alloc] initWithWindowNibName: @"BrowserWindow"];
  return NULL;  [controller enterModalSession];
   return [[controller getMyBrowserView] getBrowserView];
 }  }
 - (NSBrowserView*)getBrowserView  - (NSBrowserView*)getBrowserView

Removed from v.1.13  
changed lines
  Added in v.1.23

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>