blob: 041dc82d7e290574be0c4492e6a03b897dc83782 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_COCOA_CONFIRM_BUBBLE_CONTROLLER_H_
#define CHROME_BROWSER_UI_COCOA_CONFIRM_BUBBLE_CONTROLLER_H_
#import <Cocoa/Cocoa.h>
#include "base/memory/scoped_ptr.h"
class ConfirmBubbleModel;
// A view controller that manages a bubble view and becomes a proxy between
// the view and the ConfirmBubbleModel object. This class is internally used
// in ShowConfirmBubble() and users do not have to change this class directly.
@interface ConfirmBubbleController :
NSViewController<NSTextViewDelegate> {
@private
NSView* parent_; // weak
CGPoint origin_;
scoped_ptr<ConfirmBubbleModel> model_;
}
// Creates a ConfirmBubbleController object. The ConfirmBubbleController
// controller takes the ownership of the passed-in ConfirmBubbleModel.
- (id)initWithParent:(NSView*)parent
origin:(CGPoint)origin
model:(ConfirmBubbleModel*)model;
// Access to the properties of the ConfirmBubbleModel object. These functions
// also converts C++ types returned by the ConfirmBubbleModel object to
// Objective-C types.
- (NSPoint)origin;
- (NSString*)title;
- (NSString*)messageText;
- (NSString*)linkText;
- (NSString*)okButtonText;
- (NSString*)cancelButtonText;
- (BOOL)hasOkButton;
- (BOOL)hasCancelButton;
- (NSImage*)icon;
// Handle actions from the ConfirmBubbleCocoa objet.
- (void)accept;
- (void)cancel;
- (void)linkClicked;
@end
#endif // CHROME_BROWSER_UI_COCOA_CONFIRM_BUBBLE_CONTROLLER_H_