OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_TAB_WINDOW_CONTROLLER_H_ | 5 #ifndef CHROME_BROWSER_TAB_WINDOW_CONTROLLER_H_ |
6 #define CHROME_BROWSER_TAB_WINDOW_CONTROLLER_H_ | 6 #define CHROME_BROWSER_TAB_WINDOW_CONTROLLER_H_ |
7 | 7 |
8 // A class acting as the Objective-C window controller for a window that has | 8 // A class acting as the Objective-C window controller for a window that has |
9 // tabs which can be dragged around. Tabs can be re-arranged within the same | 9 // tabs which can be dragged around. Tabs can be re-arranged within the same |
10 // window or dragged into other TabWindowController windows. This class doesn't | 10 // window or dragged into other TabWindowController windows. This class doesn't |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 - (TabWindowController*)detachTabToNewWindow:(TabView*)tabView; | 55 - (TabWindowController*)detachTabToNewWindow:(TabView*)tabView; |
56 | 56 |
57 // Make room in the tab strip for |tab| at the given x coordinate. | 57 // Make room in the tab strip for |tab| at the given x coordinate. |
58 - (void)insertPlaceholderForTab:(TabView*)tab | 58 - (void)insertPlaceholderForTab:(TabView*)tab |
59 frame:(NSRect)frame | 59 frame:(NSRect)frame |
60 yStretchiness:(CGFloat)yStretchiness; | 60 yStretchiness:(CGFloat)yStretchiness; |
61 | 61 |
62 // Removes the placeholder installed by |-insertPlaceholderForTab:atLocation:|. | 62 // Removes the placeholder installed by |-insertPlaceholderForTab:atLocation:|. |
63 - (void)removePlaceholder; | 63 - (void)removePlaceholder; |
64 | 64 |
| 65 // Drop a given tab view at the location of the current placeholder. If there |
| 66 // is no placeholder, it will go at the end. |controller| is the window |
| 67 // controller of a tab being dropped from a different window. It will be nil |
| 68 // if the drag is within the window. The implementation will call |
| 69 // |-removePlaceholder| since the drag is now complete. This also calls |
| 70 // |-layoutTabs| internally so clients do not need to call it again. When |
| 71 // dragging tabs between windows, this should be called *before* |
| 72 // |-detachTabView| on the source window since it needs to still be in the |
| 73 // source window's tab model for this method to find the information it needs |
| 74 // to complete the drop. |
| 75 - (void)dropTabView:(NSView*)view |
| 76 fromController:(TabWindowController*)controller; |
| 77 |
| 78 // Tells the tab strip to forget about this tab in preparation for it being |
| 79 // put into a different tab strip, such as during a drop on another window. |
| 80 - (void)detachTabView:(NSView*)view; |
| 81 |
65 // Number of tabs in the tab strip. Useful, for example, to know if we're | 82 // Number of tabs in the tab strip. Useful, for example, to know if we're |
66 // dragging the only tab in the window. | 83 // dragging the only tab in the window. |
67 - (NSInteger)numberOfTabs; | 84 - (NSInteger)numberOfTabs; |
68 | 85 |
69 // Return the view of the selected tab. | 86 // Return the view of the selected tab. |
70 - (NSView *)selectedTabView; | 87 - (NSView *)selectedTabView; |
71 | 88 |
72 // Drop a given tab view at a new index. | |
73 - (void)dropTabView:(NSView *)view atIndex:(NSUInteger)index; | |
74 | |
75 // The title of the selected tab. | 89 // The title of the selected tab. |
76 - (NSString*)selectedTabTitle; | 90 - (NSString*)selectedTabTitle; |
77 | 91 |
78 @end | 92 @end |
79 | 93 |
80 @interface TabWindowController(ProtectedMethods) | 94 @interface TabWindowController(ProtectedMethods) |
81 // A list of all the views that need to move to the overlay window. Subclasses | 95 // A list of all the views that need to move to the overlay window. Subclasses |
82 // can override this to add more things besides the tab strip. Be sure to | 96 // can override this to add more things besides the tab strip. Be sure to |
83 // call the superclass' version if overridden. | 97 // call the superclass' version if overridden. |
84 - (NSArray*)viewsToMoveToOverlay; | 98 - (NSArray*)viewsToMoveToOverlay; |
85 @end | 99 @end |
86 | 100 |
87 #endif // CHROME_BROWSER_TAB_WINDOW_CONTROLLER_H_ | 101 #endif // CHROME_BROWSER_TAB_WINDOW_CONTROLLER_H_ |
OLD | NEW |