1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved.
2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file.
4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#import <Cocoa/Cocoa.h>
6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#import "base/mac/cocoa_protocols.h"
8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/file_path.h"
921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#import "chrome/browser/ui/cocoa/draggable_button.h"
10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch@class DownloadItemController;
12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// A button that is a drag source for a file and that displays a context menu
14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// instead of firing an action when clicked in a certain area.
15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch@interface DownloadItemButton : DraggableButton<NSMenuDelegate> {
16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch @private
17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  FilePath downloadPath_;
18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  DownloadItemController* controller_;  // weak
19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}
20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch@property(assign, nonatomic) FilePath download;
22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch@property(assign, nonatomic) DownloadItemController* controller;
23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Overridden from DraggableButton.
25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch- (void)beginDrag:(NSEvent*)event;
26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch@end
28