| 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 |