File:  [mozdev] / chimera / BrowserWindowController.h
Revision 1.36: download - view: text, annotated - select for diffs - revision graph
Fri Apr 12 19:45:37 2002 UTC (17 years, 2 months ago) by pinkerton
Branches: MAIN
CVS tags: HEAD
make "find again" work, as well as across multiple windows. uses a new "Find" protocol and puts all the logic in the find controller.

    1: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
    2: /* ***** BEGIN LICENSE BLOCK *****
    3:  * Version: NPL 1.1/GPL 2.0/LGPL 2.1
    4:  *
    5:  * The contents of this file are subject to the Netscape Public License
    6:  * Version 1.1 (the "License"); you may not use this file except in
    7:  * compliance with the License. You may obtain a copy of the License at
    8:  * http://www.mozilla.org/NPL/
    9:  *
   10:  * Software distributed under the License is distributed on an "AS IS" basis,
   11:  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   12:  * for the specific language governing rights and limitations under the
   13:  * License.
   14:  *
   15:  * The Original Code is mozilla.org code.
   16:  *
   17:  * The Initial Developer of the Original Code is 
   18:  * Netscape Communications Corporation.
   19:  * Portions created by the Initial Developer are Copyright (C) 2002
   20:  * the Initial Developer. All Rights Reserved.
   21:  *
   22:  * Contributor(s):
   23:  *
   24:  * Alternatively, the contents of this file may be used under the terms of
   25:  * either the GNU General Public License Version 2 or later (the "GPL"), or 
   26:  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   27:  * in which case the provisions of the GPL or the LGPL are applicable instead
   28:  * of those above. If you wish to allow use of your version of this file only
   29:  * under the terms of either the GPL or the LGPL, and not to allow others to
   30:  * use your version of this file under the terms of the NPL, indicate your
   31:  * decision by deleting the provisions above and replace them with the notice
   32:  * and other provisions required by the GPL or the LGPL. If you do not delete
   33:  * the provisions above, a recipient may use your version of this file under
   34:  * the terms of any one of the NPL, the GPL or the LGPL.
   35:  *
   36:  * ***** END LICENSE BLOCK ***** */
   37: 
   38: #import <Cocoa/Cocoa.h>
   39: #import "MyBrowserView.h"
   40: #import "Find.h"
   41: 
   42: class nsIDOMEvent;
   43: class nsIDOMNode;
   44: 
   45: @interface BrowserWindowController : NSWindowController<Find>
   46: {
   47:     IBOutlet id mTabBrowser;
   48:     IBOutlet id mSidebarDrawer;
   49:     IBOutlet id mSidebarTabView;
   50:     IBOutlet id mSidebarSourceTabView;
   51:     IBOutlet id mLocationToolbarView;
   52:     IBOutlet id mURLBar;
   53:     IBOutlet id mStatus;
   54:     IBOutlet id mProgress;
   55:     IBOutlet id mLocationSheetWindow;
   56:     IBOutlet id mLocationSheetURLField;
   57:     IBOutlet id mSidebarBrowserView;
   58:     IBOutlet id mSidebarBookmarksDataSource;
   59: 
   60:     // Context menu outlets.
   61:     IBOutlet id mPageMenu;
   62:     IBOutlet id mImageMenu;
   63:     IBOutlet id mInputMenu;
   64:     IBOutlet id mLinkMenu;
   65:     IBOutlet id mImageLinkMenu;
   66:     
   67:     NSToolbarItem *mLocationToolbarItem;
   68:     NSToolbarItem *mSidebarToolbarItem;
   69:     
   70:     BOOL mInitialized;
   71:     NSURL* mURL;
   72:     
   73:     MyBrowserView* mBrowserView;
   74:     
   75:     BOOL mMoveReentrant;
   76:     NSModalSession mModalSession;
   77: 
   78:     BOOL mShouldAutosave;
   79: 
   80:     BOOL mDrawerCachedFrame;
   81:     NSRect mCachedFrameBeforeDrawerOpen; // This is used by the drawer to figure out if the window should
   82:                                          // be returned to its original position when the drawer closes.
   83:     NSRect mCachedFrameAfterDrawerOpen;
   84: 
   85:     int mChromeMask; // Indicates which parts of the window to show (e.g., don't show toolbars)
   86: 
   87:     // Context menu members.
   88:     int mContextMenuFlags;
   89:     nsIDOMEvent* mContextMenuEvent;
   90:     nsIDOMNode* mContextMenuNode;
   91: }
   92: 
   93: - (void)dealloc;
   94: 
   95: -(MyBrowserView*)getMyBrowserView;
   96: 
   97: - (void)loadURL:(NSURL*)aURL;
   98: - (void)updateLocationFields:(NSString *)locationString;
   99: - (void)updateToolbarItems;
  100: - (void)focusURLBar;
  101: 
  102: - (void)performAppropriateLocationAction;
  103: - (IBAction)goToLocationFromToolbarURLField:(id)sender;
  104: - (void)focusURLBar;
  105: - (void)beginLocationSheet;
  106: - (IBAction)endLocationSheet:(id)sender;
  107: - (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList;
  108: - (void)printDocument;
  109: - (void)printPreview;
  110: 
  111: //- (BOOL)findInPage:(NSString*)text;
  112: 
  113: - (void)addBookmark;
  114: 
  115: - (void)newTab;
  116: - (void)closeTab;
  117: - (void)previousTab;
  118: - (void)nextTab;
  119: 
  120: - (IBAction)back:(id)aSender;
  121: - (IBAction)forward:(id)aSender;
  122: - (IBAction)reload:(id)aSender;
  123: - (IBAction)stop:(id)aSender;
  124: - (IBAction)home:(id)aSender;
  125: 
  126: -(void)enterModalSession;
  127: 
  128: -(void)openNewWindowWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG;
  129: -(void)openNewTabWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG;
  130: 
  131: -(void)autosaveWindowFrame;
  132: -(void)disableAutosave;
  133: 
  134: -(void)setChromeMask:(int)aMask;
  135: 
  136: // Called when a context menu should be shown.
  137: - (void)onShowContextMenu:(int)flags domEvent:(nsIDOMEvent*)aEvent domNode:(nsIDOMNode*)aNode;
  138: - (NSMenu*)getContextMenu;
  139: 
  140: @end

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