• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CHROME_BROWSER_UI_COCOA_CONFIRM_BUBBLE_CONTROLLER_H_
6 #define CHROME_BROWSER_UI_COCOA_CONFIRM_BUBBLE_CONTROLLER_H_
7 
8 #import <Cocoa/Cocoa.h>
9 
10 #include "base/memory/scoped_ptr.h"
11 
12 class ConfirmBubbleModel;
13 
14 // A view controller that manages a bubble view and becomes a proxy between
15 // the view and the ConfirmBubbleModel object. This class is internally used
16 // in ShowConfirmBubble() and users do not have to change this class directly.
17 @interface ConfirmBubbleController :
18     NSViewController<NSTextViewDelegate> {
19  @private
20   NSView* parent_;  // weak
21   CGPoint origin_;
22   scoped_ptr<ConfirmBubbleModel> model_;
23 }
24 
25 // Creates a ConfirmBubbleController object. The ConfirmBubbleController
26 // controller takes the ownership of the passed-in ConfirmBubbleModel.
27 - (id)initWithParent:(NSView*)parent
28               origin:(CGPoint)origin
29                model:(ConfirmBubbleModel*)model;
30 
31 // Access to the properties of the ConfirmBubbleModel object. These functions
32 // also converts C++ types returned by the ConfirmBubbleModel object to
33 // Objective-C types.
34 - (NSPoint)origin;
35 - (NSString*)title;
36 - (NSString*)messageText;
37 - (NSString*)linkText;
38 - (NSString*)okButtonText;
39 - (NSString*)cancelButtonText;
40 - (BOOL)hasOkButton;
41 - (BOOL)hasCancelButton;
42 - (NSImage*)icon;
43 
44 // Handle actions from the ConfirmBubbleCocoa objet.
45 - (void)accept;
46 - (void)cancel;
47 - (void)linkClicked;
48 
49 @end
50 
51 #endif  // CHROME_BROWSER_UI_COCOA_CONFIRM_BUBBLE_CONTROLLER_H_
52