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 #import <Cocoa/Cocoa.h> | 5 #import <Cocoa/Cocoa.h> |
6 | 6 |
| 7 #import "base/cocoa_protocols_mac.h" |
7 #include "base/scoped_nsobject.h" | 8 #include "base/scoped_nsobject.h" |
8 #include "base/scoped_ptr.h" | 9 #include "base/scoped_ptr.h" |
9 #import "chrome/browser/cocoa/view_resizer.h" | 10 #import "chrome/browser/cocoa/view_resizer.h" |
10 | 11 |
11 class BaseDownloadItemModel; | 12 class BaseDownloadItemModel; |
12 class Browser; | 13 class Browser; |
13 @class BrowserWindowController; | 14 @class BrowserWindowController; |
14 @class DownloadItemController; | 15 @class DownloadItemController; |
15 class DownloadShelf; | 16 class DownloadShelf; |
16 @class DownloadShelfView; | 17 @class DownloadShelfView; |
17 | 18 |
18 // A controller class that manages the download shelf for one window. It is | 19 // A controller class that manages the download shelf for one window. It is |
19 // responsible for the behavior of the shelf itself (showing/hiding, handling | 20 // responsible for the behavior of the shelf itself (showing/hiding, handling |
20 // the link, layout) as well as for managing the download items it contains. | 21 // the link, layout) as well as for managing the download items it contains. |
21 // | 22 // |
22 // All the files in cocoa/downloads_* are related as follows: | 23 // All the files in cocoa/downloads_* are related as follows: |
23 // | 24 // |
24 // download_shelf_mac bridges calls from chromium's c++ world to the objc | 25 // download_shelf_mac bridges calls from chromium's c++ world to the objc |
25 // download_shelf_controller for the shelf (this file). The shelf's background | 26 // download_shelf_controller for the shelf (this file). The shelf's background |
26 // is drawn by download_shelf_view. Every item in a shelf is controlled by a | 27 // is drawn by download_shelf_view. Every item in a shelf is controlled by a |
27 // download_item_controller. | 28 // download_item_controller. |
28 // | 29 // |
29 // download_item_mac bridges calls from chromium's c++ world to the objc | 30 // download_item_mac bridges calls from chromium's c++ world to the objc |
30 // download_item_controller, which is responsible for managing a single item | 31 // download_item_controller, which is responsible for managing a single item |
31 // on the shelf. The item controller loads its UI from a xib file, where the | 32 // on the shelf. The item controller loads its UI from a xib file, where the |
32 // UI of an item itself is represented by a button that is drawn by | 33 // UI of an item itself is represented by a button that is drawn by |
33 // download_item_cell. | 34 // download_item_cell. |
34 | 35 |
35 @interface DownloadShelfController : NSViewController { | 36 @interface DownloadShelfController : NSViewController<NSTextViewDelegate> { |
36 @private | 37 @private |
37 IBOutlet NSScrollView* linkContainer_; | 38 IBOutlet NSScrollView* linkContainer_; |
38 IBOutlet NSTextView* showAllDownloadsLink_; | 39 IBOutlet NSTextView* showAllDownloadsLink_; |
39 | 40 |
40 IBOutlet NSImageView* image_; | 41 IBOutlet NSImageView* image_; |
41 | 42 |
42 BOOL barIsVisible_; | 43 BOOL barIsVisible_; |
43 | 44 |
44 scoped_ptr<DownloadShelf> bridge_; | 45 scoped_ptr<DownloadShelf> bridge_; |
45 float shelfHeight_; | 46 float shelfHeight_; |
(...skipping 27 matching lines...) Expand all Loading... |
73 // Notification that we are closing and should release our downloads. | 74 // Notification that we are closing and should release our downloads. |
74 - (void)exiting; | 75 - (void)exiting; |
75 | 76 |
76 // Return the height of the download shelf. | 77 // Return the height of the download shelf. |
77 - (float)height; | 78 - (float)height; |
78 | 79 |
79 // Re-layouts all download items based on their current state. | 80 // Re-layouts all download items based on their current state. |
80 - (void)layoutItems; | 81 - (void)layoutItems; |
81 | 82 |
82 @end | 83 @end |
OLD | NEW |