| // Copyright (c) 2011 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; |
| |
| // Used to see if the windows is in presentation mode. |
| - (NSNumber*)presenting; |
| |
| // Used to enter presentation mode. |
| - (void)handlesEnterPresentationMode:(NSScriptCommand*)command; |
| |
| // Used to exit presentation mode. |
| - (void)handlesExitPresentationMode:(NSScriptCommand*)command; |
| |
| @end |
| |
| #endif // CHROME_BROWSER_UI_COCOA_APPLESCRIPT_WINDOW_APPLESCRIPT_H_ |