File:  [mozdev] / chimera / BrowserWindowController.h
Revision 1.47: download - view: text, annotated - select for diffs - revision graph
Fri Apr 19 19:28:43 2002 UTC (16 years, 11 months ago) by hyatt
Branches: MAIN
CVS tags: HEAD
You can now create bookmark groups.

    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: #import "BookmarksToolbar.h"
   42: 
   43: class nsIDOMEvent;
   44: class nsIDOMNode;
   45: 
   46: @interface BrowserWindowController : NSWindowController<Find>
   47: {
   48:     IBOutlet id mTabBrowser;
   49:     IBOutlet NSDrawer* mSidebarDrawer;
   50:     IBOutlet id mSidebarTabView;
   51:     IBOutlet id mSidebarSourceTabView;
   52:     IBOutlet id mLocationToolbarView;
   53:     IBOutlet id mURLBar;
   54:     IBOutlet id mStatus;
   55:     IBOutlet id mProgress;
   56:     IBOutlet id mLocationSheetWindow;
   57:     IBOutlet id mLocationSheetURLField;
   58:     
   59:     IBOutlet id mSidebarBrowserView;
   60:     IBOutlet id mSidebarBookmarksDataSource;
   61: 
   62:     IBOutlet BookmarksToolbar* mPersonalToolbar;
   63:     
   64:     IBOutlet id mAddBookmarkSheetWindow;
   65:     IBOutlet id mAddBookmarkTitleField;
   66:     IBOutlet id mAddBookmarkFolderField;
   67:     IBOutlet id mAddBookmarkCheckbox;
   68:     
   69:     // Context menu outlets.
   70:     IBOutlet id mPageMenu;
   71:     IBOutlet id mImageMenu;
   72:     IBOutlet id mInputMenu;
   73:     IBOutlet id mLinkMenu;
   74:     IBOutlet id mImageLinkMenu;
   75:     
   76:     NSToolbarItem *mLocationToolbarItem;
   77:     NSToolbarItem *mSidebarToolbarItem;
   78:     
   79:     BOOL mInitialized;
   80:     NSURL* mURL;
   81:     
   82:     MyBrowserView* mBrowserView;
   83:     
   84:     BOOL mMoveReentrant;
   85:     NSModalSession mModalSession;
   86: 
   87:     BOOL mShouldAutosave;
   88: 
   89:     BOOL mDrawerCachedFrame;
   90:     NSRect mCachedFrameBeforeDrawerOpen; // This is used by the drawer to figure out if the window should
   91:                                          // be returned to its original position when the drawer closes.
   92:     NSRect mCachedFrameAfterDrawerOpen;
   93: 
   94:     int mChromeMask; // Indicates which parts of the window to show (e.g., don't show toolbars)
   95: 
   96:     // Context menu members.
   97:     int mContextMenuFlags;
   98:     nsIDOMEvent* mContextMenuEvent;
   99:     nsIDOMNode* mContextMenuNode;
  100: 
  101:     // Cached bookmark ds used when adding through a sheet
  102:     id mCachedBMDS;
  103: }
  104: 
  105: - (void)dealloc;
  106: 
  107: -(id)getTabBrowser;
  108: -(MyBrowserView*)getMyBrowserView;
  109: 
  110: - (void)loadURL:(NSURL*)aURL;
  111: - (void)updateLocationFields:(NSString *)locationString;
  112: - (void)updateToolbarItems;
  113: - (void)focusURLBar;
  114: 
  115: - (void)performAppropriateLocationAction;
  116: - (IBAction)goToLocationFromToolbarURLField:(id)sender;
  117: - (void)focusURLBar;
  118: - (void)beginLocationSheet;
  119: - (IBAction)endLocationSheet:(id)sender;
  120: 
  121: - (IBAction)cancelAddBookmarkSheet:(id)sender;
  122: - (IBAction)endAddBookmarkSheet:(id)sender;
  123: - (void)cacheBookmarkDS: (id)aDS;
  124: 
  125: - (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList;
  126: - (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
  127:             url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename;
  128: - (void)printDocument;
  129: - (void)printPreview;
  130: 
  131: //- (BOOL)findInPage:(NSString*)text;
  132: 
  133: -(void) biggerTextSize;
  134: -(void) smallerTextSize;
  135: 
  136: - (void)addBookmarkExtended: (BOOL)aIsFromMenu isFolder:(BOOL)aIsFolder;
  137: - (IBAction)manageBookmarks: (id)aSender;
  138: - (IBAction)toggleSidebar:(id)aSender;
  139: 
  140: - (void)newTab;
  141: - (void)closeTab;
  142: - (void)previousTab;
  143: - (void)nextTab;
  144: 
  145: - (IBAction)back:(id)aSender;
  146: - (IBAction)forward:(id)aSender;
  147: - (IBAction)reload:(id)aSender;
  148: - (IBAction)stop:(id)aSender;
  149: - (IBAction)home:(id)aSender;
  150: 
  151: -(void)enterModalSession;
  152: 
  153: -(void)openNewWindowWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG;
  154: -(void)openNewTabWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG;
  155: 
  156: -(void)autosaveWindowFrame;
  157: -(void)disableAutosave;
  158: 
  159: -(void)setChromeMask:(int)aMask;
  160: 
  161: -(id)getAddBookmarkSheetWindow;
  162: -(id)getAddBookmarkTitle;
  163: -(id)getAddBookmarkFolder;
  164: -(id)getAddBookmarkCheckbox;
  165: 
  166: // Called when a context menu should be shown.
  167: - (void)onShowContextMenu:(int)flags domEvent:(nsIDOMEvent*)aEvent domNode:(nsIDOMNode*)aNode;
  168: - (NSMenu*)getContextMenu;
  169: 
  170: // Context menu methods
  171: - (IBAction)openLinkInNewWindow:(id)aSender;
  172: - (IBAction)openLinkInNewTab:(id)aSender;
  173: -(void)openLinkInNewWindowOrTab: (BOOL)aUseWindow;
  174: 
  175: - (IBAction)savePageAs:(id)aSender;
  176: - (IBAction)saveLinkAs:(id)aSender;
  177: - (IBAction)saveImageAs:(id)aSender;
  178: 
  179: - (IBAction)viewOnlyThisImage:(id)aSender;
  180: 
  181: - (NSView*) bookmarksToolbar;
  182: @end
  183: 

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