File:  [mozdev] / chimera / BrowserWindowController.h
Revision 1.35: download - view: text, annotated - select for diffs - revision graph
Fri Apr 12 09:56:34 2002 UTC (17 years ago) by hyatt
Branches: MAIN
CVS tags: HEAD
Context menus come up! Yay!

    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: 
   41: class nsIDOMEvent;
   42: class nsIDOMNode;
   43: 
   44: @interface BrowserWindowController : NSWindowController
   45: {
   46:     IBOutlet id mTabBrowser;
   47:     IBOutlet id mSidebarDrawer;
   48:     IBOutlet id mSidebarTabView;
   49:     IBOutlet id mSidebarSourceTabView;
   50:     IBOutlet id mLocationToolbarView;
   51:     IBOutlet id mURLBar;
   52:     IBOutlet id mStatus;
   53:     IBOutlet id mProgress;
   54:     IBOutlet id mLocationSheetWindow;
   55:     IBOutlet id mLocationSheetURLField;
   56:     IBOutlet id mSidebarBrowserView;
   57:     IBOutlet id mSidebarBookmarksDataSource;
   58: 
   59:     // Context menu outlets.
   60:     IBOutlet id mPageMenu;
   61:     IBOutlet id mImageMenu;
   62:     IBOutlet id mInputMenu;
   63:     IBOutlet id mLinkMenu;
   64:     IBOutlet id mImageLinkMenu;
   65:     
   66:     NSToolbarItem *mLocationToolbarItem;
   67:     NSToolbarItem *mSidebarToolbarItem;
   68:     
   69:     BOOL mInitialized;
   70:     NSURL* mURL;
   71:     
   72:     MyBrowserView* mBrowserView;
   73:     
   74:     BOOL mMoveReentrant;
   75:     NSModalSession mModalSession;
   76: 
   77:     BOOL mShouldAutosave;
   78: 
   79:     BOOL mDrawerCachedFrame;
   80:     NSRect mCachedFrameBeforeDrawerOpen; // This is used by the drawer to figure out if the window should
   81:                                          // be returned to its original position when the drawer closes.
   82:     NSRect mCachedFrameAfterDrawerOpen;
   83: 
   84:     int mChromeMask; // Indicates which parts of the window to show (e.g., don't show toolbars)
   85: 
   86:     // Context menu members.
   87:     int mContextMenuFlags;
   88:     nsIDOMEvent* mContextMenuEvent;
   89:     nsIDOMNode* mContextMenuNode;
   90: }
   91: 
   92: - (void)dealloc;
   93: 
   94: -(MyBrowserView*)getMyBrowserView;
   95: 
   96: - (void)loadURL:(NSURL*)aURL;
   97: - (void)updateLocationFields:(NSString *)locationString;
   98: - (void)updateToolbarItems;
   99: - (void)focusURLBar;
  100: 
  101: - (void)performAppropriateLocationAction;
  102: - (IBAction)goToLocationFromToolbarURLField:(id)sender;
  103: - (void)focusURLBar;
  104: - (void)beginLocationSheet;
  105: - (IBAction)endLocationSheet:(id)sender;
  106: - (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList;
  107: - (void)printDocument;
  108: - (void)printPreview;
  109: 
  110: - (void)findInPage:(NSString*)text;
  111: - (void)findAgain;
  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>