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