Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(718)

Side by Side Diff: chrome/browser/cocoa/infobar_controller.h

Issue 2858028: [Mac] Base implementation of extension infobars on the mac.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #import "base/cocoa_protocols_mac.h"
8 #include "base/scoped_nsobject.h" 8 #include "base/scoped_nsobject.h"
9 9
10 @class AnimatableView; 10 @class AnimatableView;
11 @class HoverCloseButton; 11 @class HoverCloseButton;
(...skipping 26 matching lines...) Expand all
38 // Text fields don't work as well with embedded links as text views, but 38 // Text fields don't work as well with embedded links as text views, but
39 // text views cannot conveniently be created in IB. The xib file contains 39 // text views cannot conveniently be created in IB. The xib file contains
40 // a text field |labelPlaceholder_| that's replaced by this text view |label_| 40 // a text field |labelPlaceholder_| that's replaced by this text view |label_|
41 // in -awakeFromNib. 41 // in -awakeFromNib.
42 scoped_nsobject<NSTextView> label_; 42 scoped_nsobject<NSTextView> label_;
43 }; 43 };
44 44
45 // Initializes a new InfoBarController. 45 // Initializes a new InfoBarController.
46 - (id)initWithDelegate:(InfoBarDelegate*)delegate; 46 - (id)initWithDelegate:(InfoBarDelegate*)delegate;
47 47
48 // Called when someone clicks on the ok or cancel buttons. Subclasses 48 // Called when someone clicks on the OK or Cancel buttons. Subclasses
49 // must override if they do not hide the buttons. 49 // must override if they do not hide the buttons.
50 - (void)ok:(id)sender; 50 - (void)ok:(id)sender;
51 - (void)cancel:(id)sender; 51 - (void)cancel:(id)sender;
52 52
53 // Called when someone clicks on the close button. Dismisses the 53 // Called when someone clicks on the close button. Dismisses the
54 // infobar without taking any action. 54 // infobar without taking any action.
55 - (IBAction)dismiss:(id)sender; 55 - (IBAction)dismiss:(id)sender;
56 56
57 // Returns a pointer to this controller's view, cast as an AnimatableView. 57 // Returns a pointer to this controller's view, cast as an AnimatableView.
58 - (AnimatableView*)animatableView; 58 - (AnimatableView*)animatableView;
59 59
60 // Open or animate open the infobar. 60 // Open or animate open the infobar.
61 - (void)open; 61 - (void)open;
62 - (void)animateOpen; 62 - (void)animateOpen;
63 63
64 // Close or animate close the infobar. 64 // Close or animate close the infobar.
65 - (void)close; 65 - (void)close;
66 - (void)animateClosed; 66 - (void)animateClosed;
67 67
68 // Subclasses can override this method to add additional controls to 68 // Subclasses can override this method to add additional controls to
69 // the infobar view. This method is called by awakeFromNib. The 69 // the infobar view. This method is called by awakeFromNib. The
70 // default implementation does nothing. 70 // default implementation does nothing.
71 - (void)addAdditionalControls; 71 - (void)addAdditionalControls;
72 72
73 // Sets the info bar message to the specified |message|. 73 // Sets the info bar message to the specified |message|.
74 - (void)setLabelToMessage:(NSString*)message; 74 - (void)setLabelToMessage:(NSString*)message;
75 75
76 // Removes the OK and Cancel buttons and resizes the textfield to use the
77 // space.
78 - (void)removeButtons;
79
76 @property(nonatomic, assign) id<InfoBarContainer> containerController; 80 @property(nonatomic, assign) id<InfoBarContainer> containerController;
77 @property(nonatomic, readonly) InfoBarDelegate* delegate; 81 @property(nonatomic, readonly) InfoBarDelegate* delegate;
78 82
79 @end 83 @end
80 84
81 ///////////////////////////////////////////////////////////////////////// 85 /////////////////////////////////////////////////////////////////////////
82 // InfoBarController subclasses, one for each InfoBarDelegate 86 // InfoBarController subclasses, one for each InfoBarDelegate
83 // subclass. Each of these subclasses overrides addAdditionalControls to 87 // subclass. Each of these subclasses overrides addAdditionalControls to
84 // configure its view as necessary. 88 // configure its view as necessary.
85 89
86 @interface AlertInfoBarController : InfoBarController 90 @interface AlertInfoBarController : InfoBarController
87 @end 91 @end
88 92
89 93
90 @interface LinkInfoBarController : InfoBarController 94 @interface LinkInfoBarController : InfoBarController
91 // Called when there is a click on the link in the infobar. 95 // Called when there is a click on the link in the infobar.
92 - (void)linkClicked; 96 - (void)linkClicked;
93 @end 97 @end
94 98
95 99
96 @interface ConfirmInfoBarController : InfoBarController 100 @interface ConfirmInfoBarController : InfoBarController
97 // Called when the ok and cancel buttons are clicked. 101 // Called when the OK and Cancel buttons are clicked.
98 - (IBAction)ok:(id)sender; 102 - (IBAction)ok:(id)sender;
99 - (IBAction)cancel:(id)sender; 103 - (IBAction)cancel:(id)sender;
100 // Called when there is a click on the link in the infobar. 104 // Called when there is a click on the link in the infobar.
101 - (void)linkClicked; 105 - (void)linkClicked;
102 @end 106 @end
OLDNEW
« no previous file with comments | « chrome/browser/cocoa/extensions/extension_popup_controller.mm ('k') | chrome/browser/cocoa/infobar_controller.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698