diff options
Diffstat (limited to 'chrome/browser/ui/cocoa/applescript/window_applescript.h')
-rw-r--r-- | chrome/browser/ui/cocoa/applescript/window_applescript.h | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/chrome/browser/ui/cocoa/applescript/window_applescript.h b/chrome/browser/ui/cocoa/applescript/window_applescript.h new file mode 100644 index 0000000..6d98d10 --- /dev/null +++ b/chrome/browser/ui/cocoa/applescript/window_applescript.h @@ -0,0 +1,81 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_UI_COCOA_APPLESCRIPT_WINDOW_APPLESCRIPT_H_ +#define CHROME_BROWSER_UI_COCOA_APPLESCRIPT_WINDOW_APPLESCRIPT_H_ + +#import <Cocoa/Cocoa.h> + +#import "chrome/browser/ui/cocoa/applescript/element_applescript.h" + +class Browser; +class Profile; +@class TabAppleScript; + +// Represents a window class. +@interface WindowAppleScript : ElementAppleScript { + @private + Browser* browser_; // weak. +} + +// Creates a new window, returns nil if there is an error. +- (id)init; + +// Creates a new window with a particular profile. +- (id)initWithProfile:(Profile*)aProfile; + +// Does not create a new window but uses an existing one. +- (id)initWithBrowser:(Browser*)aBrowser; + +// Sets and gets the index of the currently selected tab. +- (NSNumber*)activeTabIndex; +- (void)setActiveTabIndex:(NSNumber*)anActiveTabIndex; + +// Mode refers to whether a window is a normal window or an incognito window +// it can be set only once while creating the window. +- (NSString*)mode; +- (void)setMode:(NSString*)theMode; + +// Returns the currently selected tab. +- (TabAppleScript*)activeTab; + +// Tab manipulation functions. +// The tabs inside the window. +// Returns |TabAppleScript*| of all the tabs contained +// within this particular folder. +- (NSArray*)tabs; + +// Insert a tab at the end. +- (void)insertInTabs:(TabAppleScript*)aTab; + +// Insert a tab at some position in the list. +// Called by applescript which takes care of bounds checking, make sure of it +// before calling directly. +- (void)insertInTabs:(TabAppleScript*)aTab atIndex:(int)index; + +// Remove a window from the list. +// Called by applescript which takes care of bounds checking, make sure of it +// before calling directly. +- (void)removeFromTabsAtIndex:(int)index; + +// Set the index of a window. +- (void)setOrderedIndex:(NSNumber*)anIndex; + +// Used to sort windows by index. +- (NSComparisonResult)windowComparator:(WindowAppleScript*)otherWindow; + +// For standard window functions like zoomable, bounds etc, we dont handle it +// but instead pass it onto the NSWindow associated with the window. +- (id)valueForUndefinedKey:(NSString*)key; +- (void)setValue:(id)value forUndefinedKey:(NSString*)key; + +// Used to close window. +- (void)handlesCloseScriptCommand:(NSCloseCommand*)command; + +// The index of the window, windows are ordered front to back. +- (NSNumber*)orderedIndex; + +@end + +#endif // CHROME_BROWSER_UI_COCOA_APPLESCRIPT_WINDOW_APPLESCRIPT_H_ |